diff options
165 files changed, 22613 insertions, 7253 deletions
diff --git a/Makefile.common b/Makefile.common index 10ba53820d..161f50f059 100644 --- a/Makefile.common +++ b/Makefile.common @@ -287,6 +287,9 @@ endif ifdef ENABLE_SKY DIST_FILES_ENGINEDATA+=sky.cpt endif +ifdef ENABLE_SUPERNOVA +DIST_FILES_ENGINEDATA+=supernova.dat +endif ifdef ENABLE_TEENAGENT DIST_FILES_ENGINEDATA+=teenagent.dat endif @@ -964,6 +964,15 @@ Mouse Wheel: Scroll through items (inventory, etc) and conversation log Arrow Keys: Movement. Down arrow/back is only available if the given view explicitly has a backwards movement available. +Function Keys: +F1: Switch to Chat-O-Mat +F2: Switch to Personal Baggage +F3: Switch to Remote Thingummy +F4: Switch to Designer Room Numbers (chevron list) +F5: GMM save menu +F6: Switch to Real Life +F7: GMM restore menu + Controls for the Starfield Puzzle at the end of the game: Tab: Toggle between starmap and skyscape Mouse Click: skyscape star selection and @@ -1947,7 +1956,9 @@ versions. - Rename the saved game to 'simon2.xxx' Starship Titanic - - Rename the saved game to 'titanic-win.xxx' + - Rename the saved game to 'titanic-win.xxx' for saves from the English + version and 'titanic-win-de.xxx' for saves from the German version + - Saved games between different languages are not interchangeable The Feeble Files - Rename the saved game to 'feeble.xxx' diff --git a/audio/mods/protracker.cpp b/audio/mods/protracker.cpp index ce52b61e04..d486f02e89 100644 --- a/audio/mods/protracker.cpp +++ b/audio/mods/protracker.cpp @@ -101,15 +101,13 @@ private: void doPorta(int track) { if (_track[track].portaToNote && _track[track].portaToNoteSpeed) { - if (_track[track].period < _track[track].portaToNote) { - _track[track].period += _track[track].portaToNoteSpeed; - if (_track[track].period > _track[track].portaToNote) - _track[track].period = _track[track].portaToNote; - } else if (_track[track].period > _track[track].portaToNote) { - _track[track].period -= _track[track].portaToNoteSpeed; - if (_track[track].period < _track[track].portaToNote) - _track[track].period = _track[track].portaToNote; - } + int distance = _track[track].period - _track[track].portaToNote; + int sign = distance > 0 ? 1 : -1; + + if ((sign * distance) > _track[track].portaToNoteSpeed) + _track[track].period -= sign * _track[track].portaToNoteSpeed; + else + _track[track].period = _track[track].portaToNote; } } void doVibrato(int track) { diff --git a/backends/events/psp2sdl/psp2sdl-events.cpp b/backends/events/psp2sdl/psp2sdl-events.cpp index 4ea528b00f..3f447b7435 100644 --- a/backends/events/psp2sdl/psp2sdl-events.cpp +++ b/backends/events/psp2sdl/psp2sdl-events.cpp @@ -25,6 +25,7 @@ #if defined(PSP2) #include <psp2/kernel/processmgr.h> +#include <psp2/touch.h> #include "backends/platform/sdl/psp2/psp2.h" #include "backends/events/psp2sdl/psp2sdl-events.h" #include "backends/platform/sdl/sdl.h" @@ -36,11 +37,260 @@ #include "math.h" +PSP2EventSource::PSP2EventSource() { + for (int i = 0; i < SCE_TOUCH_PORT_MAX_NUM; i++) { + for (int j = 0; j < MAX_NUM_FINGERS; j++) { + _finger[i][j].id = -1; + } + } +} + void PSP2EventSource::preprocessEvents(SDL_Event *event) { - // prevent suspend (scummvm games contains a lot of cutscenes..) + // prevent suspend (scummvm games contain a lot of cutscenes..) sceKernelPowerTick(SCE_KERNEL_POWER_TICK_DISABLE_AUTO_SUSPEND); sceKernelPowerTick(SCE_KERNEL_POWER_TICK_DISABLE_OLED_OFF); + + // Supported touch gestures: + // left mouse click: single finger short tap + // right mouse click: second finger short tap while first finger is still down + // pointer motion: single finger drag + if (event->type == SDL_FINGERDOWN || event->type == SDL_FINGERUP || event->type == SDL_FINGERMOTION) { + // front (0) or back (1) panel + SDL_TouchID port = event->tfinger.touchId; + if (port < SCE_TOUCH_PORT_MAX_NUM && port >= 0) { + // touchpad_mouse_mode off: use only front panel for direct touch control of pointer + // touchpad_mouse_mode on: also enable rear touch with indirect touch control + // where the finger can be somewhere else than the pointer and still move it + if (port == 0 || ConfMan.getBool("touchpad_mouse_mode")) { + switch (event->type) { + case SDL_FINGERDOWN: + preprocessFingerDown(event); + break; + case SDL_FINGERUP: + preprocessFingerUp(event); + break; + case SDL_FINGERMOTION: + preprocessFingerMotion(event); + break; + } + } + } + } +} + +void PSP2EventSource::preprocessFingerDown(SDL_Event *event) { + // front (0) or back (1) panel + SDL_TouchID port = event->tfinger.touchId; + // id (for multitouch) + SDL_FingerID id = event->tfinger.fingerId; + + // find out how many fingers were down before this event + int numFingersDown = 0; + for (int i = 0; i < MAX_NUM_FINGERS; i++) { + if (_finger[port][i].id >= 0) { + numFingersDown++; + } + } + + for (int i = 0; i < MAX_NUM_FINGERS; i++) { + if (_finger[port][i].id == -1) { + _finger[port][i].id = id; + _finger[port][i].timeLastDown = event->tfinger.timestamp; + break; + } + } +} + +void PSP2EventSource::preprocessFingerUp(SDL_Event *event) { + // front (0) or back (1) panel + SDL_TouchID port = event->tfinger.touchId; + // id (for multitouch) + SDL_FingerID id = event->tfinger.fingerId; + + // find out how many fingers were down before this event + int numFingersDown = 0; + for (int i = 0; i < MAX_NUM_FINGERS; i++) { + if (_finger[port][i].id >= 0) { + numFingersDown++; + } + } + + int x = _km.x / MULTIPLIER; + int y = _km.y / MULTIPLIER; + + if (port == 0) { + convertTouchXYToGameXY(event->tfinger.x, event->tfinger.y, &x, &y); + } + + for (int i = 0; i < MAX_NUM_FINGERS; i++) { + if (_finger[port][i].id == id) { + _finger[port][i].id = -1; + if ((event->tfinger.timestamp - _finger[port][i].timeLastDown) <= 250) { + // short (<250 ms) tap is interpreted as right/left mouse click depending on # fingers already down + if (numFingersDown == 2 || numFingersDown == 1) { + Uint8 simulatedButton = 0; + if (numFingersDown == 2) { + simulatedButton = SDL_BUTTON_RIGHT; + } else if (numFingersDown == 1) { + simulatedButton = SDL_BUTTON_LEFT; + } + + event->type = SDL_MOUSEBUTTONDOWN; + event->button.button = simulatedButton; + event->button.x = x; + event->button.y = y; + + SDL_Event ev; + ev.type = SDL_MOUSEBUTTONUP; + ev.button.button = simulatedButton; + ev.button.x = x; + ev.button.y = y; + SDL_PushEvent(&ev); + } + } + } + } +} + +void PSP2EventSource::preprocessFingerMotion(SDL_Event *event) { + // front (0) or back (1) panel + SDL_TouchID port = event->tfinger.touchId; + + // find out how many fingers were down before this event + int numFingersDown = 0; + for (int i = 0; i < MAX_NUM_FINGERS; i++) { + if (_finger[port][i].id >= 0) { + numFingersDown++; + } + } + + if (numFingersDown == 1) { + + int x = _km.x / MULTIPLIER; + int y = _km.y / MULTIPLIER; + + if (port == 0) { + convertTouchXYToGameXY(event->tfinger.x, event->tfinger.y, &x, &y); + } else { + // for relative mode, use the pointer speed setting + float speedFactor = 1.0; + + switch (ConfMan.getInt("kbdmouse_speed")) { + // 0.25 keyboard pointer speed + case 0: + speedFactor = 0.25; + break; + // 0.5 speed + case 1: + speedFactor = 0.5; + break; + // 0.75 speed + case 2: + speedFactor = 0.75; + break; + // 1.0 speed + case 3: + speedFactor = 1.0; + break; + // 1.25 speed + case 4: + speedFactor = 1.25; + break; + // 1.5 speed + case 5: + speedFactor = 1.5; + break; + // 1.75 speed + case 6: + speedFactor = 1.75; + break; + // 2.0 speed + case 7: + speedFactor = 2.0; + break; + default: + speedFactor = 1.0; + } + + // convert touch events to relative mouse pointer events + // Whenever an SDL_event involving the mouse is processed, + // _km.x/y are truncated from subpixel precision to regular pixel precision. + // Therefore, there's no need here to deal with subpixel precision in _km.x/y. + x = (_km.x / MULTIPLIER + (event->tfinger.dx * 1.25 * speedFactor * _km.x_max)); + y = (_km.y / MULTIPLIER + (event->tfinger.dy * 1.25 * speedFactor * _km.y_max)); + } + + if (x > _km.x_max) { + x = _km.x_max; + } else if (x < 0) { + x = 0; + } + if (y > _km.y_max) { + y = _km.y_max; + } else if (y < 0) { + y = 0; + } + + event->type = SDL_MOUSEMOTION; + event->motion.x = x; + event->motion.y = y; + } +} + +void PSP2EventSource::convertTouchXYToGameXY(float touchX, float touchY, int *gameX, int *gameY) { + int screenWidth = 960; + int screenHeight = 544; + // Find touch coordinates in terms of Vita screen pixels + int screenTouchX = (int) (touchX * (float)screenWidth); + int screenTouchY = (int) (touchY * (float)screenHeight); + + // Find four corners of game screen in Vita screen coordinates + // This depends on the fullscreen and aspect ratio correction settings (at least on Vita) + + int gameXMin = 0; + int gameXMax = 0; + int gameYMin = 0; + int gameYMax = 0; + float aspectRatio = 4.0 / 3.0; + + // vertical + if (ConfMan.getBool("fullscreen")) { + gameYMin = 0; + gameYMax = screenHeight; + } else { + if (_km.y_max <= 272) { + gameYMin = (screenHeight - (_km.y_max * 2)) / 2; + gameYMax = screenHeight - gameYMin; + } else { + gameYMin = (screenHeight - (_km.y_max)) / 2; + gameYMax = screenHeight - gameYMin; + } + } + // horizontal + if (ConfMan.getBool("aspect_ratio")) { + aspectRatio = 4.0/3.0; + } else { + aspectRatio = (float)_km.x_max / (float)_km.y_max; + } + gameXMin = (960 - ((float)(gameYMax - gameYMin) * aspectRatio)) / 2; + gameXMax = 960 - gameXMin; + + // find game pixel coordinates corresponding to front panel touch coordinates + int x = ((screenTouchX - gameXMin) * _km.x_max) / (gameXMax - gameXMin); + int y = ((screenTouchY - gameYMin) * _km.y_max) / (gameYMax - gameYMin); + + if (x < 0) { + x = 0; + } else if (x > _km.x_max) { + x = _km.x_max; + } else if (y < 0) { + y = 0; + } else if (y > _km.y_max) { + y = _km.y_max; + } + *gameX = x; + *gameY = y; } #endif diff --git a/backends/events/psp2sdl/psp2sdl-events.h b/backends/events/psp2sdl/psp2sdl-events.h index 5593e8a504..42101fefe9 100644 --- a/backends/events/psp2sdl/psp2sdl-events.h +++ b/backends/events/psp2sdl/psp2sdl-events.h @@ -24,13 +24,32 @@ #define BACKEND_EVENTS_PSP2_H #include "backends/events/sdl/sdl-events.h" +#include <psp2/touch.h> /** * SDL Events manager for the PSP2. */ class PSP2EventSource : public SdlEventSource { +public: + PSP2EventSource(); protected: - void preprocessEvents(SDL_Event *event); + void preprocessEvents(SDL_Event *event) override; +private: + typedef struct { + int id; // -1: no touch + int timeLastDown; + } Touch; + + enum { + MAX_NUM_FINGERS = 3, + }; // track three fingers per panel + Touch _finger[SCE_TOUCH_PORT_MAX_NUM][MAX_NUM_FINGERS]; // keep track of finger status + + void preprocessFingerDown(SDL_Event *event); + void preprocessFingerUp(SDL_Event *event); + void preprocessFingerMotion(SDL_Event *event); + void convertTouchXYToGameXY(float touchX, float touchY, int *gameX, int *gameY); + SceTouchPanelInfo panelInfo; }; #endif /* BACKEND_EVENTS_PSP2_H */ diff --git a/backends/events/symbiansdl/symbiansdl-events.cpp b/backends/events/symbiansdl/symbiansdl-events.cpp index 0ae5824681..fde748f444 100644 --- a/backends/events/symbiansdl/symbiansdl-events.cpp +++ b/backends/events/symbiansdl/symbiansdl-events.cpp @@ -124,7 +124,7 @@ bool SymbianSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { if (ev.type == SDL_KEYDOWN) { for (int i = 0; i < TOTAL_ZONES; i++) if ( (_km.x / MULTIPLIER) >= _zones[i].x && (_km.y / MULTIPLIER) >= _zones[i].y && - (_km.x / MULTIPLIER) <= _zones[i].x + _zones[i].width && (_km.y / MULTIPLIER <= _zones[i].y + _zones[i].height + (_km.x / MULTIPLIER) <= _zones[i].x + _zones[i].width && (_km.y / MULTIPLIER <= _zones[i].y + _zones[i].height) ) { _mouseXZone[i] = _km.x / MULTIPLIER; _mouseYZone[i] = _km.y / MULTIPLIER; diff --git a/backends/graphics/psp2sdl/psp2sdl-graphics.cpp b/backends/graphics/psp2sdl/psp2sdl-graphics.cpp index 4be48b55e0..28e1e71332 100644 --- a/backends/graphics/psp2sdl/psp2sdl-graphics.cpp +++ b/backends/graphics/psp2sdl/psp2sdl-graphics.cpp @@ -214,229 +214,6 @@ void PSP2SdlGraphicsManager::updateShader() { } } -void PSP2SdlGraphicsManager::internUpdateScreen() { - SDL_Surface *srcSurf, *origSurf; - int height, width; - ScalerProc *scalerProc; - int scale1; - - // definitions not available for non-DEBUG here. (needed this to compile in SYMBIAN32 & linux?) -#if defined(DEBUG) - assert(_hwScreen != NULL); - assert(_hwScreen->map->sw_data != NULL); -#endif - - // If the shake position changed, fill the dirty area with blackness - if (_currentShakePos != _newShakePos || - (_cursorNeedsRedraw && _mouseBackup.y <= _currentShakePos)) { - SDL_Rect blackrect = {0, 0, (Uint16)(_videoMode.screenWidth * _videoMode.scaleFactor), (Uint16)(_newShakePos * _videoMode.scaleFactor)}; - - if (_videoMode.aspectRatioCorrection && !_overlayVisible) - blackrect.h = real2Aspect(blackrect.h - 1) + 1; - - SDL_FillRect(_hwScreen, &blackrect, 0); - - _currentShakePos = _newShakePos; - - _forceRedraw = true; - } - - // Check whether the palette was changed in the meantime and update the - // screen surface accordingly. - if (_screen && _paletteDirtyEnd != 0) { - SDL_SetColors(_screen, _currentPalette + _paletteDirtyStart, - _paletteDirtyStart, - _paletteDirtyEnd - _paletteDirtyStart); - - _paletteDirtyEnd = 0; - - _forceRedraw = true; - } - - if (!_overlayVisible) { - origSurf = _screen; - srcSurf = _tmpscreen; - width = _videoMode.screenWidth; - height = _videoMode.screenHeight; - scalerProc = _scalerProc; - scale1 = _videoMode.scaleFactor; - } else { - origSurf = _overlayscreen; - srcSurf = _tmpscreen2; - width = _videoMode.overlayWidth; - height = _videoMode.overlayHeight; - scalerProc = Normal1x; - - scale1 = 1; - } - - // Add the area covered by the mouse cursor to the list of dirty rects if - // we have to redraw the mouse. - if (_cursorNeedsRedraw) - undrawMouse(); - -#ifdef USE_OSD - updateOSD(); -#endif - - // Force a full redraw if requested - if (_forceRedraw) { - _numDirtyRects = 1; - _dirtyRectList[0].x = 0; - _dirtyRectList[0].y = 0; - _dirtyRectList[0].w = width; - _dirtyRectList[0].h = height; - } - - // Only draw anything if necessary - if (_numDirtyRects > 0 || _cursorNeedsRedraw) { - SDL_Rect *r; - SDL_Rect dst; - uint32 srcPitch, dstPitch; - SDL_Rect *lastRect = _dirtyRectList + _numDirtyRects; - - for (r = _dirtyRectList; r != lastRect; ++r) { - dst = *r; - dst.x++; // Shift rect by one since 2xSai needs to access the data around - dst.y++; // any pixel to scale it, and we want to avoid mem access crashes. - - if (SDL_BlitSurface(origSurf, r, srcSurf, &dst) != 0) - error("SDL_BlitSurface failed: %s", SDL_GetError()); - } - - SDL_LockSurface(srcSurf); - srcPitch = srcSurf->pitch; - dstPitch = _hwScreen->pitch; - - for (r = _dirtyRectList; r != lastRect; ++r) { - register int dst_y = r->y + _currentShakePos; - register int dst_h = 0; -#ifdef USE_SCALERS - register int orig_dst_y = 0; -#endif - register int rx1 = r->x * scale1; - - if (dst_y < height) { - dst_h = r->h; - if (dst_h > height - dst_y) - dst_h = height - dst_y; - -#ifdef USE_SCALERS - orig_dst_y = dst_y; -#endif - dst_y = dst_y * scale1; - - if (_videoMode.aspectRatioCorrection && !_overlayVisible) - dst_y = real2Aspect(dst_y); - - assert(scalerProc != NULL); - scalerProc((byte *)srcSurf->pixels + (r->x * 2 + 2) + (r->y + 1) * srcPitch, srcPitch, - (byte *)_hwScreen->pixels + rx1 * 2 + dst_y * dstPitch, dstPitch, r->w, dst_h); - } - - r->x = rx1; - r->y = dst_y; - r->w = r->w * scale1; - r->h = dst_h * scale1; - -#ifdef USE_SCALERS - if (_videoMode.aspectRatioCorrection && orig_dst_y < height && !_overlayVisible) - r->h = stretch200To240((uint8 *) _hwScreen->pixels, dstPitch, r->w, r->h, r->x, r->y, orig_dst_y * scale1); -#endif - } - SDL_UnlockSurface(srcSurf); - // Readjust the dirty rect list in case we are doing a full update. - // This is necessary if shaking is active. - if (_forceRedraw) { - _dirtyRectList[0].y = 0; - _dirtyRectList[0].h = _videoMode.hardwareHeight; - } - - drawMouse(); - -#ifdef USE_OSD - drawOSD(); -#endif - -#ifdef USE_SDL_DEBUG_FOCUSRECT - // We draw the focus rectangle on top of everything, to assure it's easily visible. - // Of course when the overlay is visible we do not show it, since it is only for game - // specific focus. - if (_enableFocusRect && !_overlayVisible) { - int y = _focusRect.top + _currentShakePos; - int h = 0; - int x = _focusRect.left * scale1; - int w = _focusRect.width() * scale1; - - if (y < height) { - h = _focusRect.height(); - if (h > height - y) - h = height - y; - - y *= scale1; - - if (_videoMode.aspectRatioCorrection && !_overlayVisible) - y = real2Aspect(y); - - if (h > 0 && w > 0) { - // Use white as color for now. - Uint32 rectColor = SDL_MapRGB(_hwScreen->format, 0xFF, 0xFF, 0xFF); - - // First draw the top and bottom lines - // then draw the left and right lines - if (_hwScreen->format->BytesPerPixel == 2) { - uint16 *top = (uint16 *)((byte *)_hwScreen->pixels + y * _hwScreen->pitch + x * 2); - uint16 *bottom = (uint16 *)((byte *)_hwScreen->pixels + (y + h) * _hwScreen->pitch + x * 2); - byte *left = ((byte *)_hwScreen->pixels + y * _hwScreen->pitch + x * 2); - byte *right = ((byte *)_hwScreen->pixels + y * _hwScreen->pitch + (x + w - 1) * 2); - - while (w--) { - *top++ = rectColor; - *bottom++ = rectColor; - } - - while (h--) { - *(uint16 *)left = rectColor; - *(uint16 *)right = rectColor; - - left += _hwScreen->pitch; - right += _hwScreen->pitch; - } - } else if (_hwScreen->format->BytesPerPixel == 4) { - uint32 *top = (uint32 *)((byte *)_hwScreen->pixels + y * _hwScreen->pitch + x * 4); - uint32 *bottom = (uint32 *)((byte *)_hwScreen->pixels + (y + h) * _hwScreen->pitch + x * 4); - byte *left = ((byte *)_hwScreen->pixels + y * _hwScreen->pitch + x * 4); - byte *right = ((byte *)_hwScreen->pixels + y * _hwScreen->pitch + (x + w - 1) * 4); - - while (w--) { - *top++ = rectColor; - *bottom++ = rectColor; - } - - while (h--) { - *(uint32 *)left = rectColor; - *(uint32 *)right = rectColor; - - left += _hwScreen->pitch; - right += _hwScreen->pitch; - } - } - } - } - } -#endif - - // Finally, blit all our changes to the screen - if (!_displayDisabled) { - PSP2_UpdateRects(_hwScreen, _numDirtyRects, _dirtyRectList); - } - } - - _numDirtyRects = 0; - _forceRedraw = false; - _cursorNeedsRedraw = false; -} - void PSP2SdlGraphicsManager::setAspectRatioCorrection(bool enable) { Common::StackLock lock(_graphicsMutex); @@ -473,7 +250,7 @@ SDL_Surface *PSP2SdlGraphicsManager::SDL_SetVideoMode(int width, int height, int return screen; } -void PSP2SdlGraphicsManager::PSP2_UpdateRects(SDL_Surface *screen, int numrects, SDL_Rect *rects) { +void PSP2SdlGraphicsManager::SDL_UpdateRects(SDL_Surface *screen, int numrects, SDL_Rect *rects) { int x, y, w, h; float sx, sy; float ratio = (float)screen->w / (float)screen->h; diff --git a/backends/graphics/psp2sdl/psp2sdl-graphics.h b/backends/graphics/psp2sdl/psp2sdl-graphics.h index 0cabeb094d..3264323d1e 100644 --- a/backends/graphics/psp2sdl/psp2sdl-graphics.h +++ b/backends/graphics/psp2sdl/psp2sdl-graphics.h @@ -39,11 +39,10 @@ protected: virtual void unloadGFXMode() override; virtual bool hotswapGFXMode() override; - virtual void internUpdateScreen() override; virtual void updateShader() override; virtual void setAspectRatioCorrection(bool enable) override; virtual SDL_Surface *SDL_SetVideoMode(int width, int height, int bpp, Uint32 flags) override; - void PSP2_UpdateRects(SDL_Surface *screen, int numrects, SDL_Rect *rects); + virtual void SDL_UpdateRects(SDL_Surface *screen, int numrects, SDL_Rect *rects) override; void PSP2_UpdateFiltering(); bool _hardwareAspectRatioCorrection; diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.h b/backends/graphics/surfacesdl/surfacesdl-graphics.h index 60f5d29f55..9e8e75772d 100644 --- a/backends/graphics/surfacesdl/surfacesdl-graphics.h +++ b/backends/graphics/surfacesdl/surfacesdl-graphics.h @@ -188,7 +188,7 @@ protected: void recreateScreenTexture(); virtual SDL_Surface *SDL_SetVideoMode(int width, int height, int bpp, Uint32 flags); - void SDL_UpdateRects(SDL_Surface *screen, int numrects, SDL_Rect *rects); + virtual void SDL_UpdateRects(SDL_Surface *screen, int numrects, SDL_Rect *rects); #endif /** Unseen game screen */ diff --git a/backends/keymapper/remap-dialog.cpp b/backends/keymapper/remap-dialog.cpp index 3aa3647048..9c52a922c5 100644 --- a/backends/keymapper/remap-dialog.cpp +++ b/backends/keymapper/remap-dialog.cpp @@ -267,7 +267,7 @@ void RemapDialog::startRemapping(uint i) { _remapTimeout = g_system->getMillis() + kRemapTimeoutDelay; Action *activeRemapAction = _currentActions[_topAction + i].action; _keymapWidgets[i].keyButton->setLabel("..."); - _keymapWidgets[i].keyButton->draw(); + _keymapWidgets[i].keyButton->markAsDirty(); _keymapper->startRemappingMode(activeRemapAction); } @@ -414,8 +414,8 @@ void RemapDialog::refreshKeymap() { _topAction = newTopAction; - //_container->draw(); - _scrollBar->draw(); + //_container->markAsDirty(); + _scrollBar->markAsDirty(); uint actionI = _topAction; @@ -446,12 +446,12 @@ void RemapDialog::refreshKeymap() { widg.keyButton->setVisible(false); widg.clearButton->setVisible(false); } - //widg.actionText->draw(); - //widg.keyButton->draw(); + //widg.actionText->markAsDirty(); + //widg.keyButton->markAsDirty(); } // need to redraw entire Dialog so that invisible // widgets disappear - draw(); + g_gui.scheduleTopDialogRedraw(); } diff --git a/backends/platform/androidsdl/androidsdl.mk b/backends/platform/androidsdl/androidsdl.mk index 53c0d27666..cf6ab6a930 100644 --- a/backends/platform/androidsdl/androidsdl.mk +++ b/backends/platform/androidsdl/androidsdl.mk @@ -4,8 +4,8 @@ androidsdl: $(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(DIST_FILES_ENGINEDATA) release $(INSTALL) -c -m 644 $(DIST_FILES_DOCS) release $(CP) $(srcdir)/backends/vkeybd/packs/vkeybd_default.zip release - zip -j scummvm_1_10_0-git-appdata.zip release/* - split -d -b 1000000 scummvm_1_10_0-git-appdata.zip scummvm_1_10_0-git-appdata.zip0 - $(RM) -r scummvm_1_10_0-git-appdata.zip + zip -j scummvm_2_1_0-git-appdata.zip release/* + split -d -b 1000000 scummvm_2_1_0-git-appdata.zip scummvm_2_1_0-git-appdata.zip0 + $(RM) -r scummvm_2_1_0-git-appdata.zip .PHONY: androidsdl diff --git a/backends/platform/maemo/maemo.cpp b/backends/platform/maemo/maemo.cpp index dc1054940e..326c35a28f 100644 --- a/backends/platform/maemo/maemo.cpp +++ b/backends/platform/maemo/maemo.cpp @@ -108,8 +108,6 @@ void OSystem_SDL_Maemo::initBackend() { _keymapperDefaultBindings = new Common::KeymapperDefaultBindings(); #endif - ConfMan.set("vkeybdpath", DATA_PATH); - _model = detectModel(); #ifdef ENABLE_KEYMAPPER diff --git a/backends/platform/null/null.cpp b/backends/platform/null/null.cpp index a5eea06f7a..be50fde27c 100644 --- a/backends/platform/null/null.cpp +++ b/backends/platform/null/null.cpp @@ -47,6 +47,8 @@ #include "backends/fs/amigaos4/amigaos4-fs-factory.h" #elif defined(POSIX) #include "backends/fs/posix/posix-fs-factory.h" +#elif defined(RISCOS) + #include "backends/fs/riscos/riscos-fs-factory.h" #elif defined(WIN32) #include "backends/fs/windows/windows-fs-factory.h" #endif @@ -73,6 +75,8 @@ OSystem_NULL::OSystem_NULL() { _fsFactory = new AmigaOSFilesystemFactory(); #elif defined(POSIX) _fsFactory = new POSIXFilesystemFactory(); + #elif defined(RISCOS) + _fsFactory = new RISCOSFilesystemFactory(); #elif defined(WIN32) _fsFactory = new WindowsFilesystemFactory(); #else diff --git a/backends/platform/sdl/posix/posix-main.cpp b/backends/platform/sdl/posix/posix-main.cpp index e378c37849..92354b273e 100644 --- a/backends/platform/sdl/posix/posix-main.cpp +++ b/backends/platform/sdl/posix/posix-main.cpp @@ -22,7 +22,7 @@ #include "common/scummsys.h" -#if defined(POSIX) && !defined(MACOSX) && !defined(SAMSUNGTV) && !defined(MAEMO) && !defined(WEBOS) && !defined(LINUXMOTO) && !defined(GPH_DEVICE) && !defined(GP2X) && !defined(DINGUX) && !defined(OPENPANDORA) && !defined(PLAYSTATION3) && !defined(PSP2) && !defined(ANDROIDSDL) && !defined(RISCOS) +#if defined(POSIX) && !defined(MACOSX) && !defined(SAMSUNGTV) && !defined(MAEMO) && !defined(WEBOS) && !defined(LINUXMOTO) && !defined(GPH_DEVICE) && !defined(GP2X) && !defined(DINGUX) && !defined(OPENPANDORA) && !defined(PLAYSTATION3) && !defined(PSP2) && !defined(ANDROIDSDL) #include "backends/platform/sdl/posix/posix.h" #include "backends/plugins/sdl/sdl-provider.h" diff --git a/backends/platform/sdl/ps3/ps3.cpp b/backends/platform/sdl/ps3/ps3.cpp index 0bb8300014..b13088afd3 100644 --- a/backends/platform/sdl/ps3/ps3.cpp +++ b/backends/platform/sdl/ps3/ps3.cpp @@ -59,7 +59,6 @@ void OSystem_PS3::init() { void OSystem_PS3::initBackend() { ConfMan.set("joystick_num", 0); - ConfMan.set("vkeybdpath", PREFIX "/data"); ConfMan.registerDefault("fullscreen", true); ConfMan.registerDefault("aspect_ratio", true); diff --git a/backends/platform/sdl/psp2/psp2.cpp b/backends/platform/sdl/psp2/psp2.cpp index 12154ba7d0..29be31f267 100644 --- a/backends/platform/sdl/psp2/psp2.cpp +++ b/backends/platform/sdl/psp2/psp2.cpp @@ -73,7 +73,6 @@ void OSystem_PSP2::init() { void OSystem_PSP2::initBackend() { ConfMan.set("joystick_num", 0); - ConfMan.set("vkeybdpath", PREFIX "/data"); ConfMan.registerDefault("fullscreen", true); ConfMan.registerDefault("aspect_ratio", false); ConfMan.registerDefault("gfx_mode", "2x"); @@ -81,6 +80,7 @@ void OSystem_PSP2::initBackend() { ConfMan.registerDefault("kbdmouse_speed", 3); ConfMan.registerDefault("joystick_deadzone", 2); ConfMan.registerDefault("shader", 0); + ConfMan.registerDefault("touchpad_mouse_mode", false); if (!ConfMan.hasKey("fullscreen")) { ConfMan.setBool("fullscreen", true); @@ -97,7 +97,10 @@ void OSystem_PSP2::initBackend() { if (!ConfMan.hasKey("shader")) { ConfMan.setInt("shader", 2); } - + if (!ConfMan.hasKey("touchpad_mouse_mode")) { + ConfMan.setBool("touchpad_mouse_mode", false); + } + // Create the savefile manager if (_savefileManager == 0) _savefileManager = new DefaultSaveFileManager("ux0:data/scummvm/saves"); @@ -126,9 +129,30 @@ bool OSystem_PSP2::hasFeature(Feature f) { return (f == kFeatureKbdMouseSpeed || f == kFeatureJoystickDeadzone || f == kFeatureShader || + f == kFeatureTouchpadMode || OSystem_SDL::hasFeature(f)); } +void OSystem_PSP2::setFeatureState(Feature f, bool enable) { + switch (f) { + case kFeatureTouchpadMode: + ConfMan.setBool("touchpad_mouse_mode", enable); + break; + } + OSystem_SDL::setFeatureState(f, enable); +} + +bool OSystem_PSP2::getFeatureState(Feature f) { + switch (f) { + case kFeatureTouchpadMode: + return ConfMan.getBool("touchpad_mouse_mode"); + break; + default: + return OSystem_SDL::getFeatureState(f); + break; + } +} + void OSystem_PSP2::logMessage(LogMessageType::Type type, const char *message) { #if __PSP2_DEBUG__ psp2shell_print(message); diff --git a/backends/platform/sdl/psp2/psp2.h b/backends/platform/sdl/psp2/psp2.h index 65d98098be..db9140e4c1 100644 --- a/backends/platform/sdl/psp2/psp2.h +++ b/backends/platform/sdl/psp2/psp2.h @@ -34,19 +34,21 @@ public: OSystem_PSP2(Common::String baseConfigName = "scummvm.ini"); virtual ~OSystem_PSP2() {} - virtual void init(); - virtual void initBackend(); - virtual bool hasFeature(Feature f); - virtual void logMessage(LogMessageType::Type type, const char *message); + virtual void init() override; + virtual void initBackend() override; + virtual bool hasFeature(Feature f) override; + virtual void setFeatureState(Feature f, bool enable) override; + virtual bool getFeatureState(Feature f) override; + virtual void logMessage(LogMessageType::Type type, const char *message) override; protected: // Base string for creating the default path and filename // for the configuration file Common::String _baseConfigName; - virtual Common::String getDefaultConfigFileName(); + virtual Common::String getDefaultConfigFileName() override; - virtual Common::WriteStream *createLogFile(); + virtual Common::WriteStream *createLogFile() override; }; #endif diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg index 30d2aa3db6..7dc58f4a61 100644 --- a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg +++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg @@ -33,7 +33,7 @@ :"ScummVM" ; UID is the app's UID -#{"ScummVM S60v3"},(0xA0000657),1,80,0 +#{"ScummVM S60v3"},(0xA0000657),2,00,0 ;Supports Series 60 v 3.0 [0x101F7961], 0, 0, 0, {"Series60ProductID"} diff --git a/backends/platform/symbian/src/portdefs.h b/backends/platform/symbian/src/portdefs.h index f9e0d04064..7729145eac 100644 --- a/backends/platform/symbian/src/portdefs.h +++ b/backends/platform/symbian/src/portdefs.h @@ -30,9 +30,17 @@ #include <stdlib.h> #include <stdio.h> #include <unistd.h> -#include <e32def.h> +#if (__GNUC__ && __cplusplus) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wreturn-local-addr" +#endif +#include <e32def.h> #include <e32std.h> +#if (__GNUC__ && __cplusplus) +#pragma GCC diagnostic pop +#endif + #include <libc\math.h> /* define pi */ @@ -53,6 +61,17 @@ typedef unsigned short int uint16; typedef signed short int int16; typedef unsigned long int uint32; typedef signed long int int32; +typedef signed long long int64; +typedef unsigned long long uint64; + +#ifdef __cplusplus +namespace std + { + + using ::size_t; + + } // namespace std +#endif // Define SCUMMVM_DONT_DEFINE_TYPES to prevent scummsys.h from trying to // re-define those data types. diff --git a/backends/vkeybd/virtual-keyboard.cpp b/backends/vkeybd/virtual-keyboard.cpp index 80d7313a8c..267448c859 100644 --- a/backends/vkeybd/virtual-keyboard.cpp +++ b/backends/vkeybd/virtual-keyboard.cpp @@ -38,21 +38,21 @@ namespace Common { -VirtualKeyboard::VirtualKeyboard() : _currentMode(0) { +VirtualKeyboard::VirtualKeyboard() : + _currentMode(nullptr), + _fileArchive(nullptr, DisposeAfterUse::NO) { assert(g_system); _system = g_system; _parser = new VirtualKeyboardParser(this); _kbdGUI = new VirtualKeyboardGUI(this); _submitKeys = _loaded = false; - _fileArchive = 0; } VirtualKeyboard::~VirtualKeyboard() { deleteEvents(); delete _kbdGUI; delete _parser; - delete _fileArchive; } void VirtualKeyboard::deleteEvents() { @@ -74,33 +74,31 @@ void VirtualKeyboard::reset() { _kbdGUI->reset(); } -bool VirtualKeyboard::openPack(const String &packName, const FSNode &node) { - if (node.getChild(packName + ".xml").exists()) { - _fileArchive = new FSDirectory(node, 1); +bool VirtualKeyboard::openPack(const String &packName, Archive *searchPath, DisposeAfterUse::Flag disposeSearchPath) { + if (searchPath->hasFile(packName + ".xml")) { + _fileArchive.reset(searchPath, disposeSearchPath); // uncompressed keyboard pack - if (!_parser->loadFile(node.getChild(packName + ".xml"))) { - delete _fileArchive; - _fileArchive = 0; + if (!_parser->loadStream(searchPath->createReadStreamForMember(packName + ".xml"))) { + _fileArchive.reset(); return false; } return true; } - if (node.getChild(packName + ".zip").exists()) { + if (searchPath->hasFile(packName + ".zip")) { // compressed keyboard pack - _fileArchive = makeZipArchive(node.getChild(packName + ".zip")); + Archive *zip = makeZipArchive(searchPath->createReadStreamForMember(packName + ".zip")); + _fileArchive.reset(zip, DisposeAfterUse::YES); if (_fileArchive && _fileArchive->hasFile(packName + ".xml")) { if (!_parser->loadStream(_fileArchive->createReadStreamForMember(packName + ".xml"))) { - delete _fileArchive; - _fileArchive = 0; + _fileArchive.reset(); return false; } } else { warning("Could not find %s.xml file in %s.zip virtual keyboard pack", packName.c_str(), packName.c_str()); - delete _fileArchive; - _fileArchive = 0; + _fileArchive.reset(); return false; } @@ -113,19 +111,18 @@ bool VirtualKeyboard::openPack(const String &packName, const FSNode &node) { bool VirtualKeyboard::loadKeyboardPack(const String &packName) { _kbdGUI->initSize(_system->getOverlayWidth(), _system->getOverlayHeight()); - delete _fileArchive; - _fileArchive = 0; + _fileArchive.reset(); _loaded = false; bool opened = false; if (ConfMan.hasKey("vkeybdpath")) - opened = openPack(packName, FSNode(ConfMan.get("vkeybdpath"))); + opened = openPack(packName, new FSDirectory(ConfMan.get("vkeybdpath")), DisposeAfterUse::YES); else if (ConfMan.hasKey("extrapath")) - opened = openPack(packName, FSNode(ConfMan.get("extrapath"))); + opened = openPack(packName, new FSDirectory(ConfMan.get("extrapath")), DisposeAfterUse::YES); - // fallback to the current dir + // fallback to SearchMan if (!opened) - opened = openPack(packName, FSNode(".")); + opened = openPack(packName, &SearchMan, DisposeAfterUse::NO); if (opened) { _parser->setParseMode(VirtualKeyboardParser::kParseFull); @@ -136,8 +133,7 @@ bool VirtualKeyboard::loadKeyboardPack(const String &packName) { } else { warning("Error parsing the virtual keyboard pack '%s'", packName.c_str()); - delete _fileArchive; - _fileArchive = 0; + _fileArchive.reset(); } } else { warning("Virtual keyboard disabled due to missing pack file"); diff --git a/backends/vkeybd/virtual-keyboard.h b/backends/vkeybd/virtual-keyboard.h index 3b2b2196bd..38139e2ad8 100644 --- a/backends/vkeybd/virtual-keyboard.h +++ b/backends/vkeybd/virtual-keyboard.h @@ -226,7 +226,7 @@ public: protected: OSystem *_system; - Archive *_fileArchive; + DisposablePtr<Archive> _fileArchive; friend class VirtualKeyboardGUI; VirtualKeyboardGUI *_kbdGUI; @@ -237,7 +237,7 @@ protected: VirtualKeyboardParser *_parser; void reset(); - bool openPack(const String &packName, const FSNode &node); + bool openPack(const String &packName, Archive *searchPath, DisposeAfterUse::Flag disposeSearchPath); void deleteEvents(); bool checkModeResolutions(); void switchMode(Mode *newMode); diff --git a/common/ptr.h b/common/ptr.h index f592beb005..f3b2f3cbfa 100644 --- a/common/ptr.h +++ b/common/ptr.h @@ -302,6 +302,22 @@ public: bool operator_bool() const { return _pointer != nullptr; } /** + * Resets the pointer with the new value. Old object will be destroyed + */ + void reset(PointerType o, DisposeAfterUse::Flag dispose) { + if (_dispose) D()(_pointer); + _pointer = o; + _dispose = dispose; + } + + /** + * Clears the pointer. Old object will be destroyed + */ + void reset() { + reset(nullptr, DisposeAfterUse::NO); + } + + /** * Returns the plain pointer value. * * @return the pointer the DisposablePtr manages @@ -2839,8 +2839,6 @@ if test -n "$_host"; then arm-linux|arm*-linux-gnueabi|arm-*-linux) ;; arm-*riscos) - _seq_midi=no - _timidity=no _opengl_mode=none _build_hq_scalers=no # toolchain binaries prefixed by host @@ -3601,10 +3599,10 @@ esac # echo_n "Checking if host is POSIX compliant... " case $_host_os in - amigaos* | cygwin* | dreamcast | ds | gamecube | mingw* | n64 | ps2 | ps3 | psp2 | psp | wii | wince) + amigaos* | cygwin* | dreamcast | ds | gamecube | mingw* | n64 | ps2 | ps3 | psp2 | psp | riscos | wii | wince) _posix=no ;; - 3ds | android | androidsdl | beos* | bsd* | darwin* | freebsd* | gnu* | gph-linux | haiku* | hpux* | iphone | ios7 | irix*| k*bsd*-gnu* | linux* | maemo | mint* | netbsd* | openbsd* | riscos | solaris* | sunos* | uclinux* | webos) + 3ds | android | androidsdl | beos* | bsd* | darwin* | freebsd* | gnu* | gph-linux | haiku* | hpux* | iphone | ios7 | irix*| k*bsd*-gnu* | linux* | maemo | mint* | netbsd* | openbsd* | solaris* | sunos* | uclinux* | webos) _posix=yes ;; os2-emx*) diff --git a/devtools/README b/devtools/README index 751a25a563..5c4d494e76 100644 --- a/devtools/README +++ b/devtools/README @@ -84,6 +84,12 @@ create_project (LordHoto, Littleboy) any arguments for further help. +create_supernova (criezy) +---------------- + Creates supernova.dat files which contains static data contained in the + original executable as well as translations into additional languages. + + create_toon (Strangerke) ----------- This tool creates toon.dat, which contains all the game's texts diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp index d403243e45..fb4dc5ef5b 100644 --- a/devtools/create_project/xcode.cpp +++ b/devtools/create_project/xcode.cpp @@ -757,6 +757,7 @@ XcodeProvider::ValueList& XcodeProvider::getResourceFiles() const { files.push_back("dists/engine-data/neverhood.dat"); files.push_back("dists/engine-data/queen.tbl"); files.push_back("dists/engine-data/sky.cpt"); + files.push_back("dists/engine-data/supernova.dat"); files.push_back("dists/engine-data/teenagent.dat"); files.push_back("dists/engine-data/titanic.dat"); files.push_back("dists/engine-data/tony.dat"); diff --git a/devtools/create_supernova/create_supernova.cpp b/devtools/create_supernova/create_supernova.cpp new file mode 100644 index 0000000000..bf04004b1a --- /dev/null +++ b/devtools/create_supernova/create_supernova.cpp @@ -0,0 +1,196 @@ +#include "create_supernova.h" +#include "gametext.h" +#include "file.h" +#include "po_parser.h" + +// HACK to allow building with the SDL backend on MinGW +// see bug #1800764 "TOOLS: MinGW tools building broken" +#ifdef main +#undef main +#endif // main + +// List of languages to look for. To add new languages you only need to change the array below +// and add the supporting files: +// - 640x480 bitmap picture for the newpaper named 'img1-##.pbm' and 'img2-##.pbm' +// in pbm binary format (you can use gimp to generate those) +// - strings in a po file named 'strings-##.po' that uses CP850 encoding + +const char *lang[] = { + "en", + NULL +}; + +void writeImage(File& outputFile, const char *name, const char* language) { + File imgFile; + char fileName[16]; + sprintf(fileName, "%s-%s.pbm", name, language); + if (!imgFile.open(fileName, kFileReadMode)) { + printf("Cannot find image '%s' for language '%s'. This image will be skipped.\n", name, language); + return; + } + + char str[256]; + + // Read header (and check we have a binary PBM file) + imgFile.readString(str, 256); + if (strcmp(str, "P4") != 0) { + imgFile.close(); + printf("File '%s' doesn't seem to be a binary pbm file! This image will be skipped.\n", fileName); + return; + } + + // Skip comments and then read and check size + do { + imgFile.readString(str, 256); + } while (str[0] == '#'); + int w = 0, h = 0; + if (sscanf(str, "%d %d", &w, &h) != 2 || w != 640 || h != 480) { + imgFile.close(); + printf("Binary pbm file '%s' doesn't have the expected size (expected: 640x480, read: %dx%d). This image will be skipped.\n", fileName, w, h); + return; + } + + // Write block header in output file (4 bytes). + // We convert the image name to upper case. + for (int i = 0 ; i < 4 ; ++i) { + if (name[i] >= 97 && name[i] <= 122) + outputFile.writeByte(name[i] - 32); + else + outputFile.writeByte(name[i]); + } + // And write the language code on 4 bytes as well (padded with 0 if needed). + int languageLength = strlen(language); + for (int i = 0 ; i < 4 ; ++i) { + if (i < languageLength) + outputFile.writeByte(language[i]); + else + outputFile.writeByte(0); + } + + // Write block size (640*480 / 8) + outputFile.writeLong(38400); + + // Write all the bytes. We should have 38400 bytes (640 * 480 / 8) + // However we need to invert the bits has the engine expects 1 for the background and 0 for the text (black) + // but pbm uses 0 for white and 1 for black. + for (int i = 0 ; i < 38400 ; ++i) { + byte b = imgFile.readByte(); + outputFile.writeByte(~b); + } + + imgFile.close(); +} + +void writeGermanStrings(File& outputFile) { + // Write header and language + outputFile.write("TEXT", 4); + outputFile.write("de\0\0", 4); + + // Reserve the size for the block size, but we will write it at the end once we know what it is. + uint32 blockSizePos = outputFile.pos(); + uint32 blockSize = 0; + outputFile.writeLong(blockSize); + + // Write all the strings + const char **s = &gameText[0]; + while (*s) { + outputFile.writeString(*s); + blockSize += strlen(*s) + 1; + ++s; + } + + // Now write the block size and then go back to the end of the file. + outputFile.seek(blockSizePos, SEEK_SET); + outputFile.writeLong(blockSize); + outputFile.seek(0, SEEK_END); +} + +void writeStrings(File& outputFile, const char* language) { + char fileName[16]; + sprintf(fileName, "strings-%s.po", language); + PoMessageList* poList = parsePoFile(fileName); + if (!poList) { + printf("Cannot find strings file for language '%s'.\n", language); + return; + } + + // Write block header + outputFile.write("TEXT", 4); + + // And write the language code on 4 bytes as well (padded with 0 if needed). + int languageLength = strlen(language); + for (int i = 0 ; i < 4 ; ++i) { + if (i < languageLength) + outputFile.writeByte(language[i]); + else + outputFile.writeByte(0); + } + + // Reserve the size for the block size, but we will write it at the end once we know what it is. + uint32 blockSizePos = outputFile.pos(); + uint32 blockSize = 0; + outputFile.writeLong(blockSize); + + // Write all the strings. + // If a string is not translated we use the German one. + const char **s = &gameText[0]; + while (*s) { + const char* translation = poList->findTranslation(*s); + if (translation) { + outputFile.writeString(translation); + blockSize += strlen(translation) + 1; + } else { + outputFile.writeString(*s); + blockSize += strlen(*s) + 1; + } + ++s; + } + delete poList; + + // Now write the block size and then go back to the end of the file. + outputFile.seek(blockSizePos, SEEK_SET); + outputFile.writeLong(blockSize); + outputFile.seek(0, SEEK_END); +} + + +/** + * Main method + */ +int main(int argc, char *argv[]) { + File outputFile; + if (!outputFile.open("supernova.dat", kFileWriteMode)) { + printf("Cannot create file 'supernova.dat' in current directory.\n"); + exit(0); + } + + // The generated file is of the form: + // 3 bytes: 'MSN' + // 1 byte: version + // -- data blocks + // 4 bytes: header 'IMG1' and 'IMG2' for newspaper images (for file 1 and file 2 respectively), + // 'TEXT' for strings + // 4 bytes: language code ('en\0', 'de\0'- see common/language.cpp) + // 4 bytes: block size n (uint32) + // n bytes: data + // --- + + // Header + outputFile.write("MSN", 3); + outputFile.writeByte(VERSION); + + // German strings + writeGermanStrings(outputFile); + + // Other languages + const char **l = &lang[0]; + while(*l) { + writeImage(outputFile, "img1", *l); + writeImage(outputFile, "img2", *l); + writeStrings(outputFile, *l); + ++l; + } + + outputFile.close(); + return 0; +} diff --git a/devtools/create_supernova/create_supernova.h b/devtools/create_supernova/create_supernova.h new file mode 100644 index 0000000000..7447a7ece6 --- /dev/null +++ b/devtools/create_supernova/create_supernova.h @@ -0,0 +1,33 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * This is a utility for generating a data file for the supernova engine. + * It contains strings extracted from the original executable as well + * as translations and is required for the engine to work properly. + */ + +#ifndef CREATE_SUPERNOVA_H +#define CREATE_SUPERNOVA_H + +#define VERSION 1 + + + +#endif // CREATE_SUPERNOVA_H diff --git a/devtools/create_supernova/file.cpp b/devtools/create_supernova/file.cpp new file mode 100644 index 0000000000..5fb842aff6 --- /dev/null +++ b/devtools/create_supernova/file.cpp @@ -0,0 +1,72 @@ +#include "file.h" + +bool File::open(const char *filename, AccessMode mode) { + f = fopen(filename, (mode == kFileReadMode) ? "rb" : "wb"); + return (f != NULL); +} + +void File::close() { + fclose(f); + f = NULL; +} + +int File::seek(int32 offset, int whence) { + return fseek(f, offset, whence); +} + +long File::read(void *buffer, int len) { + return fread(buffer, 1, len, f); +} +void File::write(const void *buffer, int len) { + fwrite(buffer, 1, len, f); +} + +byte File::readByte() { + byte v; + read(&v, sizeof(byte)); + return v; +} + +uint16 File::readWord() { + uint16 v; + read(&v, sizeof(uint16)); + return FROM_LE_16(v); +} + +uint32 File::readLong() { + uint32 v; + read(&v, sizeof(uint32)); + return FROM_LE_32(v); +} + +void File::readString(char* string, int bufferLength) { + int i = 0; + while (i < bufferLength - 1 && fread(string + i, 1, 1, f) == 1) { + if (string[i] == '\n' || string[i] == 0) + break; + ++ i; + } + string[i] = 0; +} + +void File::writeByte(byte v) { + write(&v, sizeof(byte)); +} + +void File::writeWord(uint16 v) { + uint16 vTemp = TO_LE_16(v); + write(&vTemp, sizeof(uint16)); +} + +void File::writeLong(uint32 v) { + uint32 vTemp = TO_LE_32(v); + write(&vTemp, sizeof(uint32)); +} + +void File::writeString(const char *s) { + write(s, strlen(s) + 1); +} + +uint32 File::pos() { + return ftell(f); +} diff --git a/devtools/create_supernova/file.h b/devtools/create_supernova/file.h new file mode 100644 index 0000000000..dd33e410f9 --- /dev/null +++ b/devtools/create_supernova/file.h @@ -0,0 +1,59 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * This is a utility for generating a data file for the supernova engine. + * It contains strings extracted from the original executable as well + * as translations and is required for the engine to work properly. + */ + +#ifndef FILE_H +#define FILE_H + +// Disable symbol overrides so that we can use system headers. +#define FORBIDDEN_SYMBOL_ALLOW_ALL +#include "common/endian.h" + +enum AccessMode { + kFileReadMode = 1, + kFileWriteMode = 2 +}; + +class File { +private: + FILE *f; +public: + bool open(const char *filename, AccessMode mode = kFileReadMode); + void close(); + int seek(int32 offset, int whence = SEEK_SET); + uint32 pos(); + long read(void *buffer, int len); + void write(const void *buffer, int len); + + byte readByte(); + uint16 readWord(); + uint32 readLong(); + void readString(char*, int bufferLength); + void writeByte(byte v); + void writeWord(uint16 v); + void writeLong(uint32 v); + void writeString(const char *s); +}; + +#endif // FILE_H diff --git a/devtools/create_supernova/gametext.h b/devtools/create_supernova/gametext.h new file mode 100644 index 0000000000..398e210c54 --- /dev/null +++ b/devtools/create_supernova/gametext.h @@ -0,0 +1,823 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * This is a utility for generating a data file for the supernova engine. + * It contains strings extracted from the original executable as well + * as translations and is required for the engine to work properly. + */ + +#ifndef GAMETEXT_H +#define GAMETEXT_H + +#include <stddef.h> + +// This file contains the strings in German and is encoded using CP850 encoding. +// Other language should be provided as po files also using the CP850 encoding. + +// TODO: add the strings from the engine here, add an Id string in comment. +// And in the engine add a StringId enum with all the Ids = index in this array. + +const char *gameText[] = { + // 0 + "Gehe", // kStringCommandGo + "Schau", // kStringCommandLook + "Nimm", // kStringCommandTake + "\231ffne", // kStringCommandOpen + "Schlie\341e", // kStringCommandClose + // 5 + "Dr\201cke", // kStringCommandPress + "Ziehe", // kStringCommandPull + "Benutze", // kStringCommandUse + "Rede", // kStringCommandTalk + "Gib", // kStringCommandGive + // 10 + "Gehe zu ", // kStringStatusCommandGo + "Schau ", // kStringStatusCommandLook + "Nimm ", // kStringStatusCommandTake + "\231ffne ", // kStringStatusCommandOpen + "Schlie\341e ", // kStringStatusCommandClose + // 15 + "Dr\201cke ", // kStringStatusCommandPress + "Ziehe ", // kStringStatusCommandPull + "Benutze ", // kStringStatusCommandUse + "Rede mit ", // kStringStatusCommandTalk + "Gib ", // kStringStatusCommandGive + // 20 + "V2.02", // kStringTitleVersion + "Teil 1:", // kStringTitle1 + "Das Schicksal", // kStringTitle2 + "des Horst Hummel", // kStringTitle3 + "^(C) 1994 Thomas und Steffen Dingel#", // kStringIntro1 + // 25 + "Story und Grafik:^ Thomas Dingel#", // kStringIntro2 + "Programmierung:^ Steffen Dingel#", // kStringIntro3 + "Musik:^ Bernd Hoffmann#", // kStringIntro4 + "Getestet von ...#", // kStringIntro5 + "^Matthias Neef#", // kStringIntro6 + // 30 + "^Sascha Otterbach#", // kStringIntro7 + "^Thomas Mazzoni#", // kStringIntro8 + "^Matthias Klein#", // kStringIntro9 + "^Gerrit Rothmaier#", // kStringIntro10 + "^Thomas Hassler#", // kStringIntro11 + // 35 + "^Rene Koch#", // kStringIntro12 + "\233", // kStringIntro13 + "Hmm, er scheint kaputt zu sein.", // kStringBroken + "Es ist nichts Besonderes daran.", // kStringDefaultDescription + "Das mu\341t du erst nehmen.", // kStringTakeMessage + // 40 + "Keycard", // kStringKeycard + "Die Keycard f\224r deine Schr\204nke.", // kStringKeycardDescription + "Taschenmesser", // kStringKnife + "Es ist nicht mehr das sch\204rfste.", // kStringKnifeDescription + "Armbanduhr", // kStringWatch + // 45 + "Discman", // kStringDiscman + "Es ist eine \"Mad Monkeys\"-CD darin.", // kStringDiscmanDescription + "Luke", // kStringHatch + "Knopf", // kStringButton + "Er geh\224rt zu der gro\341en Luke.", // kStringHatchButtonDescription + // 50 + "Leiter", // kStringLadder + "Ausgang", // kStringExit + "Sie f\201hrt ins Cockpit.", // kStringCockpitHatchDescription + "Sie f\201hrt zur K\201che.", // kStringKitchenHatchDescription + "Sie f\201hrt zu den Tiefschlafkammern.", // kStringStasisHatchDescription + // 55 + "Dies ist eine der Tiefschlafkammern.", // kStringStasisHatchDescription2 + "Schlitz", // kStringSlot + "Es ist ein Keycard-Leser.", // kStringSlotDescription + "Gang", // kStringCorridor + "Computer", // kStringComputer + // 60 + "ZWEIUNDVIERZIG", // kStringComputerPassword + "Instrumente", // kStringInstruments + "Hmm, sieht ziemlich kompliziert aus.", // kStringInstrumentsDescription1 + "Monitor", // kStringMonitor + "Dieser Monitor sagt dir nichts.", // kStringMonitorDescription + // 65 + "Bild", // kStringImage + "Herb!", // kStringGenericDescription1 + "Toll!", // kStringGenericDescription2 + "Genial!", // kStringGenericDescription3 + "Es scheint noch nicht fertig zu sein.", // kStringGenericDescription4 + // 70 + "Magnete", // kStringMagnete + "Damit werden Sachen auf|dem Tisch festgehalten.", // kStringMagneteDescription + "Stift", // kStringPen + "Ein Kugelschreiber.", // kStringPenDescription + "Schrank", // kStringShelf + // 75 + "Fach", // kStringCompartment + "Steckdose", // kStringSocket + "Toilette", // kStringToilet + "Pistole", // kStringPistol + "Es ist keine Munition drin.", // kStringPistolDescription + // 80 + "B\201cher", // kStringBooks + "Lauter wissenschaftliche B\201cher.", // kStringBooksDescription + "Kabelrolle", // kStringSpool + "Da sind mindestens zwanzig Meter drauf.", // kStringSpoolDescription + "Buch", // kStringBook + // 85 + "Unterw\204sche", // kStringUnderwear + "Ich habe keine Lust, in|der Unterw\204sche des|Commanders rumzuw\201hlen.", // kStringUnderwearDescription + "Kleider", // kStringClothes + "Krimskram", // kStringJunk + "Es ist nichts brauchbares dabei.", // kStringJunkDescription + // 90 + "Ordner", // kStringFolders + "Darauf steht \"Dienstanweisungen|zur Mission Supernova\".|Es steht nichts wichtiges drin.", // kStringFoldersDescription + "Poster", // kStringPoster + "Ein Poster von \"Big Boss\".", // kStringPosterDescription1 + "Ein Poster von \"Rock Desaster\".", // kStringPosterDescription2 + // 95 + "Box", // kStringSpeaker + "Schallplatte", // kStringRecord + "Die Platte ist von \"Big Boss\".", // kStringRecordDescription + "Schallplattenst\204nder", // kStringRecordStand + "Du hast jetzt keine Zeit, in|der Plattensammlung rumzust\224bern.", // kStringRecordStandDescription + // 100 + "Plattenspieler", // kStringTurntable + "Sieht aus, als k\204me|er aus dem Museum.", // kStringTurntableDescription + "Leitung", // kStringWire + "Stecker", // kStringPlug + "Manche Leute haben schon|einen komischen Geschmack.", // kStringImageDescription1 + // 105 + "Zeichenger\204te", // kStringDrawingInstruments + "Auf dem Zettel sind lauter|unverst\204ndliche Skizzen und Berechnungen.|(Jedenfalls f\201r dich unverst\204ndlich.)", // kStringDrawingInstrumentsDescription + "Schachspiel", // kStringChessGame + "Es macht wohl Spa\341, an|der Decke Schach zu spielen.", // kStringChessGameDescription1 + "Tennisschl\204ger", // kStringTennisRacket + // 110 + "Fliegt Boris Becker auch mit?", // kStringTennisRacketDescription + "Tennisball", // kStringTennisBall + "Dein Magnetschachspiel. Schach war|schon immer deine Leidenschaft.", // kStringChessGameDescription2 + "Bett", // kStringBed + "Das ist dein Bett. Toll, nicht wahr?", // kStringBedDescription + // 115 + "Das ist eins deiner drei F\204cher.", // kStringCompartmentDescription + "Alben", // kStringAlbums + "Deine Briefmarkensammlung.", // kStringAlbumsDescription + "Seil", // kStringRope + "Es ist ungef\204hr 10 m lang und 4 cm dick.", // kStringRopeDescription + // 120 + "Das ist dein Schrank.", // kStringShelfDescription + "Es sind Standard-Weltraum-Klamotten.", // kStringClothesDescription + "Str\201mpfe", // kStringSocks + "Es ist|\"Per Anhalter durch die Galaxis\"|von Douglas Adams.", // kStringBookHitchhiker + "Klo", // kStringBathroom + // 125 + "Ein Klo mit Saugmechanismus.", // kStringBathroomDescription + "Dusche", // kStringShower + "Das ist eine Luke !!!", // kStringHatchDescription1 + "Dies ist eine Luke !!!", // kStringHatchDescription2 + "Helm", // kStringHelmet + // 130 + "Es ist der Helm zum Raumanzug.", // kStringHelmetDescription + "Raumanzug", // kStringSuit + "Der einzige Raumanzug, den die|anderen hiergelassen haben ...", // kStringSuitDescription + "Versorgung", // kStringLifeSupport + "Es ist der Versorgungsteil zum Raumanzug.", // kStringLifeSupportDescription + // 135 + "Schrott", // kStringScrap + "Da ist eine L\201sterklemme dran, die|noch ganz brauchbar aussieht.|Ich nehme sie mit.", // kStringScrapDescription1 + "L\201sterklemme", // kStringTerminalStrip + "Junge, Junge! Die Explosion hat ein|ganz sch\224nes Durcheinander angerichtet.", // kStringScrapDescription2 + "Reaktor", // kStringReactor + // 140 + "Das war einmal der Reaktor.", // kStringReactorDescription + "D\201se", // kStringNozzle + "blauer K\201rbis", // kStringPumpkin + "Keine Ahnung, was das ist.", // kStringPumpkinDescription + "Landef\204hre", // kStringLandingModule + // 145 + "Sie war eigentlich f\201r Bodenuntersuchungen|auf Arsano 3 gedacht.", // kStringLandingModuleDescription + "Sie f\201hrt nach drau\341en.", // kStringHatchDescription3 + "Generator", // kStringGenerator + "Er versorgt das Raumschiff mit Strom.", // kStringGeneratorDescription + "Ein St\201ck Schrott.", // kStringScrapDescription3 + // 150 + "Es ist ein Sicherheitsknopf.|Er kann nur mit einem spitzen|Gegenstand gedr\201ckt werden.", // kSafetyButtonDescription + "Tastatur", // kStringKeyboard + "langes Kabel mit Stecker", // kStringGeneratorWire + "leere Kabelrolle", // kStringEmptySpool + "Keycard des Commanders", // kStringKeycard2 + // 155 + "Hey, das ist die Keycard des Commanders!|Er mu\341 sie bei dem \201berst\201rzten|Aufbruch verloren haben.", // kStringKeycard2Description + "Klappe", // kStringTrap + "Spannungmessger\204t", // kStringVoltmeter + "Klemme", // kStringClip + "Sie f\201hrt vom Generator zum Spannungmessger\204t.", // kStringWireDescription + // 160 + "Stein", // kStringStone + "Loch", // kStringCaveOpening + "Es scheint eine H\224hle zu sein.", // kStringCaveOpeningDescription + "Hier bist du gerade hergekommen.", // kStringExitDescription + "H\224hle", // kStringCave + // 165 + "Schild", // kStringSign + "Diese Schrift kannst du nicht lesen.", // kStringSignDescription + "Eingang", // kStringEntrance + "Stern", // kStringStar + "Raumschiff", // kStringSpaceshift + // 170 + "Portier", // kStringPorter + "Du siehst doch selbst, wie er aussieht.", // kStringPorterDescription + "T\201r", // kStringDoor + "Kaugummi", // kStringChewingGum + "Gummib\204rchen", // kStringGummyBears + // 175 + "Schokokugel", // kStringChocolateBall + "\232berraschungsei", // kStringEgg + "Lakritz", // kStringLiquorice + "Tablette", // kStringPill + "Die Plastikh\201lle zeigt einen|Mund mit einer Sprechblase. Was|darin steht, kannst du nicht lesen.", // kStringPillDescription + // 180 + "Automat", // kStringVendingMachine + "Sieht aus wie ein Kaugummiautomat.", // kStringVendingMachineDescription + "Die Toiletten sind denen|auf der Erde sehr \204hnlich.", // kStringToiletDescription + "Treppe", // kStringStaircase + "M\201nzen", // kStringCoins + // 185 + "Es sind seltsame|K\224pfe darauf abgebildet.", // kStringCoinsDescription + "Tablettenh\201lle", // kStringTabletPackage + "Darauf steht:\"Wenn Sie diese|Schrift jetzt lesen k\224nnen,|hat die Tablette gewirkt.\"", // kStringTabletPackageDescription + "Stuhl", // kStringChair + "Schuhe", // kStringShoes + // 190 + "Wie ist der denn mit|Schuhen hier reingekommen?", // kStringShoesDescription + "Froschgesicht", // kStringFrogFace + "Gekritzel", // kStringScrible + "\"Mr Spock was here\"", // kStringScribleDescription + "Brieftasche", // kStringWallet + // 195 + "Speisekarte", // kStringMenu + "\"Heute empfehlen wir:|Fonua Opra mit Ulk.\"", // kStringMenuDescription + "Tasse", // kStringCup + "Sie enth\204lt eine gr\201nliche Fl\201ssigkeit.", // kStringCupDescription + "10-Buckazoid-Schein", // kStringBill + // 200 + "Nicht gerade sehr viel Geld.", // kStringBillDescription + "Keycard von Roger", // kStringKeycard3 + "Anzeige", // kStringAnnouncement + "Hmm, seltsame Anzeigen.", // kStringAnnouncementDescription + "Roger W.", // kStringRoger + // 205 + "Ufo", // kStringUfo + "Der Eingang scheint offen zu sein.", // kStringUfoDescription + "Tablett", // kStringTray + "Es ist irgendein Fra\341 und|etwas zu Trinken darauf.", // kStringTrayDescription + "Stange", // kStringLamp + // 210 + "Es scheint eine Lampe zu sein.", // kStringLampDescription + "Augen", // kStringEyes + "Es ist nur ein Bild.", // kStringEyesDescription + "Sieht etwas anders aus als auf der Erde.", // kStringSocketDescription + "Metallblock", // kStringMetalBlock + // 215 + "Er ist ziemlich schwer.", // kStringMetalBlockDescription + "Roboter", // kStringRobot + "Den hast du erledigt.", // kStringRobotDescription + "Tisch", // kStringTable + "Ein kleiner Metalltisch.", // kStringTableDescription + // 220 + "Zellent\201r", // kStringCellDoor + "Hier warst du eingesperrt.", // kStringCellDoorDescription + "Laptop", // kStringLaptop + "Armbanduhr", // kStringWristwatch + "S\204ule", // kStringPillar + // 225 + "Auf einem Schild an der T\201r steht \"Dr. Alab Hansi\".", // kStringDoorDescription1 + "Auf einem Schild an der T\201r steht \"Saval Lun\".", // kStringDoorDescription2 + "Auf einem Schild an der T\201r steht \"Prof. Dr. Ugnul Tschabb\".", // kStringDoorDescription3 + "Auf einem Schild an der T\201r steht \"Alga Hurz Li\".", // kStringDoorDescription4 + "Diese T\201r w\201rde ich lieber|nicht \224ffnen. Nach dem Schild zu|urteilen, ist jemand in dem Raum.", // kStringDontEnter + // 230 + "Axacussaner", // kStringAxacussan + "Du m\201\341test ihn irgendwie ablenken.", // kStringAxacussanDescription + "Komisches Bild.", // kStringImageDescription2 + "Karte", // kStringMastercard + "Darauf steht: \"Generalkarte\".", // kStringMastercardDescription + // 235 + "Lampe", // kStringLamp2 + "Seltsam!", // kStringGenericDescription5 + "Geld", // kStringMoney + "Es sind 500 Xa.", // kStringMoneyDescription1 + "Schlie\341fach", // kStringLocker + // 240 + "Es hat ein elektronisches Zahlenschlo\341.", // kStringLockerDescription + "Brief", // kStringLetter + "W\201rfel", // kStringCube + "Sonderbar!", // kStringGenericDescription6 + "Affenstark!", // kStringGenericDescription7 + // 245 + "Komisches Ding", // kStringStrangeThing + "Wundersam", // kStringGenericDescription8 + "Es ist ein Axacussanerkopf auf dem Bild.", // kStringImageDescription3 + "Pflanze", // kStringPlant + "Figur", // kStringStatue + // 250 + "Stark!", // kStringStatueDescription + "Sie ist den Pflanzen auf der Erde sehr \204hnlich.", // kStringPlantDescription + "Er funktioniert nicht.", // kStringComputerDescription + "Graffiti", // kStringGraffiti + "Seltsamer B\201roschmuck!", // kStringGraffitiDescription + // 255 + "Es sind 350 Xa.", // kStringMoneyDescription2 + "Dschungel", // kStringJungle + "Lauter B\204ume.", // kStringJungleDescription + "^ E#N#D#E ...########", // kStringOutro1 + "# ... des ersten Teils!########", // kStringOutro2 + // 260 + "#########", // kStringOutro3 + "^Aber:#", // kStringOutro4 + "Das Abenteuer geht weiter, ...##", // kStringOutro5 + "... wenn Sie sich f\201r 30,- DM registrieren lassen!##", // kStringOutro6 + "(Falls Sie das nicht schon l\204ngst getan haben.)##", // kStringOutro7 + // 265 + "In^ Teil 2 - Der Doppelg\204nger^ erwarten Sie:##", // kStringOutro8 + "Knifflige Puzzles,##", // kStringOutro9 + "noch mehr Grafik und Sound,##", // kStringOutro10 + "ein perfekt geplanter Museumseinbruch,##", // kStringOutro11 + "das Virtual-Reality-Spiel \"Indiana Joe\"##", // kStringOutro12 + // 270 + "und vieles mehr!##", // kStringOutro13 + "\233", // kStringOutro14 + "Leitung mit Stecker", // kStringWireAndPlug + "Leitung mit L\201sterklemme", // kStringWireAndClip + "langes Kabel mit Stecker", // kStringWireAndPlug2 + // 275 + "Darauf steht:|\"Treffpunkt Galactica\".", // kStringSignDescription2 + "M\201nze", // kStringCoin + "Darauf steht:|\"Zutritt nur f\201r Personal\".", // kStringDoorDescription5 + "Darauf steht:|\"Toilette\".", // kStringDoorDescription6 + "Es ist die Keycard des Commanders.", // kStringKeycard2Description2 + // 280 + "Kabelrolle mit L\201sterklemme", // kSringSpoolAndClip + "Zwei Tage nach dem Start|im Cockpit der \"Supernova\" ...", // kStringIntroCutscene1 + "Entferung von der Sonne: 1 500 000 km.|Gehen Sie auf 8000 hpm, Captain!", // kStringIntroCutscene2 + "Ok, Sir.", // kStringIntroCutscene3 + "Geschwindigkeit:", // kStringIntroCutscene4 + // 285 + "Zweitausend hpm", // kStringIntroCutscene5 + "Dreitausend", // kStringIntroCutscene6 + "Viertausend", // kStringIntroCutscene7 + "F\201nftausend", // kStringIntroCutscene8 + "Sechstausend", // kStringIntroCutscene9 + // 290 + "Siebentausend", // kStringIntroCutscene10 + "Achttau...", // kStringIntroCutscene11 + "Was war das?", // kStringIntroCutscene12 + "Keine Ahnung, Sir.", // kStringIntroCutscene13 + "Ingenieur an Commander, bitte kommen!", // kStringIntroCutscene14 + // 295 + "Was ist los?", // kStringIntroCutscene15 + "Wir haben einen Druckabfall im Hauptantriebssystem, Sir.|Einen Moment, ich schaue sofort nach, woran es liegt.", // kStringIntroCutscene16 + "Schei\341e, der Ionenantrieb ist explodiert!|Die Teile sind \201ber den ganzen|Maschinenraum verstreut.", // kStringIntroCutscene17 + "Ach, du meine G\201te!|Gibt es irgendeine M\224glichkeit,|den Schaden schnell zu beheben?", // kStringIntroCutscene18 + "Nein, Sir. Es sieht schlecht aus.", // kStringIntroCutscene19 + // 300 + "Hmm, die Erde zu alarmieren, w\201rde zu lange dauern.", // kStringIntroCutscene20 + "Ich darf kein Risiko eingehen.|Captain, geben Sie sofort Alarm!", // kStringIntroCutscene21 + "Commander an alle! Achtung, Achtung!|Begeben Sie sich sofort zum Notraumschiff!", // kStringIntroCutscene22 + "Ich wiederhole:|Begeben Sie sich sofort zum Notraumschiff!", // kStringIntroCutscene23 + "Captain, bereiten Sie alles f\201r den Start vor!|Wir m\201ssen zur\201ck zur Erde!", // kStringIntroCutscene24 + // 305 + "Eine Stunde sp\204ter ...", // kStringIntroCutscene25 + "Die Besatzung hat die \"Supernova\" verlassen.", // kStringIntroCutscene26 + "Das Schiff wird zwar in acht Jahren sein Ziel|erreichen, allerdings ohne Mannschaft.", // kStringIntroCutscene27 + "Das ist das kl\204gliche Ende|der Mission Supernova.", // kStringIntroCutscene28 + "Sie k\224nnen jetzt ihren Computer ausschalten.", // kStringIntroCutscene29 + // 310 + "Halt!", // kStringIntroCutscene30 + "Warten Sie!", // kStringIntroCutscene31 + "Es regt sich etwas im Schiff.", // kStringIntroCutscene32 + "Uuuuaaaahhhhh", // kStringIntroCutscene33 + "Huch, ich bin ja gefesselt!|Wo bin ich?", // kStringIntroCutscene34 + // 315 + "Ach so, das sind ja die Sicherheitsgurte.|Ich arbeite ja jetzt in diesem Raumschiff hier.", // kStringIntroCutscene35 + "Was? Schon zwei Uhr! Wieso|hat mich denn noch keiner|aus dem Bett geschmissen?", // kStringIntroCutscene36 + "Ich werde mal nachsehen.", // kStringIntroCutscene37 + "Autsch!", // kStringIntroCutscene38 + "Schei\341etagenbett!", // kStringIntroCutscene39 + // 320 + "Erst mal den Lichtschalter finden.", // kStringIntroCutscene40 + "Hmm, gar nicht so einfach|bei Schwerelosigkeit.", // kStringIntroCutscene41 + "Ah, hier ist er.", // kStringIntroCutscene42 + "In der K\201che warst du schon|oft genug, im Moment hast|du keinen Appetit.", // kStringShipHall1 + "Flugziel erreicht", // kStringShipSleepCabin1 + // 325 + "Energie ersch\224pft", // kStringShipSleepCabin2 + "Tiefschlafprozess abgebrochen", // kStringShipSleepCabin3 + "Schlafdauer in Tagen:", // kStringShipSleepCabin4 + "Bitte legen Sie sich in die angezeigte Schlafkammer.", // kStringShipSleepCabin5 + "Bitte Passwort eingeben:", // kStringShipSleepCabin6 + // 330 + "Schlafdauer in Tagen:", // kStringShipSleepCabin7 + "Bitte legen Sie sich in die angezeigte Schlafkammer.", // kStringShipSleepCabin8 + "Falsches Passwort", // kStringShipSleepCabin9 + "Es w\201rde wenig bringen,|sich in eine Schlafkammer zu legen,|die nicht eingeschaltet ist.", // kStringShipSleepCabin10 + "Dazu mu\341t du erst den Raumanzug ausziehen.", // kStringShipSleepCabin11 + // 335 + "Was war das?", // kStringShipSleepCabin12 + "Achtung", // kStringShipSleepCabin13 + "Du wachst mit brummendem Sch\204del auf|und merkst, da\341 du nur getr\204umt hast.", // kStringShipSleepCabin14 + "Beim Aufprall des Raumschiffs|mu\341t du mit dem Kopf aufgeschlagen|und bewu\341tlos geworden sein.", // kStringShipSleepCabin15 + "Was steht dir jetzt wohl wirklich bevor?", // kStringShipSleepCabin16 + // 340 + "Geschwindigkeit: ", // kStringShipCockpit1 + "8000 hpm", // kStringShipCockpit2 + "0 hpm", // kStringShipCockpit3 + "Ziel: Arsano 3", // kStringShipCockpit4 + "Entfernung: ", // kStringShipCockpit5 + //345 + " Lichtjahre", // kStringShipCockpit6 + "Dauer der Reise bei momentaner Geschwindigkeit:", // kStringShipCockpit7 + " Tage", // kStringShipCockpit8 + "Vergi\341 nicht, du bist nur der|Schiffskoch und hast keine Ahnung,|wie man ein Raumschiff fliegt.", // kStringShipCockpit9 + "Achtung: Triebwerke funktionsunf\204hig", // kStringShipCockpit10 + //350 + "Energievorrat ersch\224pft", // kStringShipCockpit11 + "Notstromversorgung aktiv", // kStringShipCockpit12 + "Was?! Keiner im Cockpit!|Die sind wohl verr\201ckt!", // kStringShipCockpit13 + "Du hast die Platte schon aufgelegt.", // kStringShipCabinL3_1 + "Es ist doch gar keine Platte aufgelegt.", // kStringShipCabinL3_2 + //355 + "Die Platte scheint einen Sprung zu haben.", // kStringShipCabinL3_3 + "Schneid doch besser ein|l\204ngeres St\201ck Kabel ab!", // kStringShipCabinL3_4 + "Das ist befestigt.", // kStringShipCabinL3_5 + "Zu niedriger Luftdruck soll ungesund sein.", // kStringShipAirlock1 + "Er zeigt Null an.", // kStringShipAirlock2 + //360 + "Er zeigt Normaldruck an.", // kStringShipAirlock3 + "Komisch, es ist nur|noch ein Raumanzug da.", // kStringShipAirlock4 + "Du mu\341t erst hingehen.", // kStringShipHold1 + "Das Kabel ist im Weg.", // kStringCable1 + "Das Kabel ist schon ganz|richtig an dieser Stelle.", // kStringCable2 + //365 + "Womit denn?", // kStringCable3 + "Die Leitung ist zu kurz.", // kStringCable4 + "Was ist denn das f\201r ein Chaos?|Und au\341erdem fehlt das Notraumschiff!|Jetzt wird mir einiges klar.|Die anderen sind gefl\201chtet,|und ich habe es verpennt.", // kStringShipHold2 + "Es ist nicht spitz genug.", // kStringShipHold3 + "Du wirst aus den Anzeigen nicht schlau.", // kStringShipHold4 + //370 + "La\341 lieber die Finger davon!", // kStringShipHold5 + "An dem Kabel ist doch gar kein Stecker.", // kStringShipHold6 + "Du solltest die Luke vielleicht erst \224ffnen.", // kStringShipHold7 + "Das Seil ist im Weg.", // kStringShipHold8 + "Das ist geschlossen.", // kStringShipHold9 + //375 + "Das geht nicht.|Die Luke ist mindestens|5 Meter \201ber dem Boden.", // kStringShipHold10 + "Was n\201tzt dir der Anschlu\341|ohne eine Stromquelle?!", // kStringShipHold11 + "Die Spannung ist auf Null abgesunken.", // kStringShipHold12 + "Es zeigt volle Spannung an.", // kStringShipHold13 + "Du mu\341t die Luke erst \224ffnen.", // kStringShipHold14 + //380 + "Das Seil ist hier schon ganz richtig.", // kStringShipHold15 + "Das Kabel ist zu kurz.", // kStringShipHold16 + "Die Raumschiffe sind alle verschlossen.", // kStringArsanoMeetup1 + "Unsinn!", // kStringArsanoMeetup2 + "Komisch! Auf einmal kannst du|das Schild lesen! Darauf steht:|\"Treffpunkt Galactica\".", // kStringArsanoMeetup3 + //385 + "Durch deinen Helm kannst|du nicht sprechen.", // kStringArsanoEntrance1 + "Wo soll ich die Schuhe ablegen?", // kStringArsanoEntrance2 + "Was, das wissen Sie nicht?", // kStringArsanoEntrance3 + "Sie befinden sich im Restaurant|\"Treffpunkt Galactica\".", // kStringArsanoEntrance4 + "Wir sind bei den interessantesten|Ereignissen in der Galaxis|immer zur Stelle.", // kStringArsanoEntrance5 + //390 + "Wenn Sie meinen.", // kStringArsanoEntrance6 + "In der Toilette gibt es|Schlie\341f\204cher f\201r Schuhe.", // kStringArsanoEntrance7 + "Wenn Sie das Lokal betreten|wollen, m\201ssen Sie erst|ihre Schuhe ausziehen.", // kStringArsanoEntrance8 + "Wollen Sie, da\341 ich Sie rau\341schmei\341e?", // kStringArsanoEntrance9 + "Hhius otgfh Dgfdrkjlh Fokj gf.", // kStringArsanoEntrance10 + //395 + "Halt!", // kStringArsanoEntrance11 + "Uhwdejkt!", // kStringArsanoEntrance12 + "Sie m\201ssen erst ihre Schuhe ausziehen, Sie Trottel!", // kStringArsanoEntrance13 + "Was f\204llt ihnen ein!|Sie k\224nnen doch ein Lokal|nicht mit Schuhen betreten!", // kStringArsanoEntrance14 + "Fragen Sie nicht so doof!", // kStringArsanoEntrance15 + // 400 + "Das w\201rde ich an ihrer|Stelle nicht versuchen!", // kStringArsanoEntrance16 + "Du ziehst deine Schuhe|aus und legst sie in|eins der Schlie\341f\204cher.", // kStringArsanoEntrance17 + "Du ziehst deine Schuhe wieder an.", // kStringArsanoEntrance18 + "Du durchsuchst die Klos nach|anderen brauchbaren Sachen,|findest aber nichts.", // kStringArsanoEntrance19 + "Bevor du aufs Klo gehst,|solltest du besser deinen|Raumanzug ausziehen.", // kStringArsanoEntrance20 + // 405 + "Du gehst seit sieben Jahren das|erste Mal wieder aufs Klo!", // kStringArsanoEntrance21 + "In einem der Schlie\341f\204cher,|die sich auch im Raum befinden,|findest du einige M\201nzen.", // kStringArsanoEntrance22 + "Mach doch zuerst das Fach leer!", // kStringArsanoEntrance23 + "Komisch! Auf einmal kannst du|das Schild lesen! Darauf steht:|\"Zutritt nur f\201r Personal\".", // kStringArsanoEntrance24 + "Komisch! Auf einmal kannst|du das Schild lesen!|Darauf steht:\"Toilette\".", // kStringArsanoEntrance25 + // 410 + "Du ziehst den Raumanzug wieder an.", // kStringArsanoEntrance26 + "Nicht so gewaltt\204tig!", // kStringArsanoEntrance27 + "Wo bin ich hier?", // kStringArsanoDialog1 + "Sch\224nes Wetter heute, nicht wahr?", // kStringArsanoDialog2 + "W\201rden Sie mich bitte durchlassen.", // kStringArsanoDialog3 + // 415 + "Hey Alter, la\341 mich durch!", // kStringArsanoDialog4 + "Was haben Sie gesagt?", // kStringArsanoDialog5 + "Sprechen Sie bitte etwas deutlicher!", // kStringArsanoDialog6 + "Wieso das denn nicht?", // kStringArsanoDialog7 + "Wo soll ich die Schuhe ablegen?", // kStringArsanoDialog8 + // 420 + "Schwachsinn! Ich gehe jetzt nach oben!", // kStringArsanoDialog9 + "|", // kStringDialogSeparator + "K\224nnten Sie mir ein Gericht empfehlen?", // kStringDialogArsanoRoger1 + "Wie lange dauert es denn noch bis zur Supernova?", // kStringDialogArsanoRoger2 + "Sie kommen mir irgendwie bekannt vor.", // kStringDialogArsanoRoger3 + // 425 + "Was wollen Sie von mir?", // kStringDialogArsanoMeetup3_1 + "Hilfe!!", // kStringDialogArsanoMeetup3_2 + "Warum sprechen Sie meine Sprache?", // kStringDialogArsanoMeetup3_3 + "Ja, ich bin einverstanden.", // kStringDialogArsanoMeetup3_4 + "Nein, lieber bleibe ich hier, als mit Ihnen zu fliegen.", // kStringDialogArsanoMeetup3_5 + // 430 + "Darf ich hier Platz nehmen?", // kStringArsanoRoger1 + "Klar!", // kStringArsanoRoger2 + "Hey, Witzkeks, la\341 die Brieftasche da liegen!", // kStringArsanoRoger3 + "Das ist nicht deine.", // kStringArsanoRoger4 + "Roger ist im Moment nicht ansprechbar.", // kStringArsanoRoger5 + // 435 + "Bestellen Sie lieber nichts!", // kStringArsanoRoger6 + "Ich habe vor zwei Stunden mein Essen|bestellt und immer noch nichts bekommen.", // kStringArsanoRoger7 + "Noch mindestens zwei Stunden.", // kStringArsanoRoger8 + "Haben Sie keine Idee, womit wir uns|bis dahin die Zeit vertreiben k\224nnen?", // kStringArsanoRoger9 + "Hmm ... im Moment f\204llt mir nichts ein, aber vielleicht|hat der Spieler des Adventures ja eine Idee.", // kStringArsanoRoger10 + // 440 + "Nein, Sie m\201ssen sich irren.|Ich kenne Sie jedenfalls nicht.", // kStringArsanoRoger11 + "Aber ihre Kleidung habe ich irgendwo schon mal gesehen.", // kStringArsanoRoger12 + "Ja? Komisch.", // kStringArsanoRoger13 + "Jetzt wei\341 ich's. Sie sind Roger W. !", // kStringArsanoRoger14 + "Pssst, nicht so laut, sonst will|gleich jeder ein Autogramm von mir.", // kStringArsanoRoger15 + // 445 + "Ich habe extra eine Maske auf, damit|ich nicht von jedem angelabert werde.", // kStringArsanoRoger16 + "\216h ... ach so.", // kStringArsanoRoger17 + "Wann kommt denn das n\204chste SQ-Abenteuer raus?", // kStringArsanoRoger18 + "SQ 127 m\201\341te in einem Monat erscheinen.", // kStringArsanoRoger19 + "Was, Teil 127 ??", // kStringArsanoRoger20 + // 450 + "Bei uns ist gerade Teil 8 erschienen.", // kStringArsanoRoger21 + "Hmm ... von welchem Planeten sind Sie denn?", // kStringArsanoRoger22 + "Von der Erde.", // kStringArsanoRoger23 + "Erde? Nie geh\224rt.", // kStringArsanoRoger24 + "Wahrscheinlich irgendein Kaff, wo Neuerungen|erst hundert Jahre sp\204ter hingelangen.", // kStringArsanoRoger25 + // 455 + "\216h ... kann sein.", // kStringArsanoRoger26 + "Aber eins m\201ssen Sie mir erkl\204ren!", // kStringArsanoRoger27 + "Wieso sehen Sie mir so verdammt \204hnlich, wenn|Sie nicht von Xenon stammen, wie ich?", // kStringArsanoRoger28 + "Keine Ahnung. Bis jetzt dachte ich immer, Sie w\204ren ein|von Programmierern auf der Erde erfundenes Computersprite.", // kStringArsanoRoger29 + "Was? Lachhaft!", // kStringArsanoRoger30 + // 460 + "Wie erkl\204ren Sie sich dann,|da\341 ich ihnen gegen\201bersitze?", // kStringArsanoRoger31 + "Ja, das ist in der Tat seltsam.", // kStringArsanoRoger32 + "Halt, jetzt wei\341 ich es. Sie sind von der Konkurrenz,|von \"Georgefilm Games\" und wollen mich verunsichern.", // kStringArsanoRoger33 + "Nein, ich bin nur ein Ahnungsloser Koch von der Erde.", // kStringArsanoRoger34 + "Na gut, ich glaube Ihnen. Lassen wir jetzt|dieses Thema, langsam wird es mir zu bunt!", // kStringArsanoRoger35 + // 465 + "Eine Partie Schach! Das ist eine gute Idee.", // kStringArsanoRoger36 + "Schach? Was ist das denn?", // kStringArsanoRoger37 + "Schach ist ein interessantes Spiel.|Ich werde es Ihnen erkl\204ren.", // kStringArsanoRoger38 + "Knapp zwei Stunden sp\204ter ...", // kStringArsanoRoger39 + "Roger W. steht kurz vor dem Schachmatt|und gr\201belt nach einem Ausweg.", // kStringArsanoRoger40 + // 470 + "Du tippst auf den Tasten herum,|aber es passiert nichts.", // kStringArsanoGlider1 + "Alle Raumschiffe haben|den Planeten verlassen.", // kStringArsanoMeetup2_1 + "Alle Raumschiffe haben den Planeten|verlassen, bis auf eins ...", // kStringArsanoMeetup2_2 + "Was wollen Sie denn schon wieder?", // kStringArsanoMeetup2_3 + "Nein.", // kStringArsanoMeetup2_4 + // 475 + "Haben Sie zuf\204llig meine Brieftasche gesehen?|Ich mu\341 Sie irgendwo verloren haben.", // kStringArsanoMeetup2_5 + "Ohne die Brieftasche kann ich nicht|starten, weil meine Keycard darin ist.", // kStringArsanoMeetup2_6 + "Oh! Vielen Dank.", // kStringArsanoMeetup2_7 + "Wo ist denn Ihr Raumschiff?|Soll ich Sie ein St\201ck mitnehmen?", // kStringArsanoMeetup2_8 + "Wo wollen Sie denn hin?", // kStringArsanoMeetup2_9 + // 480 + "Ok, steigen Sie ein!", // kStringArsanoMeetup2_10 + "Wie Sie wollen.", // kStringArsanoMeetup2_11 + "Huch, du lebst ja noch!", // kStringArsanoMeetup2_12 + "Das w\201rde ich jetzt nicht tun, schlie\341lich|steht Roger W. neben seinem Schiff.", // kStringArsanoMeetup2_13 + "Ich glaube, er wacht auf.", // kStringArsanoMeetup3_1 + // 485 + "Ja, sieht so aus.", // kStringArsanoMeetup3_2 + "Sie befinden sich im Raumschiff \"Dexxa\".", // kStringArsanoMeetup3_3 + "Wir kommen vom Planeten Axacuss und|sind aus dem gleichen Grund hier wie Sie,|n\204mlich zur Erforschung der Supernova.", // kStringArsanoMeetup3_4 + "Sie k\224nnen beruhigt sein, wir wollen Ihnen nur helfen.", // kStringArsanoMeetup3_5 + "Und wieso hat der Typ im Raumanzug|eben auf mich geschossen?", // kStringArsanoMeetup3_6 + // 490 + "Das war eine Schreckreaktion.", // kStringArsanoMeetup3_7 + "Schlie\341lich ist es f\201r uns das erste Mal,|da\341 wir auf eine fremde Intelligenz treffen.", // kStringArsanoMeetup3_8 + "Wie wir festgestellt haben, ist|Ihr Raumschiff v\224llig zerst\224rt.", // kStringArsanoMeetup3_9 + "Wahrscheinlich k\224nnen Sie nicht|mehr auf ihren Heimatplaneten zur\201ck.", // kStringArsanoMeetup3_10 + "Wir bieten Ihnen an, Sie|mit nach Axacuss zu nehmen.", // kStringArsanoMeetup3_11 + // 495 + "Sind Sie sich da wirklich sicher?", // kStringArsanoMeetup3_12 + "Wenn ich es mir genau \201berlege,|fliege ich doch lieber mit.", // kStringArsanoMeetup3_13 + "Gut, wir nehmen Sie unter der|Bedingung mit, da\341 wir Sie jetzt|sofort in Tiefschlaf versetzen d\201rfen.", // kStringArsanoMeetup3_14 + "Diese Art des Reisens ist Ihnen|ja scheinbar nicht unbekannt.", // kStringArsanoMeetup3_15 + "Sie werden in vier Jahren nach der|Landung der \"Dexxa\" wieder aufgeweckt.", // kStringArsanoMeetup3_16 + // 500 + "Sind Sie damit einverstanden?", // kStringArsanoMeetup3_17 + "Gut, haben Sie noch irgendwelche Fragen?", // kStringArsanoMeetup3_18 + "Keine Panik!", // kStringArsanoMeetup3_19 + "Wir tun Ihnen nichts.", // kStringArsanoMeetup3_20 + "Wir sprechen nicht ihre Sprache,|sondern Sie sprechen unsere.", // kStringArsanoMeetup3_21 + // 505 + "Nach einer Gehirnanalyse konnten|wir Ihr Gehirn an unsere Sprache anpassen.", // kStringArsanoMeetup3_22 + "Was? Sie haben in mein Gehirn eingegriffen?", // kStringArsanoMeetup3_23 + "Keine Angst, wir haben sonst nichts ver\204ndert.", // kStringArsanoMeetup3_24 + "Ohne diesen Eingriff w\204ren|Sie verloren gewesen.", // kStringArsanoMeetup3_25 + "Ich habe keine weiteren Fragen mehr.", // kStringArsanoMeetup3_26 + // 510 + "Gut, dann versetzen wir Sie jetzt in Tiefschlaf.", // kStringArsanoMeetup3_27 + "Gute Nacht!", // kStringArsanoMeetup3_28 + "Du wachst auf und findest dich in|einem geschlossenen Raum wieder.", // kStringAxacussCell_1 + "Du dr\201ckst den Knopf,|aber nichts passiert.", // kStringAxacussCell_2 + "Das ist befestigt.", // kStringAxacussCell_3 + // 515 + "Bei deinem Fluchtversuch hat|dich der Roboter erschossen.", // kStringAxacussCell_4 + "Du i\341t etwas, aber|es schmeckt scheu\341lich.", // kStringAxacussCell_5 + "Ok.", // kStringOk + "Ach, Ihnen geh\224rt die. Ich habe sie eben im Sand gefunden.", // kStringDialogArsanoMeetup2_1 + "Nein, tut mir leid.", // kStringDialogArsanoMeetup2_2 + // 520 + "Nein, danke. Ich bleibe lieber hier.", // kStringDialogArsanoMeetup2_3 + "Ja, das w\204re gut.", // kStringDialogArsanoMeetup2_4 + "Zur Erde.", // kStringDialogArsanoMeetup2_5 + "Zum Pr\204sident der Galaxis.", // kStringDialogArsanoMeetup2_6 + "Nach Xenon.", // kStringDialogArsanoMeetup2_7 + // 525 + "Mir egal, setzen Sie mich irgendwo ab!", // kStringDialogArsanoMeetup2_8 + "Ich habe gerade Ihre Brieftasche gefunden!", // kStringDialogArsanoMeetup2_9 + "Sie lag da dr\201ben hinter einem Felsen.", // kStringDialogArsanoMeetup2_10 + "Ich wollte nur wissen, ob Sie die Brieftasche wiederhaben.", // kStringDialogArsanoMeetup2_11 + "\216h ... nein, mein Name ist M\201ller.", // kStringDialogAxacussCorridor5_1 + // 530 + "Oh, ich habe mich im Gang vertan.", // kStringDialogAxacussCorridor5_2 + "W\201rden Sie mich bitte zum Fahrstuhl lassen?", // kStringDialogAxacussCorridor5_3 + "Ich gehe wieder.", // kStringDialogAxacussCorridor5_4 + "Dann gehe ich eben wieder.", // kStringDialogAxacussCorridor5_5 + "Ach, halten Sie's Maul, ich gehe trotzdem!", // kStringDialogAxacussCorridor5_6 + // 535 + "Wenn Sie mich durchlassen gebe ich Ihnen %d Xa.", // kStringDialogAxacussCorridor5_7 + "Hallo!", // kStringDialogX1 + "Guten Tag!", // kStringDialogX2 + "Ich bin's, Horst Hummel.", // kStringDialogX3 + "Sie schon wieder?", // kStringAxacussCorridor5_1 + // 540 + "Halt! Sie sind doch dieser Hummel.|Bleiben Sie sofort stehen!", // kStringAxacussCorridor5_2 + "Sehr witzig!", // kStringAxacussCorridor5_3 + "Kann auch sein, auf jeden Fall|sind Sie der Nicht-Axacussaner.", // kStringAxacussCorridor5_4 + "Nein!", // kStringAxacussCorridor5_5 + "Das m\201\341te schon ein bi\341chen mehr sein.", // kStringAxacussCorridor5_6 + // 545 + "Ok, dann machen Sie da\341 Sie wegkommen!", // kStringAxacussCorridor5_7 + "Du stellst dich hinter die S\204ule.", // kStringAxacussBcorridor_1 + "Welche Zahlenkombination willst|du eingeben?", // kStringAxacussOffice1_1 + "Hmm, das haut nicht ganz hin,|aber irgendwie mu\341 die Zahl|mit dem Code zusammenh\204ngen.", // kStringAxacussOffice1_2 + "Das war die falsche Kombination.", // kStringAxacussOffice1_3 + // 550 + "Streng geheim", // kStringAxacussOffice1_4 + "418-98", // kStringAxacussOffice1_5 + "Sehr geehrter Dr. Hansi,", // kStringAxacussOffice1_6 + "Ich mu\341 Ihren Roboterexperten ein Lob aussprechen. Die", // kStringAxacussOffice1_7 + "Imitation von Horst Hummel ist perfekt gelungen, wie ich", // kStringAxacussOffice1_8 + // 555 + "heute bei der \232bertragung des Interviews feststellen", // kStringAxacussOffice1_9 + "konnte. Dem Aufschwung Ihrer Firma durch die Werbe-", // kStringAxacussOffice1_10 + "kampagne mit dem falschen Horst Hummel d\201rfte ja jetzt", // kStringAxacussOffice1_11 + "nichts mehr im Wege stehen.", // kStringAxacussOffice1_12 + "PS: Herzlichen zum Geburtstag!", // kStringAxacussOffice1_13 + // 560 + "Hochachtungsvoll", // kStringAxacussOffice1_14 + "Commander Sumoti", // kStringAxacussOffice1_15 + "Nicht zu fassen!", // kStringAxacussOffice1_16 + "Hey, hinter dem Bild ist Geld|versteckt. Ich nehme es mit.", // kStringAxacussOffice3_1 + "Jetzt verschwinden Sie endlich!", // kStringAxacussElevator_1 + // 565 + "Huch, ich habe mich vertan.", // kStringAxacussElevator_2 + "Nachdem du zwei Stunden im|Dschungel herumgeirrt bist,|findest du ein Geb\204ude.", // kStringAxacussElevator_3 + "Du h\204ttest besser vorher|den Stecker rausgezogen.", // kStringShock + "Der Axacussaner hat dich erwischt.", // kStringShot + "Das ist schon geschlossen.", // kStringCloseLocker_1 + // 570 + "Irgendwie ist ein Raumhelm|beim Essen unpraktisch.", // kStringIsHelmetOff_1 + "Schmeckt ganz gut.", // kStringGenericInteract_1 + "Da war irgendetwas drin,|aber jetzt hast du es|mit runtergeschluckt.", // kStringGenericInteract_2 + "Du hast es doch schon ge\224ffnet.", // kStringGenericInteract_3 + "In dem Ei ist eine Tablette|in einer Plastikh\201lle.", // kStringGenericInteract_4 + // 575 + "Du i\341t die Tablette und merkst,|da\341 sich irgendetwas ver\204ndert hat.", // kStringGenericInteract_5 + "Komisch! Auf einmal kannst du die Schrift lesen!|Darauf steht:\"Wenn Sie diese Schrift jetzt|lesen k\224nnen, hat die Tablette gewirkt.\"", // kStringGenericInteract_6 + "Das mu\341t du erst nehmen.", // kStringGenericInteract_7 + "Sie ist leer.", // kStringGenericInteract_8 + "Du findest 10 Buckazoids und eine Keycard.", // kStringGenericInteract_9 + // 580 + "Es ist eine Art elektronische Zeitung.", // kStringGenericInteract_10 + "Halt, hier ist ein interessanter Artikel.", // kStringGenericInteract_11 + "Hmm, irgendwie komme|ich mir verarscht vor.", // kStringGenericInteract_12 + " an ", // kPhrasalVerbParticleGiveTo + " mit ", // kPhrasalVerbParticleUseWith + // 585 + "Es ist eine Uhr mit extra|lautem Wecker. Sie hat einen|Knopf zum Verstellen der Alarmzeit.|Uhrzeit: %s Alarmzeit: %s", // kStringGenericInteract_13 + "Neue Alarmzeit (hh:mm) :", // kStringGenericInteract_14 + "Die Luft hier ist atembar,|du ziehst den Anzug aus.", // kStringGenericInteract_15 + "Hier drinnen brauchtst du deinen Anzug nicht.", // kStringGenericInteract_16 + "Du mu\341t erst den Helm abnehmen.", // kStringGenericInteract_17 + // 590 + "Du mu\341t erst den Versorgungsteil abnehmen.", // kStringGenericInteract_18 + "Du ziehst den Raumanzug aus.", // kStringGenericInteract_19 + "Du ziehst den Raumanzug an.", // kStringGenericInteract_20 + "Die Luft hier ist atembar,|du ziehst den Anzug aus.", // kStringGenericInteract_21 + "Hier drinnen brauchtst du deinen Anzug nicht.", // kStringGenericInteract_22 + // 595 + "Den Helm h\204ttest du|besser angelassen!", // kStringGenericInteract_23 + "Du ziehst den Helm ab.", // kStringGenericInteract_24 + "Du ziehst den Helm auf.", // kStringGenericInteract_25 + "Du mu\341t erst den Anzug anziehen.", // kStringGenericInteract_26 + "Den Versorgungsteil h\204ttest du|besser nicht abgenommen!", // kStringGenericInteract_27 + // 600 + "Du nimmst den Versorgungsteil ab.", // kStringGenericInteract_28 + "Du ziehst den Versorgungsteil an.", // kStringGenericInteract_29 + "Die Leitung ist hier unn\201tz.", // kStringGenericInteract_30 + "Stark, das ist ja die Fortsetzung zum \"Anhalter\":|\"Das Restaurant am Ende des Universums\".", // kStringGenericInteract_31 + "Moment mal, es ist ein Lesezeichen drin,|auf dem \"Zweiundvierzig\" steht.", // kStringGenericInteract_32 + // 605 + "Das tr\204gst du doch bei dir.", // kStringGenericInteract_33 + "Du bist doch schon da.", // kStringGenericInteract_34 + "Das hast du doch schon.", // kStringGenericInteract_35 + "Das brauchst du nicht.", // kStringGenericInteract_36 + "Das kannst du nicht nehmen.", // kStringGenericInteract_37 + // 610 + "Das l\204\341t sich nicht \224ffnen.", // kStringGenericInteract_38 + "Das ist schon offen.", // kStringGenericInteract_39 + "Das ist verschlossen.", // kStringGenericInteract_40 + "Das l\204\341t sich nicht schlie\341en.", // kStringGenericInteract_41 + "Behalt es lieber!", // kStringGenericInteract_42 + // 615 + "Das geht nicht.", // kStringGenericInteract_43 + "Gespr\204ch beenden", // kStringConversationEnd + "Du hast das komische Gef\201hl,|da\341 drau\341en etwas passiert,|und eilst zum Restaurant.", // kStringSupernova1 + "Da! Die Supernova!", // kStringSupernova2 + "Zwei Minuten sp\204ter ...", // kStringSupernova3 + // 620 + "Hey, was machen Sie in meinem Raumschiff?!", // kStringSupernova4 + "Geben Sie mir sofort meine Brieftasche wieder!", // kStringSupernova5 + "Versuchen Sie das ja nicht nochmal!", // kStringSupernova6 + "Und jetzt raus mit Ihnen!", // kStringSupernova7 + "Zehn Minuten sp\204ter ...", // kStringSupernova8 + // 625 + "Textgeschwindigkeit:", // kStringTextSpeed + "Was war das f\201r ein Ger\204usch?", // kStringGuardNoticed1 + "Ich werde mal nachsehen.", // kStringGuardNoticed2 + "Guten Tag, hier ist Horst Hummel.", // kStringTelomat1 + "Hier ist %s. K\224nnen Sie mal gerade kommen?", // kStringTelomat2 + // 630 + "Es ist sehr wichtig.", // kStringTelomat3 + "Vom Mars.", // kStringTelomat4 + "Vom Klo.", // kStringTelomat5 + "Das werde ich kaum erz\204hlen.", // kStringTelomat6 + "1 B\201romanager", // kStringTelomat7 + // 635 + "2 Telomat", // kStringTelomat8 + "3 ProText", // kStringTelomat9 + "4 Calculata", // kStringTelomat10 + "Bitte w\204hlen", // kStringTelomat11 + "Geben Sie den gew\201nschten Namen ein:", // kStringTelomat12 + // 640 + "(Vor- und Nachname)", // kStringTelomat13 + "Name unbekannt", // kStringTelomat14 + "Verbindung unm\224glich", // kStringTelomat15 + "Verbindung wird hergestellt", // kStringTelomat16 + "%s am Apparat.", // kStringTelomat17 + // 645 + "Huch, Sie h\224ren sich aber|nicht gut an. Ich komme sofort.", // kStringTelomat18 + "Horst Hummel! Von wo rufen Sie an?", // kStringTelomat19 + "Hmm, keine Antwort.", // kStringTelomat20 + "Passwort:", // kStringTelomat21 + "Deine Armbanduhr piepst,|die Alarmzeit ist erreicht.", // kStringAlarm + NULL +}; + + + +#endif // GAMETEXT_H diff --git a/devtools/create_supernova/img1-en.pbm b/devtools/create_supernova/img1-en.pbm Binary files differnew file mode 100644 index 0000000000..f1a76940e0 --- /dev/null +++ b/devtools/create_supernova/img1-en.pbm diff --git a/devtools/create_supernova/img1-en.xcf b/devtools/create_supernova/img1-en.xcf Binary files differnew file mode 100644 index 0000000000..3231a06896 --- /dev/null +++ b/devtools/create_supernova/img1-en.xcf diff --git a/devtools/create_supernova/module.mk b/devtools/create_supernova/module.mk new file mode 100644 index 0000000000..806cccadaa --- /dev/null +++ b/devtools/create_supernova/module.mk @@ -0,0 +1,12 @@ +MODULE := devtools/create_supernova + +MODULE_OBJS := \ + file.o \ + po_parser.o \ + create_supernova.o + +# Set the name of the executable +TOOL_EXECUTABLE := create_supernova + +# Include common rules +include $(srcdir)/rules.mk diff --git a/devtools/create_supernova/po_parser.cpp b/devtools/create_supernova/po_parser.cpp new file mode 100644 index 0000000000..f4a9b96388 --- /dev/null +++ b/devtools/create_supernova/po_parser.cpp @@ -0,0 +1,221 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <ctype.h> + +#include "po_parser.h" + +PoMessageList::PoMessageList() : _list(NULL), _size(0), _allocated(0) { +} + +PoMessageList::~PoMessageList() { + for (int i = 0; i < _size; ++i) + delete _list[i]; + delete[] _list; +} + +int PoMessageList::compareString(const char* left, const char* right) { + if (left == NULL && right == NULL) + return 0; + if (left == NULL) + return -1; + if (right == NULL) + return 1; + return strcmp(left, right); +} + +int PoMessageList::compareMessage(const char *msgLeft, const char *contextLeft, const char *msgRight, const char *contextRight) { + int compare = compareString(msgLeft, msgRight); + if (compare != 0) + return compare; + return compareString(contextLeft, contextRight); +} + +void PoMessageList::insert(const char *translation, const char *msg, const char *context) { + if (msg == NULL || *msg == '\0' || translation == NULL || *translation == '\0') + return; + + // binary-search for the insertion index + int leftIndex = 0; + int rightIndex = _size - 1; + while (rightIndex >= leftIndex) { + int midIndex = (leftIndex + rightIndex) / 2; + int compareResult = compareMessage(msg, context, _list[midIndex]->msgid, _list[midIndex]->msgctxt); + if (compareResult == 0) + return; // The message is already in this list + else if (compareResult < 0) + rightIndex = midIndex - 1; + else + leftIndex = midIndex + 1; + } + // We now have rightIndex = leftIndex - 1 and we need to insert the new message + // between the two (i.a. at leftIndex). + if (_size + 1 > _allocated) { + _allocated += 100; + PoMessage **newList = new PoMessage*[_allocated]; + for (int i = 0; i < leftIndex; ++i) + newList[i] = _list[i]; + for (int i = leftIndex; i < _size; ++i) + newList[i + 1] = _list[i]; + delete[] _list; + _list = newList; + } else { + for (int i = _size - 1; i >= leftIndex; --i) + _list[i + 1] = _list[i]; + } + _list[leftIndex] = new PoMessage(translation, msg, context); + ++_size; +} + +const char *PoMessageList::findTranslation(const char *msg, const char *context) { + if (msg == NULL || *msg == '\0') + NULL; + + // binary-search for the message + int leftIndex = 0; + int rightIndex = _size - 1; + while (rightIndex >= leftIndex) { + int midIndex = (leftIndex + rightIndex) / 2; + int compareResult = compareMessage(msg, context, _list[midIndex]->msgid, _list[midIndex]->msgctxt); + if (compareResult == 0) + return _list[midIndex]->msgstr; + else if (compareResult < 0) + rightIndex = midIndex - 1; + else + leftIndex = midIndex + 1; + } + return NULL; +} + +PoMessageList *parsePoFile(const char *file) { + FILE *inFile = fopen(file, "r"); + if (!inFile) + return NULL; + + char msgidBuf[1024], msgctxtBuf[1024], msgstrBuf[1024]; + char line[1024], *currentBuf = msgstrBuf; + + PoMessageList *list = new PoMessageList(); + + // Initialize the message attributes. + bool fuzzy = false; + bool fuzzy_next = false; + + // Parse the file line by line. + // The msgstr is always the last line of an entry (i.e. msgid and msgctxt always + // precede the corresponding msgstr). + msgidBuf[0] = msgstrBuf[0] = msgctxtBuf[0] = '\0'; + while (!feof(inFile) && fgets(line, 1024, inFile)) { + if (line[0] == '#' && line[1] == ',') { + // Handle message attributes. + if (strstr(line, "fuzzy")) { + fuzzy_next = true; + continue; + } + } + // Skip empty and comment line + if (*line == '\n' || *line == '#') + continue; + if (strncmp(line, "msgid", 5) == 0) { + if (currentBuf == msgstrBuf) { + // add previous entry + if (*msgstrBuf != '\0' && !fuzzy) + list->insert(msgstrBuf, msgidBuf, msgctxtBuf); + msgidBuf[0] = msgstrBuf[0] = msgctxtBuf[0] = '\0'; + + // Reset the attribute flags. + fuzzy = fuzzy_next; + fuzzy_next = false; + } + strcpy(msgidBuf, stripLine(line)); + currentBuf = msgidBuf; + } else if (strncmp(line, "msgctxt", 7) == 0) { + if (currentBuf == msgstrBuf) { + // add previous entry + if (*msgstrBuf != '\0' && !fuzzy) + list->insert(msgstrBuf, msgidBuf, msgctxtBuf); + msgidBuf[0] = msgstrBuf[0] = msgctxtBuf[0] = '\0'; + + // Reset the attribute flags + fuzzy = fuzzy_next; + fuzzy_next = false; + } + strcpy(msgctxtBuf, stripLine(line)); + currentBuf = msgctxtBuf; + } else if (strncmp(line, "msgstr", 6) == 0) { + strcpy(msgstrBuf, stripLine(line)); + currentBuf = msgstrBuf; + } else { + // concatenate the string at the end of the current buffer + if (currentBuf) + strcat(currentBuf, stripLine(line)); + } + } + if (currentBuf == msgstrBuf) { + // add last entry + if (*msgstrBuf != '\0' && !fuzzy) + list->insert(msgstrBuf, msgidBuf, msgctxtBuf); + } + + fclose(inFile); + return list; +} + +char *stripLine(char *const line) { + // This function modifies line in place and return it. + // Keep only the text between the first two unprotected quotes. + // It also look for literal special characters (e.g. preceded by '\n', '\\', '\"', '\'', '\t') + // and replace them by the special character so that strcmp() can match them at run time. + // Look for the first quote + char const *src = line; + while (*src != '\0' && *src++ != '"') {} + // shift characters until we reach the end of the string or an unprotected quote + char *dst = line; + while (*src != '\0' && *src != '"') { + char c = *src++; + if (c == '\\') { + switch (c = *src++) { + case 'n': c = '\n'; break; + case 't': c = '\t'; break; + case '\"': c = '\"'; break; + case '\'': c = '\''; break; + case '\\': c = '\\'; break; + default: + // Just skip + fprintf(stderr, "Unsupported special character \"\\%c\" in string. Please contact ScummVM developers.\n", c); + continue; + } + } + *dst++ = c; + } + *dst = '\0'; + return line; +} + +char *parseLine(const char *line, const char *field) { + // This function allocate and return a new char*. + // It will return a NULL pointer if the field is not found. + // It is used to parse the header of the po files to find the language name + // and the charset. + const char *str = strstr(line, field); + if (str == NULL) + return NULL; + str += strlen(field); + // Skip spaces + while (*str != '\0' && isspace(*str)) { + ++str; + } + // Find string length (stop at the first '\n') + int len = 0; + while (str[len] != '\0' && str[len] != '\n') { + ++len; + } + if (len == 0) + return NULL; + // Create result string + char *result = new char[len + 1]; + strncpy(result, str, len); + result[len] = '\0'; + return result; +} + diff --git a/devtools/create_supernova/po_parser.h b/devtools/create_supernova/po_parser.h new file mode 100644 index 0000000000..7c358e32f6 --- /dev/null +++ b/devtools/create_supernova/po_parser.h @@ -0,0 +1,78 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * This is a utility for generating a data file for the supernova engine. + * It contains strings extracted from the original executable as well + * as translations and is required for the engine to work properly. + */ + +#ifndef PO_PARSER_H +#define PO_PARSER_H + +struct PoMessage { + char *msgstr; + char *msgid; + char *msgctxt; + + PoMessage(const char *translation, const char *message, const char *context = NULL) : + msgstr(NULL), msgid(NULL), msgctxt(NULL) + { + if (translation != NULL && *translation != '\0') { + msgstr = new char[1 + strlen(translation)]; + strcpy(msgstr, translation); + } + if (message != NULL && *message != '\0') { + msgid = new char[1 + strlen(message)]; + strcpy(msgid, message); + } + if (context != NULL && *context != '\0') { + msgctxt = new char[1 + strlen(context)]; + strcpy(msgctxt, context); + } + } + ~PoMessage() { + delete[] msgstr; + delete[] msgid; + delete[] msgctxt; + } +}; + +class PoMessageList { +public: + PoMessageList(); + ~PoMessageList(); + + void insert(const char *translation, const char *msg, const char *context = NULL); + const char *findTranslation(const char *msg, const char *context = NULL); + +private: + int compareString(const char *left, const char *right); + int compareMessage(const char *msgLeft, const char *contextLeft, const char *msgRight, const char *contextRight); + + PoMessage **_list; + int _size; + int _allocated; +}; + +PoMessageList *parsePoFile(const char *file); +char *stripLine(char *); +char *parseLine(const char *line, const char *field); + +#endif /* PO_PARSER_H */ diff --git a/devtools/create_supernova/strings-en.po b/devtools/create_supernova/strings-en.po new file mode 100644 index 0000000000..f1c9d2fae2 --- /dev/null +++ b/devtools/create_supernova/strings-en.po @@ -0,0 +1,2905 @@ +# Mission Supernova Translation. +# Copyright (C) YEAR ScummVM Team +# This file is distributed under the same license as the ScummVM package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Mission Supernova 1.0\n" +"Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" +"POT-Creation-Date: 2017-07-22 19:53+0100\n" +"PO-Revision-Date: 2018-01-07 18:01+0000\n" +"Last-Translator: Joseph-Eugene Winzer <Joe.Winzer@gmx.de>\n" +"Language-Team: none\n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CP850\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 2.9\n" + +#. I18N: Go +#: ../../msn/msn.c:1610 +msgid "Gehe" +msgstr "Go" + +#. I18N: Look +#: ../../msn/msn.c:1612 +msgid "Schau" +msgstr "Look" + +#. I18N: Take +#: ../../msn/msn.c:1614 +msgid "Nimm" +msgstr "Take" + +#. I18N: Open +#: ../../msn/msn.c:1616 +msgid "™ffne" +msgstr "Open" + +#. I18N: Close +#: ../../msn/msn.c:1618 +msgid "Schlieáe" +msgstr "Close" + +#. I18N: Push +#: ../../msn/msn.c:1620 +msgid "Drcke" +msgstr "Push" + +#. I18N: Pull +#: ../../msn/msn.c:1622 +msgid "Ziehe" +msgstr "Pull" + +#. I18N: Use +#: ../../msn/msn.c:1624 +msgid "Benutze" +msgstr "Use" + +#. I18N: Talk +#: ../../msn/msn.c:1626 +msgid "Rede" +msgstr "Talk" + +#. I18N: Give +#: ../../msn/msn.c:1628 +msgid "Gib" +msgstr "Give" + +#. I18N: End of conversation +#: ../../msn/msn.c:2204 +msgid "Gespr„ch beenden" +msgstr "End of conversation" + +#. I18N: Go to +#: ../../msn/msn.c:2334 +msgid "Gehe zu " +msgstr "Go to " + +#. I18N: Look at +#: ../../msn/msn.c:2336 +msgid "Schau " +msgstr "Look at " + +#. I18N: Take +#: ../../msn/msn.c:2338 +msgid "Nimm " +msgstr "Take " + +#. I18N: Open +#: ../../msn/msn.c:2340 +msgid "™ffne " +msgstr "Open " + +#. I18N: Close +#: ../../msn/msn.c:2342 +msgid "Schlieáe " +msgstr "Close " + +#. I18N: Push +#: ../../msn/msn.c:2344 +msgid "Drcke " +msgstr "Push " + +#. I18N: Pull +#: ../../msn/msn.c:2346 +msgid "Ziehe " +msgstr "Pull " + +#. I18N: Use +#: ../../msn/msn.c:2348 +msgid "Benutze " +msgstr "Use " + +#. I18N: Talk to +#: ../../msn/msn.c:2350 +msgid "Rede mit " +msgstr "Talk to " + +#. I18N: Give +#: ../../msn/msn.c:2352 +msgid "Gib " +msgstr "Give " + +#: ../../msn/msn.c:2368 +msgid " an " +msgstr " to " + +#: ../../msn/msn.c:2371 +msgid " mit " +msgstr " with " + +#. I18N: Load +#: ../../msn/msn.c:2880 +msgid "Laden" +msgstr "Load" + +#. I18N: Save +#: ../../msn/msn.c:2883 +msgid "Speichern" +msgstr "Save" + +#. I18N: Back +#: ../../msn/msn.c:2886 +msgid "Zurck" +msgstr "Back" + +#. I18N: Restart +#: ../../msn/msn.c:2889 +msgid "Neustart" +msgstr "Restart" + +#. I18N: Help +#: ../../msn/msn.c:3163 +msgid "F1 Hilfe" +msgstr "F1 Help" + +#. I18N: Instructions +#: ../../msn/msn.c:3165 +msgid "F2 Anleitung" +msgstr "F2 Instructions" + +#. I18N: Program information +#: ../../msn/msn.c:3167 +msgid "F3 Programminformationen" +msgstr "F3 Program information" + +#. I18N: Text Speed +#: ../../msn/msn.c:3169 +msgid "F4 Textgeschwindigkeit" +msgstr "F4 Text speed" + +#. I18N: Load / Save +#: ../../msn/msn.c:3171 +msgid "F5 Laden / Speichern" +msgstr "F5 Load / Save" + +#. I18N: Skip intro +#: ../../msn/msn.c:3173 +msgid "ESC Vorspann berspringen" +msgstr "ESC Skip intro" + +#. I18N: Exit program +#: ../../msn/msn.c:3175 +msgid "Alt-X Programm abbrechen" +msgstr "Alt-X Exit program" + +#. I18N: Text Speed +#: ../../msn/msn.c:3219 +msgid "Textgeschwindigkeit:" +msgstr "Text speed:" + +#. I18N: Leave game? +#: ../../msn/msn.c:3267 +msgid "Spiel abbrechen?" +msgstr "Leave game?" + +#: ../../msn/msn.c:3270 +msgid "Ja" +msgstr "Yes" + +#: ../../msn/msn.c:3271 +msgid "Nein" +msgstr "No" + +#. I18N: You already carry this. +#: ../../msn/msn.c:3341 +msgid "Das tr„gst du doch bei dir." +msgstr "You already carry this." + +#. I18N: You're already there. +#: ../../msn/msn.c:3344 +msgid "Du bist doch schon da." +msgstr "You are already there." + +#. I18N: This is closed +#: ../../msn/msn.c:3347 ../../msn/msn_r1.c:683 +msgid "Das ist geschlossen." +msgstr "This is closed." + +#. I18N: You already have that +#: ../../msn/msn.c:3357 +msgid "Das hast du doch schon." +msgstr "You already have that." + +#. I18N: You do not need that. +#: ../../msn/msn.c:3360 +msgid "Das brauchst du nicht." +msgstr "You don't need that." + +#. I18N: You can't take that. +#: ../../msn/msn.c:3363 +msgid "Das kannst du nicht nehmen." +msgstr "You can't take that." + +#. I18N: This can't be opened +#: ../../msn/msn.c:3370 +msgid "Das l„át sich nicht ”ffnen." +msgstr "This cannot be opened." + +#. I18N: This is already opened. +#: ../../msn/msn.c:3373 +msgid "Das ist schon offen." +msgstr "This is already opened." + +#. I18N: This is locked. +#: ../../msn/msn.c:3376 +msgid "Das ist verschlossen." +msgstr "This is locked." + +#. I18N: This can't be closed. +#: ../../msn/msn.c:3393 +msgid "Das l„át sich nicht schlieáen." +msgstr "This cannot be closed." + +#. I18N: This is already closed. +#: ../../msn/msn.c:3396 ../../msn/msn_r1.c:829 +msgid "Das ist schon geschlossen." +msgstr "This is already closed." + +#. I18N: Better keep it! +#: ../../msn/msn.c:3412 +msgid "Behalt es lieber!" +msgstr "Better keep it!" + +#. I18N: This is not possible. +#: ../../msn/msn.c:3418 +msgid "Das geht nicht." +msgstr "You can't do that." + +#: ../../msn/msn_mod.c:573 +msgid "^(C) 1994 Thomas und Steffen Dingel#" +msgstr "^(C) 1994 Thomas and Steffen Dingel#" + +#: ../../msn/msn_mod.c:574 +msgid "Story und Grafik:^ Thomas Dingel#" +msgstr "Story and Graphics:^ Thomas Dingel#" + +#: ../../msn/msn_mod.c:575 +msgid "Programmierung:^ Steffen Dingel#" +msgstr "Programming:^ Steffen Dingel#" + +#: ../../msn/msn_mod.c:576 +msgid "Musik:^ Bernd Hoffmann#" +msgstr "Music:^ Bernd Hoffmann#" + +#: ../../msn/msn_mod.c:577 +msgid "Getestet von ...#" +msgstr "Tested by ...#" + +#: ../../msn/msn_mod.c:587 +msgid "^ E#N#D#E ...########" +msgstr "^ T#H#E E#N#D ...########" + +#: ../../msn/msn_mod.c:588 +msgid "# ... des ersten Teils!########" +msgstr "# ... of the first part!########" + +#: ../../msn/msn_mod.c:590 +msgid "^Aber:#" +msgstr "^But:#" + +#: ../../msn/msn_mod.c:591 +msgid "Das Abenteuer geht weiter, ...##" +msgstr "The adventure continues ...##" + +#: ../../msn/msn_mod.c:592 +msgid "... wenn Sie sich fr 30,- DM registrieren lassen!##" +msgstr "... if you register for 30, - DM!##" + +#: ../../msn/msn_mod.c:593 +msgid "(Falls Sie das nicht schon l„ngst getan haben.)##" +msgstr "(If you have not already done so.)##" + +#: ../../msn/msn_mod.c:594 +msgid "In^ Teil 2 - Der Doppelg„nger^ erwarten Sie:##" +msgstr "In^ Part 2 - The Doppelganger^ you can expect:##" + +#: ../../msn/msn_mod.c:595 +msgid "Knifflige Puzzles,##" +msgstr "tricky puzzles,##" + +#: ../../msn/msn_mod.c:596 +msgid "noch mehr Grafik und Sound,##" +msgstr "even more graphics and sound,##" + +#: ../../msn/msn_mod.c:597 +msgid "ein perfekt geplanter Museumseinbruch,##" +msgstr "a perfectly planned museum burglary,##" + +#: ../../msn/msn_mod.c:598 +msgid "das Virtual-Reality-Spiel \"Indiana Joe\"##" +msgstr "the virtual reality game \"Indiana Joe\"##" + +#: ../../msn/msn_mod.c:599 +msgid "und vieles mehr!##" +msgstr "and much more!##" + +#. I18N: There's nothing special about it +#: ../../msn/msn_r0.c:26 +msgid "Es ist nichts Besonderes daran." +msgstr "There's nothing special about it." + +#. I18N: You first have to take it +#: ../../msn/msn_r0.c:28 ../../msn/msn_r0.c:230 +msgid "Das muát du erst nehmen." +msgstr "You first have to take it." + +#. I18N: Hello +#: ../../msn/msn_r0.c:33 +msgid "Hallo!" +msgstr "Hello!" + +#. I18N: Good day! +#: ../../msn/msn_r0.c:35 +msgid "Guten Tag!" +msgstr "Good day!" + +#. I18N: It's me, Horst Hummel +#: ../../msn/msn_r0.c:37 +msgid "Ich bin's, Horst Hummel." +msgstr "It's me, Horst Hummel." + +#: ../../msn/msn_r0.c:127 +#, c-format +msgid "%d Xa" +msgstr "%d Xa" + +#: ../../msn/msn_r0.c:147 +msgid "Ok." +msgstr "OK." + +#: ../../msn/msn_r0.c:166 +msgid "Irgendwie ist ein Raumhelm|beim Essen unpraktisch." +msgstr "Somehow, a space helmet is|impractical when eating." + +#: ../../msn/msn_r0.c:182 ../../msn/msn_r0.c:192 +msgid "Schmeckt ganz gut." +msgstr "Tastes good." + +#: ../../msn/msn_r0.c:194 +msgid "Da war irgendetwas drin,|aber jetzt hast du es|mit runtergeschluckt." +msgstr "There was something in it, but now you swallowed it." + +#: ../../msn/msn_r0.c:202 +msgid "Du hast es doch schon ge”ffnet." +msgstr "You've already opened it." + +#: ../../msn/msn_r0.c:206 +msgid "In dem Ei ist eine Tablette|in einer Plastikhlle." +msgstr "The egg contains a pill|in a plastic sleeve." + +#: ../../msn/msn_r0.c:214 +msgid "Du iát die Tablette und merkst,|daá sich irgendetwas ver„ndert hat." +msgstr "You eat the pill and realize|that something has changed." + +#: ../../msn/msn_r0.c:224 +msgid "" +"Komisch! Auf einmal kannst du die Schrift lesen!|Darauf steht:\"Wenn Sie " +"diese Schrift jetzt|lesen k”nnen, hat die Tablette gewirkt.\"" +msgstr "" +"Funny! Now you can read the inscription!|It says, \"If you can read this " +"text now,|the pill has worked.\"" + +#: ../../msn/msn_r0.c:232 +msgid "Sie ist leer." +msgstr "It is empty." + +#: ../../msn/msn_r0.c:235 +msgid "Du findest 10 Buckazoids und eine Keycard." +msgstr "You find 10 buckazoids and a keycard." + +#: ../../msn/msn_r0.c:242 +msgid "Es ist eine Art elektronische Zeitung." +msgstr "This is a kind of electronic newspaper." + +#: ../../msn/msn_r0.c:245 +msgid "Halt, hier ist ein interessanter Artikel." +msgstr "Here, this article looks interesting." + +#: ../../msn/msn_r0.c:268 +msgid "Hmm, irgendwie komme|ich mir verarscht vor." +msgstr "Hmm, somehow|I feel tricked." + +#: ../../msn/msn_r0.c:273 +msgid "Es ist die Keycard des Commanders." +msgstr "This is the keycard of the Commander." + +#: ../../msn/msn_r0.c:277 +msgid "" +"Es ist eine Uhr mit extra|lautem Wecker. Sie hat einen|Knopf zum Verstellen " +"der Alarmzeit.|Uhrzeit: %s Alarmzeit: %s" +msgstr "" +"This is a clock with a very loud alarm. It has a button|for adjusting the " +"alarm time.|Time: %s Alarm: %s" + +#: ../../msn/msn_r0.c:291 +msgid "Neue Alarmzeit (hh:mm) :" +msgstr "New alarm time (hh:mm):" + +#: ../../msn/msn_r0.c:332 ../../msn/msn_r1.c:486 ../../msn/msn_r1.c:595 +msgid "Leitung mit Lsterklemme" +msgstr "Cable with terminal strip" + +#: ../../msn/msn_r0.c:344 +msgid "Kabelrolle mit Lsterklemme" +msgstr "Cable reel with terminal strip" + +#: ../../msn/msn_r0.c:355 ../../msn/msn_r1.c:495 ../../msn/msn_r1.c:604 +msgid "Womit denn?" +msgstr "With what?" + +#: ../../msn/msn_r0.c:366 ../../msn/msn_r1.c:499 ../../msn/msn_r1.c:608 +#: ../../msn/msn_r1_r.c:115 +msgid "langes Kabel mit Stecker" +msgstr "long cable with plug" + +#: ../../msn/msn_r0.c:381 ../../msn/msn_r0.c:418 ../../msn/msn_r0.c:454 +msgid "Die Luft hier ist atembar,|du ziehst den Anzug aus." +msgstr "The air here is breathable,|you take off your suit." + +#: ../../msn/msn_r0.c:387 ../../msn/msn_r0.c:424 ../../msn/msn_r0.c:460 +msgid "Hier drinnen brauchtst du deinen Anzug nicht." +msgstr "Inside you do not need your suit." + +#: ../../msn/msn_r0.c:395 +msgid "Du muát erst den Helm abnehmen." +msgstr "You must take off your helmet first." + +#: ../../msn/msn_r0.c:397 +msgid "Du muát erst den Versorgungsteil abnehmen." +msgstr "You must take off your oxygen supply unit first." + +#: ../../msn/msn_r0.c:401 +msgid "Du ziehst den Raumanzug aus." +msgstr "Your take off your space suit." + +#: ../../msn/msn_r0.c:407 +msgid "Du ziehst den Raumanzug an." +msgstr "You put on your space suit." + +#: ../../msn/msn_r0.c:431 +msgid "Den Helm h„ttest du|besser angelassen!" +msgstr "You should have kept your helmet on!" + +#: ../../msn/msn_r0.c:433 +msgid "Du ziehst den Helm ab." +msgstr "You take off your helmet." + +#: ../../msn/msn_r0.c:441 +msgid "Du ziehst den Helm auf." +msgstr "You put on your helmet." + +#: ../../msn/msn_r0.c:443 ../../msn/msn_r0.c:479 +msgid "Du muát erst den Anzug anziehen." +msgstr "You must wear the suit first." + +#: ../../msn/msn_r0.c:467 +msgid "Den Versorungsteil h„ttest du|besser nicht abgenommen!" +msgstr "You should not have taken off your oxygen supply unit!" + +#: ../../msn/msn_r0.c:469 +msgid "Du nimmst den Versorgungsteil ab." +msgstr "You take off your oxygen supply unit." + +#: ../../msn/msn_r0.c:477 +msgid "Du ziehst den Versorgungsteil an." +msgstr "You put on your oxygen supply unit." + +#: ../../msn/msn_r0.c:489 +msgid "Die Leitung ist hier unntz." +msgstr "The cable is useless here." + +#: ../../msn/msn_r0.c:492 +msgid "" +"Stark, das ist ja die Fortsetzung zum \"Anhalter\":|\"Das Restaurant am Ende " +"des Universums\"." +msgstr "" +"Great, this is the sequel to the \"Hitchhiker\":|\"The Restaurant at the End " +"of the Universe\"." + +#: ../../msn/msn_r0.c:495 +msgid "" +"Moment mal, es ist ein Lesezeichen drin,|auf dem \"Zweiundvierzig\" steht." +msgstr "Wait a minute, there is a bookmark in it|that says \"Forty-two\"." + +#: ../../msn/msn_r0.c:507 +msgid "Du h„ttest besser vorher|den Stecker rausgezogen." +msgstr "You should have pulled|the plug before." + +#: ../../msn/msn_r0.c:567 +msgid "Deine Armbanduhr piepst,|die Alarmzeit ist erreicht." +msgstr "Your watch beeps,|this is the alarm." + +#: ../../msn/msn_r0.c:803 ../../msn/msn_r1_r.c:117 +msgid "Keycard" +msgstr "Keycard" + +#: ../../msn/msn_r0.c:803 +msgid "Die Keycard fr deine Schr„nke." +msgstr "The keycard for your locker." + +#: ../../msn/msn_r0.c:805 +msgid "Taschenmesser" +msgstr "Pocket knife" + +#: ../../msn/msn_r0.c:805 +msgid "Es ist nicht mehr das sch„rfste." +msgstr "It is quite blunt." + +#: ../../msn/msn_r0.c:807 ../../msn/msn_r3.c:1527 +msgid "Armbanduhr" +msgstr "Watch" + +#: ../../msn/msn_r0.c:808 ../../msn/msn_r1_r.c:199 +msgid "Discman" +msgstr "Discman" + +#: ../../msn/msn_r0.c:808 ../../msn/msn_r1_r.c:199 +msgid "Es ist eine \"Mad Monkeys\"-CD darin." +msgstr "There is a \"Mad Monkeys\" CD in it." + +#: ../../msn/msn_r1.c:58 +msgid "" +"In der Kche warst du schon|oft genug, im Moment hast|du keinen Appetit." +msgstr "" +"You have been often enough|in the kitchen and you are|no longer hungry." + +#. I18N: FORTYTWO +#: ../../msn/msn_r1.c:91 +msgid "ZWEIUNDVIERZIG" +msgstr "FORTY-TWO" + +#. I18N: Destination reached +#: ../../msn/msn_r1.c:104 +msgid "Flugziel erreicht" +msgstr "Destination reached" + +#. I18N: Energy depleted +#: ../../msn/msn_r1.c:110 +msgid "Energie ersch”pft" +msgstr "Energy depleted" + +#. I18N: Artificial coma interrupted +#: ../../msn/msn_r1.c:112 +msgid "Tiefschlafprozess abgebrochen" +msgstr "Stasis interrupted" + +#: ../../msn/msn_r1.c:120 ../../msn/msn_r1.c:156 +msgid "Bitte legen Sie sich in die angezeigte Schlafkammer." +msgstr "Please lay down in the indicated stasis pod." + +#: ../../msn/msn_r1.c:125 +msgid "Bitte Passwort eingeben:" +msgstr "Please enter your password:" + +#: ../../msn/msn_r1.c:135 ../../msn/msn_r3.c:1171 +msgid "Falsches Passwort" +msgstr "Password incorrect" + +#: ../../msn/msn_r1.c:141 +msgid "Schlafdauer in Tagen:" +msgstr "Sleep duration in days:" + +#: ../../msn/msn_r1.c:172 +msgid "" +"Es wrde wenig bringen,|sich in eine Schlafkammer zu legen,|die nicht " +"eingeschaltet ist." +msgstr "" +"You are not going to achieve anything|by using a stasis pod that is|not " +"switched on." + +#: ../../msn/msn_r1.c:174 +msgid "Dazu muát du erst den Raumanzug ausziehen." +msgstr "To do this you have to take off the space suit first." + +#: ../../msn/msn_r1.c:248 ../../msn/msn_s.c:210 +msgid "Was war das?" +msgstr "What was that?" + +#: ../../msn/msn_r1.c:266 +msgid "Achtung" +msgstr "Danger" + +#: ../../msn/msn_r1.c:289 +msgid "" +"Du wachst mit brummendem Sch„del auf|und merkst, daá du nur getr„umt hast." +msgstr "" +"You wake up with a buzzing sensation in your head|and realise that it was " +"only a dream." + +#: ../../msn/msn_r1.c:292 +msgid "" +"Beim Aufprall des Raumschiffs|muát du mit dem Kopf aufgeschlagen|und " +"bewuátlos geworden sein." +msgstr "" +"During the space ship impact|you must have hit your head|and lost " +"consciousness." + +#: ../../msn/msn_r1.c:295 +msgid "Was steht dir jetzt wohl wirklich bevor?" +msgstr "What is going to happen to you now?" + +#: ../../msn/msn_r1.c:307 +msgid "Geschwindigkeit: " +msgstr "Speed: " + +#: ../../msn/msn_r1.c:308 +msgid "8000 hpm" +msgstr "8000 hpm" + +#: ../../msn/msn_r1.c:309 +msgid "0 hpm" +msgstr "0 hpm" + +#: ../../msn/msn_r1.c:310 +msgid "Ziel: Arsano 3" +msgstr "Destination: Arsano 3" + +#: ../../msn/msn_r1.c:311 +msgid "Entfernung: " +msgstr "Distance: " + +#: ../../msn/msn_r1.c:318 +msgid " Lichtjahre" +msgstr " light years" + +#: ../../msn/msn_r1.c:319 +msgid "Dauer der Reise bei momentaner Geschwindigkeit:" +msgstr "Duration of trip at current speed:" + +#: ../../msn/msn_r1.c:321 +msgid " Tage" +msgstr " days" + +#: ../../msn/msn_r1.c:330 +msgid "" +"Vergiá nicht, du bist nur der|Schiffskoch und hast keine Ahnung,|wie man ein " +"Raumschiff fliegt." +msgstr "" +"Do not forget, you're only the|ship's cook and have no idea|how to fly a " +"spaceship." + +#: ../../msn/msn_r1.c:344 +msgid "Achtung: Triebwerke funktionsunf„hig" +msgstr "Warning: Engine malfunction" + +#: ../../msn/msn_r1.c:357 +msgid "Energievorrat ersch”pft" +msgstr "Energy supply exhausted" + +#: ../../msn/msn_r1.c:358 +msgid "Notstromversorgung aktiv" +msgstr "Emergency energy supply active" + +#: ../../msn/msn_r1.c:447 +msgid "Zu niedriger Luftdruck soll ungesund sein." +msgstr "Air pressure too low unhealthy is." + +#: ../../msn/msn_r1.c:454 +msgid "Er zeigt Null an." +msgstr "It indicates zero." + +#: ../../msn/msn_r1.c:455 +msgid "Er zeigt Normaldruck an." +msgstr "It indicates normal pressure." + +#: ../../msn/msn_r1.c:464 +msgid "Ein Stck Schrott." +msgstr "Some scrap metal." + +#: ../../msn/msn_r1.c:476 +msgid "Du muát erst hingehen." +msgstr "You must go there first." + +#: ../../msn/msn_r1.c:480 ../../msn/msn_r1.c:639 ../../msn/msn_r1.c:728 +msgid "Das Kabel ist im Weg." +msgstr "The cable is in the way." + +#: ../../msn/msn_r1.c:483 ../../msn/msn_r1.c:642 ../../msn/msn_r1.c:698 +msgid "Das Kabel ist schon ganz|richtig an dieser Stelle." +msgstr "The cable is already in the right place." + +#: ../../msn/msn_r1.c:519 +msgid "Die Leitung ist zu kurz." +msgstr "The line is too short." + +#: ../../msn/msn_r1.c:567 +msgid "Es ist nicht spitz genug." +msgstr "It is not sharp enough." + +#: ../../msn/msn_r1.c:570 +msgid "Du wirst aus den Anzeigen nicht schlau." +msgstr "You cannot make sense of it." + +#: ../../msn/msn_r1.c:572 +msgid "Laá lieber die Finger davon!" +msgstr "You better keep your hands off!" + +#: ../../msn/msn_r1.c:591 +msgid "An dem Kabel ist doch gar kein Stecker." +msgstr "There is no plug on the cable." + +#: ../../msn/msn_r1.c:635 +msgid "Du solltest die Luke vielleicht erst ”ffnen." +msgstr "You should open the hatch first." + +#: ../../msn/msn_r1.c:668 +msgid "Das Seil ist im Weg." +msgstr "The cable is in the way." + +#: ../../msn/msn_r1.c:685 +msgid "Das geht nicht.|Die Luke ist mindestens|5 Meter ber dem Boden." +msgstr "That will not do.|The hatch is at least|5 meters above the ground." + +#: ../../msn/msn_r1.c:694 +msgid "Keycard des Commanders" +msgstr "Keycard of the Commander" + +#: ../../msn/msn_r1.c:766 +msgid "Was ntzt dir der Anschluá|ohne eine Stromquelle?!" +msgstr "What good would come from connecting it|without a power source?!" + +#: ../../msn/msn_r1.c:770 +msgid "Die Spannung ist auf Null abgesunken." +msgstr "The voltage has dropped to zero." + +#: ../../msn/msn_r1.c:771 +msgid "Es zeigt volle Spannung an." +msgstr "It displays full voltage." + +#: ../../msn/msn_r1.c:782 +msgid "Du muát die Luke erst ”ffnen." +msgstr "You must open the hatch first." + +#: ../../msn/msn_r1.c:801 +msgid "Das Seil ist hier schon ganz richtig." +msgstr "The cable is in the right place." + +#: ../../msn/msn_r1.c:806 +msgid "Das Kabel ist zu kurz." +msgstr "The cable is too short." + +#: ../../msn/msn_r1.c:913 +msgid "Du hast die Platte schon aufgelegt." +msgstr "You already put the record on." + +#: ../../msn/msn_r1.c:925 +msgid "Es ist doch gar keine Platte aufgelegt." +msgstr "You haven't put a record on yet." + +#: ../../msn/msn_r1.c:960 +msgid "Die Platte scheint einen Sprung zu haben." +msgstr "The record seems to be scratched." + +#: ../../msn/msn_r1.c:981 +msgid "Schneid doch besser ein|l„ngeres Stck Kabel ab!" +msgstr "You should cut a longer|piece of cable!" + +#: ../../msn/msn_r1.c:1003 +msgid "Leitung mit Stecker" +msgstr "Cable with plug" + +#: ../../msn/msn_r1.c:1008 ../../msn/msn_r3.c:75 +msgid "Das ist befestigt." +msgstr "This is fixed." + +#: ../../msn/msn_r1.c:1084 +msgid "Du hast jetzt besseres zu tun." +msgstr "You have better things to do now." + +#: ../../msn/msn_r1.c:1086 +msgid "Wenn du unbedingt aufs Klo|willst, spiel doch Larry 1." +msgstr "If you absolutely want to go|to the loo, play Larry 1." + +#: ../../msn/msn_r1.c:1097 +msgid "Was?! Keiner im Cockpit!|Die sind wohl verrckt!" +msgstr "What?! No one in the cockpit!|They're crazy!" + +#: ../../msn/msn_r1.c:1105 +msgid "Komisch, es ist nur|noch ein Raumanzug da." +msgstr "Funny, there's only|one space suit." + +#: ../../msn/msn_r1.c:1113 +msgid "" +"Was ist denn das fr ein Chaos?|Und auáerdem fehlt das Notraumschiff!|Jetzt " +"wird mir einiges klar.|Die anderen sind geflchtet,|und ich habe es verpennt." +msgstr "" +"What is that chaos? And also|the escape ship is missing!|Now I understand. " +"The others|have escaped, and they left|me behind." + +#: ../../msn/msn_r1_r.c:16 ../../msn/msn_r1_r.c:17 ../../msn/msn_r1_r.c:18 +#: ../../msn/msn_r1_r.c:19 ../../msn/msn_r1_r.c:20 ../../msn/msn_r1_r.c:21 +#: ../../msn/msn_r1_r.c:22 ../../msn/msn_r1_r.c:31 ../../msn/msn_r1_r.c:32 +#: ../../msn/msn_r1_r.c:34 ../../msn/msn_r1_r.c:44 ../../msn/msn_r1_r.c:45 +#: ../../msn/msn_r1_r.c:63 ../../msn/msn_r1_r.c:65 ../../msn/msn_r1_r.c:89 +#: ../../msn/msn_r1_r.c:93 ../../msn/msn_r1_r.c:108 ../../msn/msn_r1_r.c:120 +#: ../../msn/msn_r1_r.c:122 ../../msn/msn_r1_r.c:136 ../../msn/msn_r1_r.c:150 +#: ../../msn/msn_r1_r.c:165 ../../msn/msn_r1_r.c:201 ../../msn/msn_r1_r.c:219 +#: ../../msn/msn_r1_r.c:245 ../../msn/msn_r1_r.c:279 +msgid "Luke" +msgstr "Hatch" + +#: ../../msn/msn_r1_r.c:23 ../../msn/msn_r1_r.c:67 ../../msn/msn_r1_r.c:68 +#: ../../msn/msn_r1_r.c:103 ../../msn/msn_r1_r.c:239 ../../msn/msn_r2.c:1256 +#: ../../msn/msn_r2.c:1293 ../../msn/msn_r2.c:1294 ../../msn/msn_r2.c:1295 +#: ../../msn/msn_r2.c:1296 ../../msn/msn_r3.c:1479 ../../msn/msn_r3.c:1677 +#: ../../msn/msn_r3.c:1678 +msgid "Knopf" +msgstr "Button" + +#: ../../msn/msn_r1_r.c:23 +msgid "Er geh”rt zu der groáen Luke." +msgstr "It belongs to the large hatch." + +#: ../../msn/msn_r1_r.c:24 ../../msn/msn_r1_r.c:37 ../../msn/msn_r1_r.c:130 +msgid "Leiter" +msgstr "Ladder" + +#: ../../msn/msn_r1_r.c:25 ../../msn/msn_r1_r.c:47 ../../msn/msn_r1_r.c:57 +#: ../../msn/msn_r1_r.c:92 ../../msn/msn_r1_r.c:293 ../../msn/msn_r2.c:1221 +#: ../../msn/msn_r2.c:1223 ../../msn/msn_r2.c:1259 ../../msn/msn_r2.c:1277 +#: ../../msn/msn_r2.c:1292 ../../msn/msn_r3.c:1498 ../../msn/msn_r3.c:1499 +#: ../../msn/msn_r3.c:1506 ../../msn/msn_r3.c:1507 ../../msn/msn_r3.c:1508 +#: ../../msn/msn_r3.c:1515 ../../msn/msn_r3.c:1522 ../../msn/msn_r3.c:1523 +#: ../../msn/msn_r3.c:1535 ../../msn/msn_r3.c:1536 ../../msn/msn_r3.c:1543 +#: ../../msn/msn_r3.c:1544 ../../msn/msn_r3.c:1552 ../../msn/msn_r3.c:1553 +#: ../../msn/msn_r3.c:1561 ../../msn/msn_r3.c:1568 ../../msn/msn_r3.c:1578 +#: ../../msn/msn_r3.c:1579 ../../msn/msn_r3.c:1594 ../../msn/msn_r3.c:1608 +#: ../../msn/msn_r3.c:1679 ../../msn/msn_r3.c:1695 +msgid "Ausgang" +msgstr "Exit" + +#: ../../msn/msn_r1_r.c:31 +msgid "Sie fhrt ins Cockpit." +msgstr "It leads into the cockpit." + +#: ../../msn/msn_r1_r.c:32 +msgid "Sie fhrt zur Kche." +msgstr "It leads to the kitchen." + +#: ../../msn/msn_r1_r.c:34 +msgid "Sie fhrt zu den Tiefschlafkammern." +msgstr "It leads to the stasis pods." + +#: ../../msn/msn_r1_r.c:36 ../../msn/msn_r1_r.c:123 ../../msn/msn_r1_r.c:151 +#: ../../msn/msn_r1_r.c:166 ../../msn/msn_r1_r.c:179 ../../msn/msn_r1_r.c:180 +#: ../../msn/msn_r1_r.c:181 ../../msn/msn_r1_r.c:182 ../../msn/msn_r1_r.c:202 +#: ../../msn/msn_r1_r.c:220 ../../msn/msn_r1_r.c:246 ../../msn/msn_r1_r.c:256 +#: ../../msn/msn_r1_r.c:257 ../../msn/msn_r1_r.c:258 ../../msn/msn_r1_r.c:259 +#: ../../msn/msn_r1_r.c:280 ../../msn/msn_r2.c:1252 ../../msn/msn_r2.c:1298 +#: ../../msn/msn_r3.c:1696 +msgid "Schlitz" +msgstr "Slot" + +#: ../../msn/msn_r1_r.c:36 ../../msn/msn_r1_r.c:123 ../../msn/msn_r1_r.c:151 +#: ../../msn/msn_r1_r.c:166 ../../msn/msn_r1_r.c:179 ../../msn/msn_r1_r.c:180 +#: ../../msn/msn_r1_r.c:181 ../../msn/msn_r1_r.c:182 ../../msn/msn_r1_r.c:202 +#: ../../msn/msn_r1_r.c:220 ../../msn/msn_r1_r.c:246 ../../msn/msn_r1_r.c:256 +#: ../../msn/msn_r1_r.c:257 ../../msn/msn_r1_r.c:258 ../../msn/msn_r1_r.c:259 +#: ../../msn/msn_r1_r.c:280 +msgid "Es ist ein Keycard-Leser." +msgstr "It is a keycard reader." + +#: ../../msn/msn_r1_r.c:38 ../../msn/msn_r3.c:1595 +msgid "Gang" +msgstr "Corridor" + +#: ../../msn/msn_r1_r.c:44 ../../msn/msn_r1_r.c:45 +msgid "Dies ist eine der Tiefschlafkammern." +msgstr "This is one of the stasis pods." + +#: ../../msn/msn_r1_r.c:46 ../../msn/msn_r3.c:1622 ../../msn/msn_r3.c:1634 +#: ../../msn/msn_r3.c:1645 ../../msn/msn_r3.c:1657 ../../msn/msn_r3.c:1668 +msgid "Computer" +msgstr "Computer" + +#: ../../msn/msn_r1_r.c:53 ../../msn/msn_r2.c:1302 +msgid "Instrumente" +msgstr "Instruments" + +#: ../../msn/msn_r1_r.c:53 +msgid "Hmm, sieht ziemlich kompliziert aus." +msgstr "Hmm, this looks pretty complicated." + +#: ../../msn/msn_r1_r.c:55 ../../msn/msn_r1_r.c:56 ../../msn/msn_r1_r.c:105 +msgid "Monitor" +msgstr "Monitor" + +#: ../../msn/msn_r1_r.c:56 +msgid "Dieser Monitor sagt dir nichts." +msgstr "There is nothing on this monitor." + +#: ../../msn/msn_r1_r.c:63 +msgid "Das ist eine Luke !!!" +msgstr "This is a hatch !!!" + +#: ../../msn/msn_r1_r.c:65 +msgid "Dies ist eine Luke !!!" +msgstr "This is a hatch !!!" + +#: ../../msn/msn_r1_r.c:69 +msgid "Helm" +msgstr "Helmet" + +#: ../../msn/msn_r1_r.c:69 +msgid "Es ist der Helm zum Raumanzug." +msgstr "This is the helmet for the space suit." + +#: ../../msn/msn_r1_r.c:70 +msgid "Raumanzug" +msgstr "Space suit" + +#: ../../msn/msn_r1_r.c:70 +msgid "Der einzige Raumanzug, den die|anderen hiergelassen haben ..." +msgstr "The only space suit left behind by the others..." + +#: ../../msn/msn_r1_r.c:72 +msgid "Versorgung" +msgstr "Oxygen Supply Unit" + +#: ../../msn/msn_r1_r.c:72 +msgid "Es ist der Versorgungsteil zum Raumanzug." +msgstr "It is the oxygen supply unit for the space suit." + +#: ../../msn/msn_r1_r.c:74 +msgid "Druckmesser" +msgstr "Manometer" + +#: ../../msn/msn_r1_r.c:81 ../../msn/msn_r1_r.c:84 +msgid "Schrott" +msgstr "Scrap" + +#: ../../msn/msn_r1_r.c:81 +msgid "" +"Da ist eine Lsterklemme dran, die|noch ganz brauchbar aussieht.|Ich nehme " +"sie mit." +msgstr "" +"There is a terminal strip on it|that looks quite useful.|I will take it with " +"me." + +#: ../../msn/msn_r1_r.c:83 +msgid "Lsterklemme" +msgstr "Terminal strip" + +#: ../../msn/msn_r1_r.c:84 +msgid "" +"Junge, Junge! Die Explosion hat ein|ganz sch”nes Durcheinander angerichtet." +msgstr "Boy, oh boy! The explosion created|quite a mess." + +#: ../../msn/msn_r1_r.c:86 +msgid "Reaktor" +msgstr "Reactor" + +#: ../../msn/msn_r1_r.c:86 +msgid "Das war einmal der Reaktor." +msgstr "This was a reactor once." + +#: ../../msn/msn_r1_r.c:87 +msgid "Dse" +msgstr "Thruster" + +#: ../../msn/msn_r1_r.c:88 +msgid "blauer Krbis" +msgstr "blue pumpkin" + +#: ../../msn/msn_r1_r.c:88 +msgid "Keine Ahnung, was das ist." +msgstr "No idea what this is." + +#: ../../msn/msn_r1_r.c:90 +msgid "Landef„hre" +msgstr "Landing module" + +#: ../../msn/msn_r1_r.c:90 +msgid "Sie war eigentlich fr Bodenuntersuchungen|auf Arsano 3 gedacht." +msgstr "It was supposed to be used for soil analysis|on Arsano 3." + +#: ../../msn/msn_r1_r.c:93 ../../msn/msn_r1_r.c:120 +msgid "Sie fhrt nach drauáen." +msgstr "It leads outside." + +#: ../../msn/msn_r1_r.c:95 +msgid "Generator" +msgstr "Generator" + +#: ../../msn/msn_r1_r.c:95 +msgid "Er versorgt das Raumschiff mit Strom." +msgstr "It supplies power to the spaceship." + +#: ../../msn/msn_r1_r.c:102 ../../msn/msn_r1_r.c:154 ../../msn/msn_r1_r.c:169 +#: ../../msn/msn_r1_r.c:205 ../../msn/msn_r1_r.c:223 ../../msn/msn_r1_r.c:249 +#: ../../msn/msn_r1_r.c:283 ../../msn/msn_r3.c:1486 +msgid "Steckdose" +msgstr "Socket" + +#: ../../msn/msn_r1_r.c:103 +msgid "" +"Es ist ein Sicherheitsknopf.|Er kann nur mit einem spitzen|Gegenstand " +"gedrckt werden." +msgstr "It's a safety button.|It can only be pushed|with a pointed object." + +#: ../../msn/msn_r1_r.c:106 ../../msn/msn_r2.c:1300 +msgid "Tastatur" +msgstr "Keyboard" + +#: ../../msn/msn_r1_r.c:116 +msgid "leere Kabelrolle" +msgstr "Empty cable reel" + +#: ../../msn/msn_r1_r.c:117 +msgid "" +"Hey, das ist die Keycard des Commanders!|Er muá sie bei dem berstrzten|" +"Aufbruch verloren haben." +msgstr "" +"Hey, that's the commander's keycard!|He must have lost it in the rushed|" +"departure." + +#: ../../msn/msn_r1_r.c:119 ../../msn/msn_r1_r.c:137 ../../msn/msn_r1_r.c:188 +#: ../../msn/msn_r2.c:1212 +msgid "Seil" +msgstr "Rope" + +#: ../../msn/msn_r1_r.c:124 +msgid "Klappe" +msgstr "Hatch" + +#: ../../msn/msn_r1_r.c:125 ../../msn/msn_r1_r.c:128 ../../msn/msn_r1_r.c:242 +#: ../../msn/msn_r1_r.c:243 ../../msn/msn_r3.c:1485 +msgid "Leitung" +msgstr "Cable" + +#: ../../msn/msn_r1_r.c:126 +msgid "Spannungmessger„t" +msgstr "Voltmeter" + +#: ../../msn/msn_r1_r.c:127 +msgid "Klemme" +msgstr "Clamp" + +#: ../../msn/msn_r1_r.c:128 +msgid "Sie fhrt vom Generator zum Spannungmessger„t." +msgstr "It goes from the generator to the voltage meter." + +#: ../../msn/msn_r1_r.c:143 ../../msn/msn_r1_r.c:212 ../../msn/msn_r1_r.c:213 +#: ../../msn/msn_r1_r.c:214 ../../msn/msn_r1_r.c:217 ../../msn/msn_r3.c:1599 +#: ../../msn/msn_r3.c:1614 ../../msn/msn_r3.c:1636 ../../msn/msn_r3.c:1646 +#: ../../msn/msn_r3.c:1647 +msgid "Bild" +msgstr "Image" + +#: ../../msn/msn_r1_r.c:143 +msgid "Manche Leute haben schon|einen komischen Geschmack." +msgstr "Some people have funny tastes." + +#: ../../msn/msn_r1_r.c:145 +msgid "Zeichenger„te" +msgstr "Drawing instruments" + +#: ../../msn/msn_r1_r.c:146 +msgid "" +"Auf dem Zettel sind lauter|unverst„ndliche Skizzen und Berechnungen.|" +"(Jedenfalls fr dich unverst„ndlich.)" +msgstr "" +"There are incomprehensible sketches|and calculations on that note.|(At " +"least, it's incomprehensible to you.)" + +#: ../../msn/msn_r1_r.c:148 ../../msn/msn_r1_r.c:215 ../../msn/msn_r1_r.c:233 +#: ../../msn/msn_r1_r.c:276 +msgid "Magnete" +msgstr "Magnets" + +#: ../../msn/msn_r1_r.c:148 ../../msn/msn_r1_r.c:215 ../../msn/msn_r1_r.c:233 +#: ../../msn/msn_r1_r.c:276 +msgid "Damit werden Sachen auf|dem Tisch festgehalten." +msgstr "This keeps things|on the table." + +#: ../../msn/msn_r1_r.c:152 ../../msn/msn_r1_r.c:167 ../../msn/msn_r1_r.c:190 +#: ../../msn/msn_r1_r.c:203 ../../msn/msn_r1_r.c:221 ../../msn/msn_r1_r.c:247 +#: ../../msn/msn_r1_r.c:260 ../../msn/msn_r1_r.c:281 +msgid "Schrank" +msgstr "Cabinet" + +#: ../../msn/msn_r1_r.c:153 ../../msn/msn_r1_r.c:168 ../../msn/msn_r1_r.c:183 +#: ../../msn/msn_r1_r.c:186 ../../msn/msn_r1_r.c:195 ../../msn/msn_r1_r.c:204 +#: ../../msn/msn_r1_r.c:222 ../../msn/msn_r1_r.c:248 ../../msn/msn_r1_r.c:262 +#: ../../msn/msn_r1_r.c:264 ../../msn/msn_r1_r.c:267 ../../msn/msn_r1_r.c:282 +#: ../../msn/msn_r2.c:1299 +msgid "Fach" +msgstr "Storage compartment" + +#: ../../msn/msn_r1_r.c:155 ../../msn/msn_r1_r.c:170 ../../msn/msn_r1_r.c:206 +#: ../../msn/msn_r1_r.c:224 ../../msn/msn_r1_r.c:250 ../../msn/msn_r1_r.c:278 +#: ../../msn/msn_r2.c:1254 +msgid "Toilette" +msgstr "Toilet" + +#: ../../msn/msn_r1_r.c:161 ../../msn/msn_r1_r.c:176 ../../msn/msn_r2.c:1283 +msgid "Schachspiel" +msgstr "Chessboard" + +#: ../../msn/msn_r1_r.c:161 +msgid "Es macht wohl Spaá, an|der Decke Schach zu spielen." +msgstr "I guess it's fun to play|chess on the ceiling." + +#: ../../msn/msn_r1_r.c:163 +msgid "Tennisschl„ger" +msgstr "Tennis racquets" + +#: ../../msn/msn_r1_r.c:163 +msgid "Fliegt Boris Becker auch mit?" +msgstr "Is Boris Becker part of the crew?" + +#: ../../msn/msn_r1_r.c:164 +msgid "Tennisball" +msgstr "Tennis ball" + +#: ../../msn/msn_r1_r.c:164 ../../msn/msn_r1_r.c:213 +msgid "Toll!" +msgstr "Awesome!" + +#: ../../msn/msn_r1_r.c:176 +msgid "Dein Magnetschachspiel. Schach war|schon immer deine Leidenschaft." +msgstr "Your magnetic chess game. Chess|has always been your passion." + +#: ../../msn/msn_r1_r.c:178 +msgid "Bett" +msgstr "Bed" + +#: ../../msn/msn_r1_r.c:178 +msgid "Das ist dein Bett. Toll, nicht wahr?" +msgstr "This is your bed. Great, isn't it?" + +#: ../../msn/msn_r1_r.c:183 ../../msn/msn_r1_r.c:186 ../../msn/msn_r1_r.c:195 +msgid "Das ist eins deiner drei F„cher." +msgstr "It's one of your three storage compartments." + +#: ../../msn/msn_r1_r.c:185 +msgid "Alben" +msgstr "Albums" + +#: ../../msn/msn_r1_r.c:185 +msgid "Deine Briefmarkensammlung." +msgstr "Your stamp collection." + +#: ../../msn/msn_r1_r.c:188 +msgid "Es ist ungef„hr 10 m lang und 4 cm dick." +msgstr "It is about 10 m long and 4 cm thick." + +#: ../../msn/msn_r1_r.c:190 +msgid "Das ist dein Schrank." +msgstr "This is your cabinet." + +#: ../../msn/msn_r1_r.c:191 ../../msn/msn_r1_r.c:274 ../../msn/msn_r1_r.c:275 +msgid "Krimskram" +msgstr "Junk" + +#: ../../msn/msn_r1_r.c:191 ../../msn/msn_r1_r.c:274 ../../msn/msn_r1_r.c:275 +msgid "Es ist nichts brauchbares dabei." +msgstr "There is nothing useful in there." + +#: ../../msn/msn_r1_r.c:192 ../../msn/msn_r1_r.c:273 +msgid "Kleider" +msgstr "Clothes" + +#: ../../msn/msn_r1_r.c:192 +msgid "Es sind Standard-Weltraum-Klamotten." +msgstr "They are standard space gear." + +#: ../../msn/msn_r1_r.c:193 ../../msn/msn_r1_r.c:269 ../../msn/msn_r1_r.c:271 +msgid "Unterw„sche" +msgstr "Underwear" + +#: ../../msn/msn_r1_r.c:194 +msgid "Strmpfe" +msgstr "Socks" + +#: ../../msn/msn_r1_r.c:197 ../../msn/msn_r1_r.c:268 +msgid "Buch" +msgstr "Book" + +#: ../../msn/msn_r1_r.c:197 +msgid "Es ist|\"Per Anhalter durch die Galaxis\"|von Douglas Adams." +msgstr "This is|\"The Hitchhiker's Guide to the Galaxy\"|by Douglas Adams." + +#: ../../msn/msn_r1_r.c:212 +msgid "Herb!" +msgstr "Austere!" + +#: ../../msn/msn_r1_r.c:214 +msgid "Genial!" +msgstr "Brilliant!" + +#: ../../msn/msn_r1_r.c:217 +msgid "Es scheint noch nicht fertig zu sein." +msgstr "It looks like it is not yet finished." + +#: ../../msn/msn_r1_r.c:218 +msgid "Stift" +msgstr "Pen" + +#: ../../msn/msn_r1_r.c:218 +msgid "Ein Kugelschreiber." +msgstr "A ballpoint pen." + +#: ../../msn/msn_r1_r.c:230 ../../msn/msn_r1_r.c:231 +msgid "Poster" +msgstr "Poster" + +#: ../../msn/msn_r1_r.c:230 +msgid "Ein Poster von \"Big Boss\"." +msgstr "A poster of \"Big Boss\"." + +#: ../../msn/msn_r1_r.c:231 +msgid "Ein Poster von \"Rock Desaster\"." +msgstr "A poster for \"Rock Disaster\"." + +#: ../../msn/msn_r1_r.c:232 +msgid "Box" +msgstr "Speaker" + +#: ../../msn/msn_r1_r.c:235 +msgid "Schallplatte" +msgstr "Record" + +#: ../../msn/msn_r1_r.c:235 +msgid "Die Platte ist von \"Big Boss\"." +msgstr "A record from \"Big Boss\"." + +#: ../../msn/msn_r1_r.c:237 +msgid "Schallplattenst„nder" +msgstr "Record stand" + +#: ../../msn/msn_r1_r.c:237 +msgid "Du hast jetzt keine Zeit, in|der Plattensammlung rumzust”bern." +msgstr "You don't have time to rummage|around the record collection now." + +#: ../../msn/msn_r1_r.c:240 +msgid "Plattenspieler" +msgstr "Record player" + +#: ../../msn/msn_r1_r.c:240 +msgid "Sieht aus, als k„me|er aus dem Museum." +msgstr "Looks like something from a museum." + +#: ../../msn/msn_r1_r.c:244 +msgid "Stecker" +msgstr "Male plug" + +#: ../../msn/msn_r1_r.c:261 +msgid "Pistole" +msgstr "Gun" + +#: ../../msn/msn_r1_r.c:261 +msgid "Es ist keine Munition drin." +msgstr "There is no ammunition in it." + +#: ../../msn/msn_r1_r.c:263 +msgid "Bcher" +msgstr "Books" + +#: ../../msn/msn_r1_r.c:263 +msgid "Lauter wissenschaftliche Bcher." +msgstr "All scientific books." + +#: ../../msn/msn_r1_r.c:265 +msgid "Kabelrolle" +msgstr "Cable reel" + +#: ../../msn/msn_r1_r.c:265 +msgid "Da sind mindestens zwanzig Meter drauf." +msgstr "There is at least 20 meters of cable on it." + +#: ../../msn/msn_r1_r.c:269 ../../msn/msn_r1_r.c:271 +msgid "Ich habe keine Lust, in|der Unterw„sche des|Commanders rumzuwhlen." +msgstr "I don't feel like digging around|in the commander's underwear." + +#: ../../msn/msn_r1_r.c:284 +msgid "Ordner" +msgstr "Folders" + +#: ../../msn/msn_r1_r.c:284 +msgid "" +"Darauf steht \"Dienstanweisungen|zur Mission Supernova\".|Es steht nichts " +"wichtiges drin." +msgstr "" +"It says,\"Instructions for the Mission Supernova.\"|There is nothing " +"important in it." + +#: ../../msn/msn_r1_r.c:291 +msgid "Klo" +msgstr "Loo" + +#: ../../msn/msn_r1_r.c:291 +msgid "Ein Klo mit Saugmechanismus." +msgstr "A toilet with suction mechanism." + +#: ../../msn/msn_r1_r.c:292 +msgid "Dusche" +msgstr "Shower" + +#: ../../msn/msn_r2.c:57 +msgid "Die Raumschiffe sind alle verschlossen." +msgstr "The spaceships are all locked." + +#: ../../msn/msn_r2.c:64 ../../msn/msn_r2.c:1098 +msgid "Unsinn!" +msgstr "Nonsense!" + +#: ../../msn/msn_r2.c:91 +msgid "" +"Komisch! Auf einmal kannst du|das Schild lesen! Darauf steht:|\"Treffpunkt " +"Galactica\"." +msgstr "Funny! You can read the sign now!|It says \"Galactica meeting point\"." + +#: ../../msn/msn_r2.c:92 +msgid "Darauf steht:|\"Treffpunkt Galactica\"." +msgstr "It says:|\"Galactica meeting point\"." + +#: ../../msn/msn_r2.c:144 +msgid "Wieso das denn nicht?" +msgstr "Why the hell not?" + +#: ../../msn/msn_r2.c:145 ../../msn/msn_r2.c:154 ../../msn/msn_r2.c:1082 +msgid "Wo bin ich hier?" +msgstr "Where am I here?" + +#: ../../msn/msn_r2.c:146 ../../msn/msn_r2.c:183 +msgid "Wo soll ich die Schuhe ablegen?" +msgstr "Where should I put my shoes?" + +#: ../../msn/msn_r2.c:147 +msgid "Schwachsinn! Ich gehe jetzt nach oben!" +msgstr "Bullshit! I'm going upstairs now!" + +#: ../../msn/msn_r2.c:155 +msgid "Sch”nes Wetter heute, nicht wahr?" +msgstr "Nice weather today, isn't it?" + +#: ../../msn/msn_r2.c:156 +msgid "Wrden Sie mich bitte durchlassen." +msgstr "Would you please let me through?" + +#: ../../msn/msn_r2.c:157 +msgid "Hey Alter, laá mich durch!" +msgstr "Hey, dude, let me through!" + +#: ../../msn/msn_r2.c:164 +msgid "Was haben Sie gesagt?" +msgstr "What did you say?" + +#: ../../msn/msn_r2.c:165 +msgid "Sprechen Sie bitte etwas deutlicher!" +msgstr "Please speak more clearly!" + +#: ../../msn/msn_r2.c:174 +msgid "Durch deinen Helm kannst|du nicht sprechen." +msgstr "You can't talk with your helmet on." + +#: ../../msn/msn_r2.c:189 ../../msn/msn_r2.c:251 +msgid "Was, das wissen Sie nicht?" +msgstr "What, you don't know that?" + +#: ../../msn/msn_r2.c:190 ../../msn/msn_r2.c:252 +msgid "Sie befinden sich im Restaurant|\"Treffpunkt Galactica\"." +msgstr "You are in the restaurant|\"Galactica meeting point\"." + +#: ../../msn/msn_r2.c:191 ../../msn/msn_r2.c:253 +msgid "" +"Wir sind bei den interessantesten|Ereignissen in der Galaxis|immer zur " +"Stelle." +msgstr "We are always there when|interesting things happen|in the galaxy." + +#: ../../msn/msn_r2.c:194 +msgid "Wenn Sie meinen." +msgstr "If you say so." + +#: ../../msn/msn_r2.c:199 ../../msn/msn_r2.c:256 +msgid "In der Toilette gibt es|Schlieáf„cher fr Schuhe." +msgstr "There are lockers for shoes|in the restroom." + +#: ../../msn/msn_r2.c:204 +msgid "" +"Wenn Sie das Lokal betreten|wollen, mssen Sie erst|ihre Schuhe ausziehen." +msgstr "" +"If you want to enter the restaurant,|you have to take off your shoes first." + +#: ../../msn/msn_r2.c:208 +msgid "Wollen Sie, daá ich Sie rauáschmeiáe?" +msgstr "You want me to kick you out?" + +#: ../../msn/msn_r2.c:216 ../../msn/msn_r2.c:274 +msgid "Hhius otgfh Dgfdrkjlh Fokj gf." +msgstr "Hhius otgfh Dgfdrkjlh Fokj gf." + +#: ../../msn/msn_r2.c:230 ../../msn/msn_s.c:289 +msgid "Halt!" +msgstr "Halt!" + +#: ../../msn/msn_r2.c:232 +msgid "Uhwdejkt!" +msgstr "Uhwdejkt!" + +#: ../../msn/msn_r2.c:241 +msgid "Sie mssen erst ihre Schuhe ausziehen, Sie Trottel!" +msgstr "You have to take off your shoes first, idiot!" + +#: ../../msn/msn_r2.c:243 +msgid "" +"Was f„llt ihnen ein!|Sie k”nnen doch ein Lokal|nicht mit Schuhen betreten!" +msgstr "" +"What are you thinking!|You cannot enter a restaurant|with your shoes on!" + +#: ../../msn/msn_r2.c:249 +msgid "Fragen Sie nicht so doof!" +msgstr "Quit asking so stupidly!" + +#: ../../msn/msn_r2.c:262 +msgid "Das wrde ich an ihrer|Stelle nicht versuchen!" +msgstr "I would not try that if I were you!" + +#: ../../msn/msn_r2.c:300 +msgid "Du ziehst deine Schuhe|aus und legst sie in|eins der Schlieáf„cher." +msgstr "You remove your shoes|and put them in one|of the lockers." + +#: ../../msn/msn_r2.c:307 +msgid "Du ziehst deine Schuhe wieder an." +msgstr "You put your shoes on again." + +#: ../../msn/msn_r2.c:311 +msgid "" +"Du durchsuchst die Klos nach|anderen brauchbaren Sachen,|findest aber nichts." +msgstr "You search the toilet|for other useful items,|but find nothing." + +#: ../../msn/msn_r2.c:316 +msgid "Bevor du aufs Klo gehst,|solltest du besser deinen|Raumanzug ausziehen." +msgstr "Before you use the toilet,| you had better take off|your space suit." + +#: ../../msn/msn_r2.c:319 +msgid "Du gehst seit sieben Jahren das|erste Mal wieder aufs Klo!" +msgstr "You're now back in a lavatory,|for the first time in seven years!" + +#: ../../msn/msn_r2.c:322 +msgid "" +"In einem der Schlieáf„cher,|die sich auch im Raum befinden,|findest du " +"einige Mnzen." +msgstr "You find some coins in one of|the lockers in this room." + +#: ../../msn/msn_r2.c:332 +msgid "Mach doch zuerst das Fach leer!" +msgstr "First, empty the drawer!" + +#: ../../msn/msn_r2.c:340 +msgid "Mnze" +msgstr "Coin" + +#: ../../msn/msn_r2.c:353 +msgid "" +"Komisch! Auf einmal kannst du|das Schild lesen! Darauf steht:|\"Zutritt nur " +"fr Personal\"." +msgstr "" +"Strange! Suddenly you can |read the sign! It states:|\"Access Only for " +"Personnel\"." + +#: ../../msn/msn_r2.c:361 +msgid "" +"Komisch! Auf einmal kannst|du das Schild lesen!|Darauf steht:\"Toilette\"." +msgstr "Strange! Suddenly you can read the sign!|It says:\"Toilet\"." + +#: ../../msn/msn_r2.c:362 +msgid "Darauf steht:|\"Toilette\"." +msgstr "It says:|\"Toilet\"." + +#: ../../msn/msn_r2.c:372 +msgid "Du ziehst den Raumanzug wieder an." +msgstr "You put the space suit back on." + +#: ../../msn/msn_r2.c:382 ../../msn/msn_r3.c:487 ../../msn/msn_r3.c:539 +msgid "Nicht so gewaltt„tig!" +msgstr "Not so rough!" + +#: ../../msn/msn_r2.c:603 +msgid "" +"Du hast das komische Gefhl,|daá drauáen etwas passiert,|und eilst zum " +"Restaurant." +msgstr "" +"You get the funny feeling,|that something has happened outside,|and hurry to " +"the restaurant." + +#: ../../msn/msn_r2.c:617 +msgid "Da! Die Supernova!" +msgstr "There! The supernova!" + +#: ../../msn/msn_r2.c:630 +msgid "Zwei Minuten sp„ter ..." +msgstr "Two minutes later ..." + +#: ../../msn/msn_r2.c:638 +msgid "Hey, was machen Sie in meinem Raumschiff?!" +msgstr "Hey, what are you doing in my spaceship?!" + +#: ../../msn/msn_r2.c:641 +msgid "Geben Sie mir sofort meine Brieftasche wieder!" +msgstr "Just give me my wallet back!" + +#: ../../msn/msn_r2.c:644 +msgid "Versuchen Sie das ja nicht nochmal!" +msgstr "Do not try that again!" + +#: ../../msn/msn_r2.c:647 +msgid "Und jetzt raus mit Ihnen!" +msgstr "And now, get out of here!" + +#: ../../msn/msn_r2.c:660 +msgid "Zehn Minuten sp„ter ..." +msgstr "Ten Minutes later ..." + +#: ../../msn/msn_r2.c:690 +msgid "K”nnten Sie mir ein Gericht empfehlen?" +msgstr "Could you recommend a dish for me?" + +#: ../../msn/msn_r2.c:691 +msgid "Wie lange dauert es denn noch bis zur Supernova?" +msgstr "How long do we have before the supernova?" + +#: ../../msn/msn_r2.c:692 +msgid "Sie kommen mir irgendwie bekannt vor." +msgstr "You look kind of familiar to me." + +#: ../../msn/msn_r2.c:704 +msgid "Hey, Witzkeks, laá die Brieftasche da liegen!" +msgstr "Hey, Joker, leave the Wallet there!" + +#: ../../msn/msn_r2.c:708 +msgid "Das ist nicht deine." +msgstr "This is not yours." + +#: ../../msn/msn_r2.c:713 +msgid "Roger ist im Moment nicht ansprechbar." +msgstr "Roger is not available at the moment." + +#: ../../msn/msn_r2.c:718 +msgid "Bestellen Sie lieber nichts!" +msgstr "Do Not order anything!" + +#: ../../msn/msn_r2.c:719 +msgid "" +"Ich habe vor zwei Stunden mein Essen|bestellt und immer noch nichts bekommen." +msgstr "I ordered my food two hours ago|and I still haven't received it." + +#: ../../msn/msn_r2.c:721 +msgid "Noch mindestens zwei Stunden." +msgstr "At least two more hours." + +#: ../../msn/msn_r2.c:722 +msgid "" +"Haben Sie keine Idee, womit wir uns|bis dahin die Zeit vertreiben k”nnen?" +msgstr "Do you have an idea what we could|do to pass the time?" + +#: ../../msn/msn_r2.c:723 +msgid "" +"Hmm ... im Moment f„llt mir nichts ein, aber vielleicht|hat der Spieler des " +"Adventures ja eine Idee." +msgstr "" +"Hmm ... at the moment I'm not sure, but maybe|the Adventure Game Player has " +"an idea." + +#: ../../msn/msn_r2.c:725 +msgid "Nein, Sie mssen sich irren.|Ich kenne Sie jedenfalls nicht." +msgstr "No, you must be mistaken.|I don't know you." + +#: ../../msn/msn_r2.c:726 +msgid "Aber ihre Kleidung habe ich irgendwo schon mal gesehen." +msgstr "However, I've seen your clothes somewhere before." + +#: ../../msn/msn_r2.c:727 +msgid "Ja? Komisch." +msgstr "Yes? Strange." + +#: ../../msn/msn_r2.c:728 +msgid "Jetzt weiá ich's. Sie sind Roger W. !" +msgstr "Now I know. You are Roger W.!" + +#: ../../msn/msn_r2.c:729 +msgid "Pssst, nicht so laut, sonst will|gleich jeder ein Autogramm von mir." +msgstr "Pssst, not so loud, otherwise everyone|will want an autograph from me." + +#: ../../msn/msn_r2.c:730 +msgid "" +"Ich habe extra eine Maske auf, damit|ich nicht von jedem angelabert werde." +msgstr "I have an extra mask on so I don't|get yakked on by everyone." + +#: ../../msn/msn_r2.c:731 +msgid "Žh ... ach so." +msgstr "Uh... I see." + +#: ../../msn/msn_r2.c:732 +msgid "Wann kommt denn das n„chste SQ-Abenteuer raus?" +msgstr "When does the next SQ adventure come out?" + +#: ../../msn/msn_r2.c:733 +msgid "SQ 127 máte in einem Monat erscheinen." +msgstr "SQ 127 should come out in a month." + +#: ../../msn/msn_r2.c:734 +msgid "Was, Teil 127 ??" +msgstr "What, part 127 ??" + +#: ../../msn/msn_r2.c:735 +msgid "Bei uns ist gerade Teil 8 erschienen." +msgstr "Part 8 has just been released." + +#: ../../msn/msn_r2.c:736 +msgid "Hmm ... von welchem Planeten sind Sie denn?" +msgstr "Hmm ... what planet are you from?" + +#: ../../msn/msn_r2.c:737 +msgid "Von der Erde." +msgstr "From the Earth." + +#: ../../msn/msn_r2.c:738 +msgid "Erde? Nie geh”rt." +msgstr "Earth? Never heard of it." + +#: ../../msn/msn_r2.c:739 +msgid "" +"Wahrscheinlich irgendein Kaff, wo Neuerungen|erst hundert Jahre sp„ter " +"hingelangen." +msgstr "Probably some dump, where innovations|happen only a century late." + +#: ../../msn/msn_r2.c:740 +msgid "Žh ... kann sein." +msgstr "Uh ... maybe." + +#: ../../msn/msn_r2.c:741 +msgid "Aber eins mssen Sie mir erkl„ren!" +msgstr "But you must tell me!" + +#: ../../msn/msn_r2.c:742 +msgid "" +"Wieso sehen Sie mir so verdammt „hnlich, wenn|Sie nicht von Xenon stammen, " +"wie ich?" +msgstr "" +"Why do you look so damn similar to me|if you are not from Xenon, like me?" + +#: ../../msn/msn_r2.c:743 +msgid "" +"Keine Ahnung. Bis jetzt dachte ich immer, Sie w„ren ein|von Programmierern " +"auf der Erde erfundenes Computersprite." +msgstr "" +"I have no idea. Until now, I've always thought you were|a computer sprite, " +"invented by programmers on Earth." + +#: ../../msn/msn_r2.c:744 +msgid "Was? Lachhaft!" +msgstr "What? Ridiculous!" + +#: ../../msn/msn_r2.c:745 +msgid "Wie erkl„ren Sie sich dann,|daá ich ihnen gegenbersitze?" +msgstr "How do you explain then that|I am seated opposite you?" + +#: ../../msn/msn_r2.c:746 +msgid "Ja, das ist in der Tat seltsam." +msgstr "Yes, this is definitely strange." + +#: ../../msn/msn_r2.c:747 +msgid "" +"Halt, jetzt weiá ich es. Sie sind von der Konkurrenz,|von \"Georgefilm Games" +"\" und wollen mich verunsichern." +msgstr "" +"Wait, now I understand! You are from the competition,|\"Georgefilm Games\", " +"and want to unnerve me." + +#: ../../msn/msn_r2.c:748 +msgid "Nein, ich bin nur ein Ahnungsloser Koch von der Erde." +msgstr "No, I'm just a clueless cook from the Earth." + +#: ../../msn/msn_r2.c:749 +msgid "" +"Na gut, ich glaube Ihnen. Lassen wir jetzt|dieses Thema, langsam wird es mir " +"zu bunt!" +msgstr "" +"OK. I believe you. Let's move away from|this topic before it goes too far!" + +#: ../../msn/msn_r2.c:761 +msgid "Eine Partie Schach! Das ist eine gute Idee." +msgstr "A game of chess! That's a good idea." + +#: ../../msn/msn_r2.c:762 +msgid "Schach? Was ist das denn?" +msgstr "Chess? What is that?" + +#: ../../msn/msn_r2.c:763 +msgid "Schach ist ein interessantes Spiel.|Ich werde es Ihnen erkl„ren." +msgstr "Chess is an interesting game.|I will explain it to you." + +#: ../../msn/msn_r2.c:769 +msgid "Knapp zwei Stunden sp„ter ..." +msgstr "Almost two hours later ..." + +#: ../../msn/msn_r2.c:787 +msgid "Roger W. steht kurz vor dem Schachmatt|und grbelt nach einem Ausweg." +msgstr "Roger W. is on the brink of checkmate|and trying to find a way out." + +#: ../../msn/msn_r2.c:831 +msgid "Darf ich hier Platz nehmen?" +msgstr "Can I sit here?" + +#: ../../msn/msn_r2.c:832 +msgid "Klar!" +msgstr "Sure!" + +#: ../../msn/msn_r2.c:892 +msgid "Du tippst auf den Tasten herum,|aber es passiert nichts." +msgstr "You tap the buttons,|but nothing happens." + +#: ../../msn/msn_r2.c:917 +msgid "Ach, Ihnen geh”rt die. Ich habe sie eben im Sand gefunden." +msgstr "Oh, it is yours. I just found it in the sand." + +#: ../../msn/msn_r2.c:918 +msgid "Nein, tut mir leid." +msgstr "No, I'm sorry." + +#: ../../msn/msn_r2.c:924 +msgid "Nein, danke. Ich bleibe lieber hier." +msgstr "No thanks. I'd rather stay here." + +#: ../../msn/msn_r2.c:925 +msgid "Ja, das w„re gut." +msgstr "Yes, that would be good." + +#: ../../msn/msn_r2.c:931 +msgid "Zur Erde." +msgstr "To Earth." + +#: ../../msn/msn_r2.c:932 +msgid "Zum Pr„sident der Galaxis." +msgstr "To the President of the Galaxy." + +#: ../../msn/msn_r2.c:933 +msgid "Nach Xenon." +msgstr "To Xenon." + +#: ../../msn/msn_r2.c:934 +msgid "Mir egal, setzen Sie mich irgendwo ab!" +msgstr "I don't care, drop me off somewhere!" + +#: ../../msn/msn_r2.c:940 +msgid "Ich habe gerade Ihre Brieftasche gefunden!" +msgstr "I just found your wallet!" + +#: ../../msn/msn_r2.c:941 +msgid "Sie lag da drben hinter einem Felsen." +msgstr "It was over there behind a rock." + +#: ../../msn/msn_r2.c:942 +msgid "Ich wollte nur wissen, ob Sie die Brieftasche wiederhaben." +msgstr "I just wanted to know if you got the wallet back." + +#: ../../msn/msn_r2.c:959 +msgid "Was wollen Sie denn schon wieder?" +msgstr "What do you want again?" + +#: ../../msn/msn_r2.c:965 +msgid "" +"Haben Sie zuf„llig meine Brieftasche gesehen?|Ich muá Sie irgendwo verloren " +"haben." +msgstr "Have you seen my wallet, by chance?|I must have lost it somewhere." + +#: ../../msn/msn_r2.c:966 +msgid "" +"Ohne die Brieftasche kann ich nicht|starten, weil meine Keycard darin ist." +msgstr "Without my wallet I can not take off|because my keycard is in it." + +#: ../../msn/msn_r2.c:975 +msgid "Oh! Vielen Dank." +msgstr "Oh! Many thanks." + +#: ../../msn/msn_r2.c:976 +msgid "Wo ist denn Ihr Raumschiff?|Soll ich Sie ein Stck mitnehmen?" +msgstr "Where is your spaceship?|Shall I give you a lift?" + +#: ../../msn/msn_r2.c:979 +msgid "Wo wollen Sie denn hin?" +msgstr "Where do you want to go?" + +#: ../../msn/msn_r2.c:981 +msgid "Ok, steigen Sie ein!" +msgstr "Ok, get in!" + +#: ../../msn/msn_r2.c:983 +msgid "Wie Sie wollen." +msgstr "As you wish." + +#: ../../msn/msn_r2.c:1030 +msgid "Huch, du lebst ja noch!" +msgstr "Huh, you're still alive!" + +#: ../../msn/msn_r2.c:1057 +msgid "" +"Das wrde ich jetzt nicht tun, schlieálich|steht Roger W. neben seinem " +"Schiff." +msgstr "I wouldn't do that now, because|Roger W. is standing beside his ship." + +#: ../../msn/msn_r2.c:1069 +msgid "Alle Raumschiffe haben|den Planeten verlassen." +msgstr "All spaceships|have left the planet." + +#: ../../msn/msn_r2.c:1071 +msgid "Alle Raumschiffe haben den Planeten|verlassen, bis auf eins ..." +msgstr "All spaceships have left the planet,|except for one ..." + +#: ../../msn/msn_r2.c:1083 +msgid "Was wollen Sie von mir?" +msgstr "What do you want from me?" + +#: ../../msn/msn_r2.c:1084 +msgid "Hilfe!!" +msgstr "Help!!" + +#: ../../msn/msn_r2.c:1085 +msgid "Warum sprechen Sie meine Sprache?" +msgstr "Why do you speak my language?" + +#: ../../msn/msn_r2.c:1091 +msgid "Ja, ich bin einverstanden." +msgstr "Yes, I agree." + +#: ../../msn/msn_r2.c:1092 +msgid "Nein, lieber bleibe ich hier, als mit Ihnen zu fliegen." +msgstr "No, I'd rather stay here than fly with you." + +#: ../../msn/msn_r2.c:1141 +msgid "Ich glaube, er wacht auf." +msgstr "I think he's waking up." + +#: ../../msn/msn_r2.c:1143 +msgid "Ja, sieht so aus." +msgstr "Yes, it looks like it." + +#: ../../msn/msn_r2.c:1148 +msgid "Sie befinden sich im Raumschiff \"Dexxa\"." +msgstr "You are in the spaceship \"Dexxa\"." + +#: ../../msn/msn_r2.c:1149 +msgid "" +"Wir kommen vom Planeten Axacuss und|sind aus dem gleichen Grund hier wie " +"Sie,|n„mlich zur Erforschung der Supernova." +msgstr "" +"We come from the planet Axacuss|and are here for the same reason as you,|" +"namely, to observe the supernova." + +#: ../../msn/msn_r2.c:1151 +msgid "Sie k”nnen beruhigt sein, wir wollen Ihnen nur helfen." +msgstr "Don't worry, we just want to help you." + +#: ../../msn/msn_r2.c:1152 +msgid "Und wieso hat der Typ im Raumanzug|eben auf mich geschossen?" +msgstr "And why did the guy in the space suit|shoot at me?" + +#: ../../msn/msn_r2.c:1153 +msgid "Das war eine Schreckreaktion." +msgstr "It was a reflex." + +#: ../../msn/msn_r2.c:1154 +msgid "" +"Schlieálich ist es fr uns das erste Mal,|daá wir auf eine fremde " +"Intelligenz treffen." +msgstr "" +"After all, this is the first time we have|come across an alien intelligence." + +#: ../../msn/msn_r2.c:1155 +msgid "Wie wir festgestellt haben, ist|Ihr Raumschiff v”llig zerst”rt." +msgstr "As we've established, your spaceship|is completely destroyed." + +#: ../../msn/msn_r2.c:1156 +msgid "Wahrscheinlich k”nnen Sie nicht|mehr auf ihren Heimatplaneten zurck." +msgstr "You may not be able to return to your home planet." + +#: ../../msn/msn_r2.c:1157 +msgid "Wir bieten Ihnen an, Sie|mit nach Axacuss zu nehmen." +msgstr "We offer to take you|with us to Axacuss." + +#: ../../msn/msn_r2.c:1160 ../../msn/msn_r2.c:1169 +msgid "Sind Sie sich da wirklich sicher?" +msgstr "Are you really sure about that?" + +#: ../../msn/msn_r2.c:1161 ../../msn/msn_r2.c:1170 +msgid "Wenn ich es mir genau berlege,|fliege ich doch lieber mit." +msgstr "If I think about it,|I'd rather fly with you." + +#: ../../msn/msn_r2.c:1163 +msgid "" +"Gut, wir nehmen Sie unter der|Bedingung mit, daá wir Sie jetzt|sofort in " +"Tiefschlaf versetzen drfen." +msgstr "" +"All right, we'll take you with us|on condition that we can put you|into a " +"deep sleep right now." + +#: ../../msn/msn_r2.c:1164 +msgid "Diese Art des Reisens ist Ihnen|ja scheinbar nicht unbekannt." +msgstr "You seem to be familiar with|this kind of traveling." + +#: ../../msn/msn_r2.c:1165 +msgid "" +"Sie werden in vier Jahren nach der|Landung der \"Dexxa\" wieder aufgeweckt." +msgstr "" +"You will be woken up again in four years|after the \"Dexxa\" has landed." + +#: ../../msn/msn_r2.c:1166 +msgid "Sind Sie damit einverstanden?" +msgstr "Are you okay with this?" + +#: ../../msn/msn_r2.c:1172 +msgid "Gut, haben Sie noch irgendwelche Fragen?" +msgstr "Good, do you have any questions?" + +#: ../../msn/msn_r2.c:1174 +msgid "Keine Panik!" +msgstr "Don't panic!" + +#: ../../msn/msn_r2.c:1175 +msgid "Wir tun Ihnen nichts." +msgstr "We are not going to hurt you." + +#: ../../msn/msn_r2.c:1177 +msgid "Wir sprechen nicht ihre Sprache,|sondern Sie sprechen unsere." +msgstr "We don't speak your language,|you speak ours." + +#: ../../msn/msn_r2.c:1178 +msgid "" +"Nach einer Gehirnanalyse konnten|wir Ihr Gehirn an unsere Sprache anpassen." +msgstr "" +"After a brain analysis, we were able|to adapt your brain to our speech." + +#: ../../msn/msn_r2.c:1179 +msgid "Was? Sie haben in mein Gehirn eingegriffen?" +msgstr "What? You've interfered with my brain?" + +#: ../../msn/msn_r2.c:1180 +msgid "Keine Angst, wir haben sonst nichts ver„ndert." +msgstr "Don't worry, we haven't changed anything else." + +#: ../../msn/msn_r2.c:1181 +msgid "Ohne diesen Eingriff w„ren|Sie verloren gewesen." +msgstr "Without this intervention,|you would have been lost." + +#: ../../msn/msn_r2.c:1186 +msgid "Ich habe keine weiteren Fragen mehr." +msgstr "I have no more questions." + +#: ../../msn/msn_r2.c:1187 +msgid "Gut, dann versetzen wir Sie jetzt in Tiefschlaf." +msgstr "Good, let's put you in a deep sleep now." + +#: ../../msn/msn_r2.c:1188 +msgid "Gute Nacht!" +msgstr "Good night!" + +#: ../../msn/msn_r2.c:1213 ../../msn/msn_r2.c:1214 +msgid "Stein" +msgstr "Stone" + +#: ../../msn/msn_r2.c:1215 +msgid "Loch" +msgstr "Opening" + +#: ../../msn/msn_r2.c:1215 +msgid "Es scheint eine H”hle zu sein." +msgstr "It seems to be a cave." + +#: ../../msn/msn_r2.c:1221 +msgid "Hier bist du gerade hergekommen." +msgstr "You just came from there." + +#: ../../msn/msn_r2.c:1229 ../../msn/msn_r2.c:1310 ../../msn/msn_r2.c:1319 +msgid "H”hle" +msgstr "Cave" + +#: ../../msn/msn_r2.c:1230 ../../msn/msn_r2.c:1243 ../../msn/msn_r2.c:1257 +#: ../../msn/msn_r3.c:1687 +msgid "Schild" +msgstr "Sign" + +#: ../../msn/msn_r2.c:1230 ../../msn/msn_r2.c:1243 ../../msn/msn_r2.c:1257 +msgid "Diese Schrift kannst du nicht lesen." +msgstr "You cannot read these inscriptions." + +#: ../../msn/msn_r2.c:1231 +msgid "Eingang" +msgstr "Entrance" + +#: ../../msn/msn_r2.c:1232 ../../msn/msn_r2.c:1318 +msgid "Stern" +msgstr "Star" + +#: ../../msn/msn_r2.c:1233 ../../msn/msn_r2.c:1234 ../../msn/msn_r2.c:1309 +msgid "Raumschiff" +msgstr "Spaceship" + +#: ../../msn/msn_r2.c:1240 +msgid "Portier" +msgstr "Doorman" + +#: ../../msn/msn_r2.c:1240 +msgid "Du siehst doch selbst, wie er aussieht." +msgstr "You can see for yourself what he looks like." + +#: ../../msn/msn_r2.c:1242 ../../msn/msn_r3.c:1480 ../../msn/msn_r3.c:1545 +#: ../../msn/msn_r3.c:1560 ../../msn/msn_r3.c:1569 ../../msn/msn_r3.c:1580 +#: ../../msn/msn_r3.c:1582 ../../msn/msn_r3.c:1584 ../../msn/msn_r3.c:1586 +#: ../../msn/msn_r3.c:1596 ../../msn/msn_r3.c:1609 ../../msn/msn_r3.c:1610 +#: ../../msn/msn_r3.c:1611 ../../msn/msn_r3.c:1621 ../../msn/msn_r3.c:1633 +#: ../../msn/msn_r3.c:1644 ../../msn/msn_r3.c:1656 ../../msn/msn_r3.c:1667 +#: ../../msn/msn_r3.c:1688 +msgid "Tr" +msgstr "Door" + +#: ../../msn/msn_r2.c:1245 +msgid "Kaugummi" +msgstr "Chewing gum" + +#: ../../msn/msn_r2.c:1246 +msgid "Gummib„rchen" +msgstr "Gummy bear" + +#: ../../msn/msn_r2.c:1247 +msgid "Schokokugel" +msgstr "Chocolate ball" + +#: ../../msn/msn_r2.c:1248 +msgid "šberraschungsei" +msgstr "Surprise egg" + +#: ../../msn/msn_r2.c:1249 +msgid "Lakritz" +msgstr "Liquorice" + +#: ../../msn/msn_r2.c:1250 +msgid "Tablette" +msgstr "Pill" + +#: ../../msn/msn_r2.c:1250 +msgid "" +"Die Plastikhlle zeigt einen|Mund mit einer Sprechblase. Was|darin steht, " +"kannst du nicht lesen." +msgstr "" +"The plastic envelope shows|a mouth with a speech bubble.|You can't read what " +"it says." + +#: ../../msn/msn_r2.c:1253 +msgid "Automat" +msgstr "Vending machine" + +#: ../../msn/msn_r2.c:1253 +msgid "Sieht aus wie ein Kaugummiautomat." +msgstr "Looks like a gum dispenser." + +#: ../../msn/msn_r2.c:1254 +msgid "Die Toiletten sind denen|auf der Erde sehr „hnlich." +msgstr "The toilets are very similar|to those on Earth." + +#: ../../msn/msn_r2.c:1258 ../../msn/msn_r2.c:1269 +msgid "Treppe" +msgstr "Staircase" + +#: ../../msn/msn_r2.c:1260 +msgid "Mnzen" +msgstr "Coins" + +#: ../../msn/msn_r2.c:1260 +msgid "Es sind seltsame|K”pfe darauf abgebildet." +msgstr "They have strange|heads on them." + +#: ../../msn/msn_r2.c:1262 +msgid "Tablettenhlle" +msgstr "Pill envelope" + +#: ../../msn/msn_r2.c:1262 +msgid "" +"Darauf steht:\"Wenn Sie diese|Schrift jetzt lesen k”nnen,|hat die Tablette " +"gewirkt.\"" +msgstr "It says,\"If you can read|this writing now,|the pill worked.\"" + +#: ../../msn/msn_r2.c:1270 +msgid "Stuhl" +msgstr "Chair" + +#: ../../msn/msn_r2.c:1271 +msgid "Schuhe" +msgstr "Shoes" + +#: ../../msn/msn_r2.c:1271 +msgid "Wie ist der denn mit|Schuhen hier reingekommen?" +msgstr "How did he get in here|with his shoes on?" + +#: ../../msn/msn_r2.c:1278 +msgid "Froschgesicht" +msgstr "Frog face" + +#: ../../msn/msn_r2.c:1279 +msgid "Gekritzel" +msgstr "Scribble" + +#: ../../msn/msn_r2.c:1279 +msgid "\"Mr Spock was here\"" +msgstr "\"Mr Spock was here\"" + +#: ../../msn/msn_r2.c:1280 +msgid "Brieftasche" +msgstr "Wallet" + +#: ../../msn/msn_r2.c:1281 +msgid "Speisekarte" +msgstr "Menu" + +#: ../../msn/msn_r2.c:1281 +msgid "\"Heute empfehlen wir:|Fonua Opra mit Ulk.\"" +msgstr "\"Today we recommend: Fonua Opra with a joke.\"" + +#: ../../msn/msn_r2.c:1282 +msgid "Tasse" +msgstr "Cup" + +#: ../../msn/msn_r2.c:1282 +msgid "Sie enth„lt eine grnliche Flssigkeit." +msgstr "It contains a greenish liquid." + +#: ../../msn/msn_r2.c:1284 +msgid "10-Buckazoid-Schein" +msgstr "A 10 buckazoid bill" + +#: ../../msn/msn_r2.c:1284 +msgid "Nicht gerade sehr viel Geld." +msgstr "Not a lot of money." + +#: ../../msn/msn_r2.c:1286 ../../msn/msn_r2.c:1297 +msgid "Keycard von Roger" +msgstr "Roger's keycard" + +#: ../../msn/msn_r2.c:1301 +msgid "Anzeige" +msgstr "Display" + +#: ../../msn/msn_r2.c:1301 ../../msn/msn_r2.c:1302 +msgid "Hmm, seltsame Anzeigen." +msgstr "Hmm, weird instruments." + +#: ../../msn/msn_r2.c:1308 +msgid "Roger W." +msgstr "Roger W." + +#: ../../msn/msn_r2.c:1317 +msgid "Ufo" +msgstr "UFO" + +#: ../../msn/msn_r2.c:1317 +msgid "Der Eingang scheint offen zu sein." +msgstr "The entrance appears to be open." + +#: ../../msn/msn_r3.c:27 +msgid "Du drckst den Knopf,|aber nichts passiert." +msgstr "You push the button,|but nothing happens." + +#: ../../msn/msn_r3.c:88 +msgid "Bei deinem Fluchtversuch hat|dich der Roboter erschossen." +msgstr "When you tried to escape,|the robot shot you." + +#: ../../msn/msn_r3.c:91 +msgid "Du iát etwas, aber|es schmeckt scheuálich." +msgstr "You're eating something,|but it tastes horrible." + +#: ../../msn/msn_r3.c:171 +msgid "Du wachst auf und findest dich in|einem geschlossenen Raum wieder." +msgstr "You wake up and find yourself|in a closed room." + +#: ../../msn/msn_r3.c:230 +msgid "Žh ... nein, mein Name ist Mller." +msgstr "Uh... no, my name is Mller." + +#: ../../msn/msn_r3.c:231 +msgid "Oh, ich habe mich im Gang vertan." +msgstr "Oh, I got lost." + +#: ../../msn/msn_r3.c:237 +msgid "Wrden Sie mich bitte zum Fahrstuhl lassen?" +msgstr "Will you please let me go to the elevator?" + +#: ../../msn/msn_r3.c:238 +msgid "Ich gehe wieder." +msgstr "I'm leaving." + +#: ../../msn/msn_r3.c:243 +msgid "Dann gehe ich eben wieder." +msgstr "Then I will be going." + +#: ../../msn/msn_r3.c:244 +msgid "Ach, halten Sie's Maul, ich gehe trotzdem!" +msgstr "Oh, shut up, I'm leaving anyway!" + +#: ../../msn/msn_r3.c:245 ../../msn/msn_r3.c:246 +msgid "Wenn Sie mich durchlassen gebe ich Ihnen %d Xa." +msgstr "I will give you %d Xa if you let me through." + +#: ../../msn/msn_r3.c:258 +msgid "Sie schon wieder?" +msgstr "You again?" + +#: ../../msn/msn_r3.c:264 +msgid "Halt! Sie sind doch dieser Hummel.|Bleiben Sie sofort stehen!" +msgstr "Stop! You're this Hummel.|Stop right there!" + +#: ../../msn/msn_r3.c:266 +msgid "Sehr witzig!" +msgstr "Very funny!" + +#: ../../msn/msn_r3.c:269 +msgid "Kann auch sein, auf jeden Fall|sind Sie der Nicht-Axacussaner." +msgstr "Well, you're the non-Axacussan,|you know." + +#: ../../msn/msn_r3.c:273 +msgid "Nein!" +msgstr "No!" + +#: ../../msn/msn_r3.c:310 +msgid "Das máte schon ein biáchen mehr sein." +msgstr "It should be a little more than that." + +#: ../../msn/msn_r3.c:324 +msgid "Ok, dann machen Sie daá Sie wegkommen!" +msgstr "Okay, then get out of here!" + +#: ../../msn/msn_r3.c:430 +msgid "Der Axacussaner hat dich erwischt." +msgstr "The Axacussan caught you." + +#: ../../msn/msn_r3.c:547 +msgid "" +"Diese Tr wrde ich lieber|nicht ”ffnen. Nach dem Schild zu|urteilen, ist " +"jemand in dem Raum." +msgstr "" +"I'd rather not open that door.|Judging by the sign, there's|someone in that " +"room." + +#: ../../msn/msn_r3.c:642 +msgid "Du stellst dich hinter die S„ule." +msgstr "You stand behind the column." + +#: ../../msn/msn_r3.c:656 +msgid "Hmm, er scheint kaputt zu sein." +msgstr "Hmm, it seems to be broken." + +#: ../../msn/msn_r3.c:696 +msgid "Welche Zahlenkombination willst|du eingeben?" +msgstr "Which combination do you want|to enter?" + +#: ../../msn/msn_r3.c:708 +msgid "" +"Hmm, das haut nicht ganz hin,|aber irgendwie muá die Zahl|mit dem Code " +"zusammenh„ngen." +msgstr "" +"Hmm, that doesn't really work,|but somehow the number|must be related to the " +"code." + +#: ../../msn/msn_r3.c:710 +msgid "Das war die falsche Kombination." +msgstr "That combination is incorrect." + +#: ../../msn/msn_r3.c:748 +msgid "Streng geheim" +msgstr "Strictly secret" + +#: ../../msn/msn_r3.c:749 +msgid "418-98" +msgstr "418-98" + +#: ../../msn/msn_r3.c:750 +msgid "Sehr geehrter Dr. Hansi," +msgstr "Dear Dr. Hansi," + +#: ../../msn/msn_r3.c:751 +msgid "Ich muá Ihren Roboterexperten ein Lob aussprechen. Die" +msgstr "I must commend your robot expert. The imitation" + +#: ../../msn/msn_r3.c:752 +msgid "Imitation von Horst Hummel ist perfekt gelungen, wie ich" +msgstr "of Horst Hummel was a perfect success, as I found" + +#: ../../msn/msn_r3.c:753 +msgid "heute bei der šbertragung des Interviews feststellen" +msgstr "out today during the broadcast of the interview." + +#: ../../msn/msn_r3.c:754 +msgid "konnte. Dem Aufschwung Ihrer Firma durch die Werbe-" +msgstr "Nothing should stand in the way of your company's" + +#: ../../msn/msn_r3.c:755 +msgid "kampagne mit dem falschen Horst Hummel drfte ja jetzt" +msgstr "recovery through the advertising campaign with" + +#: ../../msn/msn_r3.c:756 +msgid "nichts mehr im Wege stehen." +msgstr "the false Horst Hummel now." + +#: ../../msn/msn_r3.c:757 +msgid "PS: Herzlichen zum Geburtstag!" +msgstr "PS: Happy Birthday!" + +#: ../../msn/msn_r3.c:758 +msgid "Hochachtungsvoll" +msgstr "Yours sincerely" + +#: ../../msn/msn_r3.c:759 +msgid "Commander Sumoti" +msgstr "Commander Sumoti" + +#: ../../msn/msn_r3.c:766 +msgid "Nicht zu fassen!" +msgstr "I can't believe it!" + +#: ../../msn/msn_r3.c:838 +msgid "Hey, hinter dem Bild ist Geld|versteckt. Ich nehme es mit." +msgstr "Hey, there's money hidden behind that|picture. I'll take it with me." + +#: ../../msn/msn_r3.c:1047 +msgid "DR. ALAB HANSI" +msgstr "DR. ALAB HANSI" + +#: ../../msn/msn_r3.c:1047 +msgid "ALAB HANSI" +msgstr "ALAB HANSI" + +#: ../../msn/msn_r3.c:1048 +msgid "SAVAL LUN" +msgstr "SAVAL LUN" + +#: ../../msn/msn_r3.c:1048 ../../msn/msn_r3.c:1050 +msgid "x" +msgstr "x" + +#: ../../msn/msn_r3.c:1049 +msgid "PROF. DR. UGNUL TSCHABB" +msgstr "PROF. DR. UGNUL TSCHABB" + +#: ../../msn/msn_r3.c:1049 +msgid "UGNUL TSCHABB" +msgstr "UGNUL TSCHABB" + +#: ../../msn/msn_r3.c:1050 +msgid "ALGA HURZ LI" +msgstr "ALGA HURZ LI" + +#: ../../msn/msn_r3.c:1054 +msgid "Alab Hansi" +msgstr "Alab Hansi" + +#: ../../msn/msn_r3.c:1054 +msgid "Saval Lun" +msgstr "Saval Lun" + +#: ../../msn/msn_r3.c:1054 +msgid "Ugnul Tschabb" +msgstr "Ugnul Tschabb" + +#: ../../msn/msn_r3.c:1054 +msgid "Alga Hurz Li" +msgstr "Alga Hurz Li" + +#: ../../msn/msn_r3.c:1060 +msgid "Guten Tag, hier ist Horst Hummel." +msgstr "Hello, I am Horst Hummel." + +#: ../../msn/msn_r3.c:1062 +msgid "Es ist sehr wichtig." +msgstr "It's very important." + +#: ../../msn/msn_r3.c:1068 +msgid "Vom Mars." +msgstr "From Mars." + +#: ../../msn/msn_r3.c:1069 +msgid "Vom Klo." +msgstr "The toilet." + +#: ../../msn/msn_r3.c:1070 +msgid "Das werde ich kaum erz„hlen." +msgstr "I won't tell you that." + +#: ../../msn/msn_r3.c:1079 +msgid "1 Bromanager" +msgstr "1 Office manager" + +#: ../../msn/msn_r3.c:1080 +msgid "2 Telomat" +msgstr "2 Phone" + +#: ../../msn/msn_r3.c:1081 +msgid "3 ProText" +msgstr "3 ProText" + +#: ../../msn/msn_r3.c:1082 +msgid "4 Calculata" +msgstr "4 Calculata" + +#: ../../msn/msn_r3.c:1083 +msgid "Bitte w„hlen" +msgstr "Please select an option" + +#: ../../msn/msn_r3.c:1091 +msgid "Geben Sie den gewnschten Namen ein:" +msgstr "Enter the desired name:" + +#: ../../msn/msn_r3.c:1092 +msgid "(Vor- und Nachname)" +msgstr "(first and last name)" + +#: ../../msn/msn_r3.c:1106 +msgid "Name unbekannt" +msgstr "Name unknown" + +#: ../../msn/msn_r3.c:1112 +msgid "Verbindung unm”glich" +msgstr "Connection not possible" + +#: ../../msn/msn_r3.c:1116 +msgid "Verbindung wird hergestellt" +msgstr "Connection is established" + +#. I18N: Here the %s is a name +#: ../../msn/msn_r3.c:1121 +#, c-format +msgid "%s am Apparat." +msgstr "%s speaking." + +#: ../../msn/msn_r3.c:1127 +#, c-format +msgid "Hier ist %s. K”nnen Sie mal gerade kommen?" +msgstr "This is %s. Can you come over now?" + +#: ../../msn/msn_r3.c:1134 +msgid "Huch, Sie h”ren sich aber|nicht gut an. Ich komme sofort." +msgstr "You don't sound good.|I'll be right there." + +#: ../../msn/msn_r3.c:1145 +msgid "Horst Hummel! Von wo rufen Sie an?" +msgstr "Horst Hummel! Where are you calling from?" + +#: ../../msn/msn_r3.c:1151 +msgid "Hmm, keine Antwort." +msgstr "Hmm, no answer." + +#: ../../msn/msn_r3.c:1164 +msgid "Passwort:" +msgstr "Password:" + +#: ../../msn/msn_r3.c:1215 +msgid "Was war das fr ein Ger„usch?" +msgstr "What was that noise?" + +#: ../../msn/msn_r3.c:1217 ../../msn/msn_s.c:312 +msgid "Ich werde mal nachsehen." +msgstr "Let's find out..." + +#: ../../msn/msn_r3.c:1305 +msgid "Jetzt verschwinden Sie endlich!" +msgstr "Get the hell out of here!" + +#: ../../msn/msn_r3.c:1306 +msgid "Huch, ich habe mich vertan." +msgstr "Oops, I made a mistake." + +#: ../../msn/msn_r3.c:1368 +msgid "" +"Nachdem du zwei Stunden im|Dschungel herumgeirrt bist,|findest du ein " +"Geb„ude." +msgstr "" +"After you've been wandering around|the jungle for two hours,|you find a " +"building." + +#: ../../msn/msn_r3.c:1481 +msgid "Tablett" +msgstr "Tray" + +#: ../../msn/msn_r3.c:1481 +msgid "Es ist irgendein Fraá und|etwas zu Trinken darauf." +msgstr "There is some kind of food|and a drink on it." + +#: ../../msn/msn_r3.c:1483 +msgid "Stange" +msgstr "Rod" + +#: ../../msn/msn_r3.c:1483 +msgid "Es scheint eine Lampe zu sein." +msgstr "It seems to be a lamp." + +#: ../../msn/msn_r3.c:1484 +msgid "Augen" +msgstr "Eyes" + +#: ../../msn/msn_r3.c:1484 +msgid "Es ist nur ein Bild." +msgstr "It's just a picture." + +#: ../../msn/msn_r3.c:1486 +msgid "Sieht etwas anders aus als auf der Erde." +msgstr "Looks a little different than on Earth." + +#: ../../msn/msn_r3.c:1488 +msgid "Metallblock" +msgstr "Metal block" + +#: ../../msn/msn_r3.c:1488 +msgid "Er ist ziemlich schwer." +msgstr "It's pretty heavy." + +#: ../../msn/msn_r3.c:1490 +msgid "Roboter" +msgstr "Robot" + +#: ../../msn/msn_r3.c:1490 +msgid "Den hast du erledigt." +msgstr "You took care of it." + +#: ../../msn/msn_r3.c:1491 ../../msn/msn_r3.c:1528 +msgid "Tisch" +msgstr "Table" + +#: ../../msn/msn_r3.c:1491 +msgid "Ein kleiner Metalltisch." +msgstr "A small metal table." + +#: ../../msn/msn_r3.c:1524 +msgid "Zellentr" +msgstr "Cell door" + +#: ../../msn/msn_r3.c:1524 +msgid "Hier warst du eingesperrt." +msgstr "You were locked up here." + +#: ../../msn/msn_r3.c:1526 +msgid "Laptop" +msgstr "Laptop" + +#: ../../msn/msn_r3.c:1576 ../../msn/msn_r3.c:1577 +msgid "S„ule" +msgstr "Pillar" + +#: ../../msn/msn_r3.c:1580 +msgid "Auf einem Schild an der Tr steht \"Dr. Alab Hansi\"." +msgstr "A sign on the door says \"Dr. Alab Hansi\"." + +#: ../../msn/msn_r3.c:1582 +msgid "Auf einem Schild an der Tr steht \"Saval Lun\"." +msgstr "A sign on the door says \"Saval Lun\"." + +#: ../../msn/msn_r3.c:1584 +msgid "Auf einem Schild an der Tr steht \"Prof. Dr. Ugnul Tschabb\"." +msgstr "A sign on the door says \"Prof. Dr. Ugnul Tschabb\"." + +#: ../../msn/msn_r3.c:1586 +msgid "Auf einem Schild an der Tr steht \"Alga Hurz Li\"." +msgstr "A sign on the door says \"Alga Hurz Li\"." + +#: ../../msn/msn_r3.c:1597 ../../msn/msn_r3.c:1613 +msgid "Axacussaner" +msgstr "Axacussan" + +#: ../../msn/msn_r3.c:1597 +msgid "Du mátest ihn irgendwie ablenken." +msgstr "You have to distract him somehow." + +#: ../../msn/msn_r3.c:1599 +msgid "Komisches Bild." +msgstr "Funny picture." + +#: ../../msn/msn_r3.c:1600 +msgid "Karte" +msgstr "Keycard" + +#: ../../msn/msn_r3.c:1600 +msgid "Darauf steht: \"Generalkarte\"." +msgstr "It says: \"Master keycard\"." + +#: ../../msn/msn_r3.c:1612 +msgid "Lampe" +msgstr "Lamp" + +#: ../../msn/msn_r3.c:1614 +msgid "Seltsam!" +msgstr "Strange!" + +#: ../../msn/msn_r3.c:1623 ../../msn/msn_r3.c:1670 +msgid "Geld" +msgstr "Cash" + +#: ../../msn/msn_r3.c:1623 +msgid "Es sind 500 Xa." +msgstr "It's 500 Xa." + +#: ../../msn/msn_r3.c:1624 +msgid "Schlieáfach" +msgstr "Locker" + +#: ../../msn/msn_r3.c:1624 +msgid "Es hat ein elektronisches Zahlenschloá." +msgstr "It has an electronic combination lock." + +#: ../../msn/msn_r3.c:1626 +msgid "Brief" +msgstr "Note" + +#: ../../msn/msn_r3.c:1635 +msgid "Wrfel" +msgstr "Cubes" + +#: ../../msn/msn_r3.c:1635 +msgid "Sonderbar!" +msgstr "Quirky!" + +#: ../../msn/msn_r3.c:1636 +msgid "Affenstark!" +msgstr "Awesome!" + +#: ../../msn/msn_r3.c:1637 +msgid "Komisches Ding" +msgstr "Strange thing" + +#: ../../msn/msn_r3.c:1637 +msgid "Wundersam!" +msgstr "Amazing!" + +#: ../../msn/msn_r3.c:1646 ../../msn/msn_r3.c:1647 +msgid "Es ist ein Axacussanerkopf auf dem Bild." +msgstr "There is an Axacussan head in the picture." + +#: ../../msn/msn_r3.c:1648 ../../msn/msn_r3.c:1659 +msgid "Pflanze" +msgstr "Plant" + +#: ../../msn/msn_r3.c:1658 +msgid "Figur" +msgstr "Figure" + +#: ../../msn/msn_r3.c:1658 +msgid "Stark!" +msgstr "Strong!" + +#: ../../msn/msn_r3.c:1659 +msgid "Sie ist den Pflanzen auf der Erde sehr „hnlich." +msgstr "It is very similar to the plants on earth." + +#: ../../msn/msn_r3.c:1668 +msgid "Er funktioniert nicht." +msgstr "It doesn't work." + +#: ../../msn/msn_r3.c:1669 +msgid "Graffiti" +msgstr "Graffiti" + +#: ../../msn/msn_r3.c:1669 +msgid "Seltsamer Broschmuck!" +msgstr "Strange office decoration!" + +#: ../../msn/msn_r3.c:1670 +msgid "Es sind 350 Xa." +msgstr "It's 350 Xa." + +#: ../../msn/msn_r3.c:1680 +msgid "Dschungel" +msgstr "Jungle" + +#: ../../msn/msn_r3.c:1680 +msgid "Lauter B„ume." +msgstr "Nothing but trees." + +#: ../../msn/msn_s.c:84 +msgid "Teil 1:" +msgstr "Part 1:" + +#: ../../msn/msn_s.c:85 +msgid "Das Schicksal" +msgstr "The fate of" + +#: ../../msn/msn_s.c:86 +msgid "des Horst Hummel" +msgstr "Horst Hummel" + +#: ../../msn/msn_s.c:131 +msgid "Viertausend" +msgstr "Four thousand" + +#: ../../msn/msn_s.c:131 +msgid "Fnftausend" +msgstr "Five thousand" + +#: ../../msn/msn_s.c:131 +msgid "Sechstausend" +msgstr "Six thousand" + +#: ../../msn/msn_s.c:131 +msgid "Siebentausend" +msgstr "Seven thousand" + +#: ../../msn/msn_s.c:144 +msgid "Zwei Tage nach dem Start|im Cockpit der \"Supernova\" ..." +msgstr "Two days after take-off|in the cockpit of the \"Supernova\"..." + +#: ../../msn/msn_s.c:153 +msgid "Entferung von der Sonne: 1 500 000 km.|Gehen Sie auf 8000 hpm, Captain!" +msgstr "Distance from the sun: 1 500 000 km.|Go to 8000 hpm, Captain!" + +#: ../../msn/msn_s.c:168 +msgid "Geschwindigkeit:" +msgstr "Speed:" + +#: ../../msn/msn_s.c:169 +msgid "Zweitausend hpm" +msgstr "Two thousand hpm" + +#: ../../msn/msn_s.c:172 +msgid "Dreitausend" +msgstr "Three thousand" + +#: ../../msn/msn_s.c:189 +msgid "Achttau..." +msgstr "Eight thous..." + +#: ../../msn/msn_s.c:214 +msgid "Keine Ahnung, Sir." +msgstr "I have no idea, Sir." + +#: ../../msn/msn_s.c:215 +msgid "Ingenieur an Commander, bitte kommen!" +msgstr "Engineer to Commander, come in!" + +#: ../../msn/msn_s.c:221 +msgid "Was ist los?" +msgstr "What's going on?" + +#: ../../msn/msn_s.c:222 +msgid "" +"Wir haben einen Druckabfall im Hauptantriebssystem, Sir.|Einen Moment, ich " +"schaue sofort nach, woran es liegt." +msgstr "" +"We have a pressure drop in the main propulsion system, sir.|Wait a minute, " +"I'll have a look." + +#: ../../msn/msn_s.c:224 +msgid "" +"Scheiáe, der Ionenantrieb ist explodiert!|Die Teile sind ber den ganzen|" +"Maschinenraum verstreut." +msgstr "Shit, the Ion drive blew up!|The parts are all over the engine room." + +#: ../../msn/msn_s.c:225 +msgid "" +"Ach, du meine Gte!|Gibt es irgendeine M”glichkeit,|den Schaden schnell zu " +"beheben?" +msgstr "Oh, my God!|Any way to fix the damage quickly?" + +#: ../../msn/msn_s.c:226 +msgid "Nein, Sir. Es sieht schlecht aus." +msgstr "No, sir. It looks bad." + +#: ../../msn/msn_s.c:230 +msgid "Hmm, die Erde zu alarmieren, wrde zu lange dauern." +msgstr "Hmm, alerting Earth would take too long." + +#: ../../msn/msn_s.c:231 +msgid "Ich darf kein Risiko eingehen.|Captain, geben Sie sofort Alarm!" +msgstr "I can't take any chances.|Captain, sound the alarm!" + +#: ../../msn/msn_s.c:232 ../../msn/msn_s.c:264 +msgid "Ok, Sir." +msgstr "Ok, Sir." + +#: ../../msn/msn_s.c:255 +msgid "" +"Commander an alle! Achtung, Achtung!|Begeben Sie sich sofort zum " +"Notraumschiff!" +msgstr "" +"Commander to all! Attention, attention!|Get to the emergency ship " +"immediately!" + +#: ../../msn/msn_s.c:256 +msgid "Ich wiederhole:|Begeben Sie sich sofort zum Notraumschiff!" +msgstr "I repeat, proceed immediately|to the emergency spaceship!" + +#: ../../msn/msn_s.c:263 +msgid "" +"Captain, bereiten Sie alles fr den Start vor!|Wir mssen zurck zur Erde!" +msgstr "" +"Captain, get everything ready for departure!|We have to get back to Earth!" + +#: ../../msn/msn_s.c:277 +msgid "Eine Stunde sp„ter ..." +msgstr "An hour later..." + +#: ../../msn/msn_s.c:284 +msgid "Die Besatzung hat die \"Supernova\" verlassen." +msgstr "The crew has left the \"Supernova\"." + +#: ../../msn/msn_s.c:285 +msgid "" +"Das Schiff wird zwar in acht Jahren sein Ziel|erreichen, allerdings ohne " +"Mannschaft." +msgstr "" +"The ship will reach its destination in eight years,|but without a crew." + +#: ../../msn/msn_s.c:286 +msgid "Das ist das kl„gliche Ende|der Mission Supernova." +msgstr "This is the pitiful end|of the Supernova mission." + +#: ../../msn/msn_s.c:287 +msgid "Sie k”nnen jetzt ihren Computer ausschalten." +msgstr "You can now turn off your computer." + +#: ../../msn/msn_s.c:290 +msgid "Warten Sie!" +msgstr "Wait, wait!" + +#: ../../msn/msn_s.c:291 +msgid "Es regt sich etwas im Schiff." +msgstr "There's something stirring in the ship." + +#: ../../msn/msn_s.c:307 +msgid "Uuuuaaaahhhhh" +msgstr "Uuuuaaaahhhhh" + +#: ../../msn/msn_s.c:309 +msgid "Huch, ich bin ja gefesselt!|Wo bin ich?" +msgstr "Argh, I'm tied up!|Where am I?" + +#: ../../msn/msn_s.c:310 +msgid "" +"Ach so, das sind ja die Sicherheitsgurte.|Ich arbeite ja jetzt in diesem " +"Raumschiff hier." +msgstr "Ah yes, these are the seat belts.|I work in this spaceship now." + +#: ../../msn/msn_s.c:311 +msgid "" +"Was? Schon zwei Uhr! Wieso|hat mich denn noch keiner|aus dem Bett " +"geschmissen?" +msgstr "What? It's 2:00 already!|How come no one has kicked me|out of bed yet?" + +#: ../../msn/msn_s.c:314 +msgid "Autsch!" +msgstr "Ouch!" + +#: ../../msn/msn_s.c:315 +msgid "Scheiáetagenbett!" +msgstr "Shitty bunk bed!" + +#: ../../msn/msn_s.c:317 +msgid "Erst mal den Lichtschalter finden." +msgstr "First, find the light switch." + +#: ../../msn/msn_s.c:318 +msgid "Hmm, gar nicht so einfach|bei Schwerelosigkeit." +msgstr "Hmm, not so easy|in weightlessness." + +#: ../../msn/msn_s.c:320 +msgid "Ah, hier ist er." +msgstr "Ah, here it is." diff --git a/dists/amiga/RM2AG.rx b/dists/amiga/RM2AG.rx index 6ee56bb645..25f82ab28a 100644 --- a/dists/amiga/RM2AG.rx +++ b/dists/amiga/RM2AG.rx @@ -1,5 +1,5 @@ /* -README to .guide converter $Ver: 0.13 (29.01.2016) +README to .guide converter $VER: RM2AG.rx 0.15 (25.01.2018) This script converts the pure ASCII-text based README file of ScummVM to a basic Amiga guide file. @@ -23,12 +23,10 @@ ELSE DO END /* If it's the proper file, lets start converting */ - OPEN(readme_read,readme_txt,'R') OPEN(guide_write,'README.guide','W') /* Prepare the Amiga guide file, add the intro and fixed text */ - WRITELN(guide_write,'@DATABASE ScummVM README.guide') WRITELN(guide_write,'@WORDWRAP') WRITELN(guide_write,'@NODE "main" "ScummVM README Guide"') @@ -38,7 +36,6 @@ WRITELN(guide_write,READLN(readme_read)) WRITELN(guide_write,'@{ub}') /* Creating the main link nodes */ - x=1 DO WHILE EOF(readme_read) = 0 @@ -46,60 +43,59 @@ DO WHILE EOF(readme_read) = 0 working_line=READLN(readme_read) /* Checking if the sub links have been reached and leave the loop, if met */ - IF POS('°1.0°',working_line) = 1 & x > 1 THEN + IF POS('<>1.0<>',working_line) = 1 & x > 1 THEN LEAVE - ENDIF + /* If no chapter has been found, simply write the line */ - IF POS('°',working_line) = 0 THEN + IF POS('<>',working_line) = 0 THEN WRITELN(guide_write,working_line) - ENDIF /* Fix the empty chapters - two chapters (1.0 and 7.8) are empty and consist of only the headlines. We add them to the following chapter and link both of them to the empty one */ /* If chapter 1.1 is found add a link node to 1.0 (as chapter 1.0 is empty) */ - IF POS(' * °1.1°',working_line) = 1 THEN DO + IF POS(' * <>1.1<>',working_line) = 1 THEN DO /* Get rid of the markers so the following loops doesn't process them again */ - working_line=COMPRESS(working_line,'*°') + working_line=COMPRESS(working_line,'*<>') WRITELN(guide_write,' @{" 1.1 " Link "1.0"} 'working_line) END /* If chapter 7.8.1 is found add a link node to 7.8 (as chapter 7.8 is empty) */ - IF POS(' * * °7.8.1°',working_line) = 1 THEN DO + IF POS(' * * <>7.8.1<>',working_line) = 1 THEN DO /* Get rid of the markers so the following loops doesn't process them again */ - working_line=COMPRESS(working_line,'*°') + working_line=COMPRESS(working_line,'*<>') WRITELN(guide_write,' @{" 7.8.1 " Link "7.8"} 'working_line) END /* If a single number main chapter is found 1.0 upto 9.0), prepare and write the link node */ - IF POS('.0',working_line) = 3 THEN DO + IF POS('.0',working_line) = 4 THEN DO WRITELN(guide_write,' ') - WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1) '" Link "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'"} 'COMPRESS(working_line,'*°')) + WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('<>',working_line)+2,LASTPOS('<>',working_line)-POS('<>',working_line)-2) '" Link "'SUBSTR(working_line,POS('<>',working_line)+2,LASTPOS('<>',working_line)-POS('<>',working_line)-2)'"} 'COMPRESS(working_line,'*<>')) /* Get rid of the markers so the following loops doesn't process them again */ - working_line=COMPRESS(working_line,'*°') + working_line=COMPRESS(working_line,'*<>') x=x+1 END /* If a double number main chapter is found (10.0 ff), prepare and write the link node */ - IF POS('.0',working_line) = 4 THEN DO + IF POS('.0',working_line) = 5 THEN DO WRITELN(guide_write,' ') - WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1) '" Link "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'"} 'COMPRESS(working_line,'*°')) + WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('<>',working_line)+2,LASTPOS('<>',working_line)-POS('<>',working_line)-2) '" Link "'SUBSTR(working_line,POS('<>',working_line)+2,LASTPOS('<>',working_line)-POS('<>',working_line)-2)'"} 'COMPRESS(working_line,'*<>')) /* Get rid of the markers so the following loops doesn't process them again */ - working_line=COMPRESS(working_line,'*°') + working_line=COMPRESS(working_line,'*<>') END /* If a level one sub chapter is found (i.e. 1.1), prepare and write the link node */ - IF POS(' * °',working_line) = 1 THEN DO - WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1) '" Link "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'"} 'COMPRESS(working_line,'*°')) + IF POS(' * <>',working_line) = 1 THEN DO + WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('<>',working_line)+2,LASTPOS('<>',working_line)-POS('<>',working_line)-2) '" Link "'SUBSTR(working_line,POS('<>',working_line)+2,LASTPOS('<>',working_line)-POS('<>',working_line)-2)'"} 'COMPRESS(working_line,'*<>')) /* Get rid of the markers so the following loops doesn't process them again */ - working_line=COMPRESS(working_line,'*°') + working_line=COMPRESS(working_line,'*<>') END /* If a level two sub chapter is found (i.e. 1.1.1), prepare and write the link node */ - IF POS(' * * °',working_line) = 1 THEN DO - WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1) '" Link "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'"} 'COMPRESS(working_line,'*°')) + IF POS(' * * <>',working_line) = 1 THEN DO + WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('<>',working_line)+2,LASTPOS('<>',working_line)-POS('<>',working_line)-2) '" Link "'SUBSTR(working_line,POS('<>',working_line)+2,LASTPOS('<>',working_line)-POS('<>',working_line)-2)'"} 'COMPRESS(working_line,'*<>')) /* Get rid of the markers so the following loops doesn't process them again */ - working_line=COMPRESS(working_line,'*°') + working_line=COMPRESS(working_line,'*<>') END END @@ -111,43 +107,42 @@ WRITELN(guide_write,'@{"http://www.scummvm.org/" System "URLOpen http://www.scum WRITELN(guide_write,'------------------------------------------------------------------------') /* Creating the sub links nodes */ - DO WHILE EOF(readme_read) = 0 /* If no chapter has been found, simply write the line */ - IF POS('°',working_line) = 0 THEN + IF POS('<>',working_line) = 0 THEN WRITELN(guide_write,working_line) - ENDIF /* Fix the empty chapters - two chapters (1.0 and 7.8) are empty and consist of only the Headlines. We don't close the NODE, rather add the following chapter to the former empty one */ /* If chapter 1.1 is found don't close the NODE, just write the line */ - IF POS('°1.1°',working_line) = 1 THEN DO + IF POS('<>1.1<>',working_line) = 1 THEN DO /* Get rid of the markers so the following loops doesn't process them again */ - working_line=COMPRESS(working_line,'°') + working_line=COMPRESS(working_line,'<>') WRITELN(guide_write,working_line) END + /* If chapter 7.8.1 is found don't close the NODE, just write the line */ - IF POS('°7.8.1°',working_line) = 1 THEN DO + IF POS('<>7.8.1<>',working_line) = 1 THEN DO /* Get rid of the markers so the following loops doesn't process them again */ - working_line=COMPRESS(working_line,'°') + working_line=COMPRESS(working_line,'<>') WRITELN(guide_write,working_line) END - IF POS('°',working_line) > 0 THEN DO + IF POS('<>',working_line) > 0 THEN DO /* Check for link references inside the text and create link nodes for them */ - IF POS('section °',working_line) > 0 THEN DO - working_line=SUBSTR(working_line,1,POS('°',working_line)-1)'@{"'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'" Link "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'"}'SUBSTR(working_line,LASTPOS('°',working_line)+1) + IF POS('section <>',working_line) > 0 THEN DO + working_line=SUBSTR(working_line,1,POS('<>',working_line)-1)'@{"'SUBSTR(working_line,POS('<>',working_line)+2,LASTPOS('<>',working_line)-POS('<>',working_line)-2)'" Link "'SUBSTR(working_line,POS('<>',working_line)+2,LASTPOS('<>',working_line)-POS('<>',working_line)-2)'"}'SUBSTR(working_line,LASTPOS('<>',working_line)+2) /* Get rid of the markers so the following loops doesn't process them again */ - WRITELN(guide_write,COMPRESS(working_line,'°')) + WRITELN(guide_write,COMPRESS(working_line,'<>')) END ELSE DO /* If a chapter has been found, prepare and write the link */ WRITELN(guide_write,'@ENDNODE') - WRITELN(guide_write,'@NODE "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'" "'COMPRESS(working_line,'°')'"') + WRITELN(guide_write,'@NODE "'SUBSTR(working_line,POS('<>',working_line)+2,LASTPOS('<>',working_line)-POS('<>',working_line)-2)'" "'COMPRESS(working_line,'<>')'"') WRITELN(guide_write,' ') /* Get rid of the markers so the following loops doesn't process them again */ - WRITELN(guide_write,COMPRESS(working_line,'°')) + WRITELN(guide_write,COMPRESS(working_line,'<>')) END END @@ -157,7 +152,6 @@ DO WHILE EOF(readme_read) = 0 /* If the outtro text is found, leave the loop and prepare for closing */ IF POS('------------------------------------------------------------------------',working_line) > 0 THEN LEAVE - ENDIF END WRITELN(guide_write,'@ENDNODE') @@ -167,4 +161,5 @@ WRITELN(guide_write,'@ENDNODE') CLOSE(readme_read) CLOSE(guide_write) -EXIT 0
\ No newline at end of file + +EXIT 0 diff --git a/dists/amiga/convertRM.sed b/dists/amiga/convertRM.sed index 47b6707001..049244459e 100644 --- a/dists/amiga/convertRM.sed +++ b/dists/amiga/convertRM.sed @@ -1,17 +1,17 @@ -# $VER: READMEconverter.sed 1.04 (22.12.2015) © Eugene "sev" Sandulenko
-# Additions by Raziel
+# $VER: READMEconverter.sed 1.05 (25.01.2018) © Eugene "sev" Sandulenko
+# Additions and changes by Raziel
#
-# Preprocessing the README file and adding some landmarks for easier parsing
-# and for converting it to an AmigaGuide Hypertext file later.
+# Preprocessing the README file and adding some markers for easier parsing
+# and later converting it to an AmigaGuide Hypertext file.
#
s/http:\/\/[#?=&a-zA-Z0-9_.\/\-]*/@{"&" System "URLOpen &"}/ # Convert all URLs to AmigaGuide format
s/https:\/\/[#?=&a-zA-Z0-9_.\/\-]*/@{"&" System "URLOpen &"}/ # Convert all secure URLs to AmigaGuide format
-s/[0-9][0-9]*\.[0-9][0-9]*/°&°/ # Convert all chapter numbers to °x°...
-s/°\([0-9][0-9]*\.[0-9][0-9]*\)°\(\.[0-9]\)/°\1\2°/ # ...and all three-digit chapter numbers...
-s/°\([01]\.[0-9][0-9]*\.[0-9][0-9]*\)°/\1/ # ...and restore mentioned version numbers like 1.0.0 and 0.7.0.
-s/of °0\.0°/of 0.0/ # "Fluidsynth's gain setting of 0.0" is not a chapter reference.
-s/through °10\.0°/through 10.0/ # "through 10.0" is not a chapter reference.
-s/ttf-°2\.00.1°/ttf-2.00.1/ # This part of an url link is not a chapter reference.
-s/patch °1\.2°/patch 1.2/ # "Zork patch 1.2" is not a chapter reference.
-s/Mac OS X °10\.2.8°/Mac OS X 10.2.8/ # "Mac OS X 10.2.8" is not a chapter reference.
-s/Mac_OS_X_°10\.2.8°/Mac_OS_X_10.2.8/ # "Mac_OS_X_10.2.8" is not a chapter reference.
\ No newline at end of file +s/[0-9][0-9]*\.[0-9][0-9]*/<>&<>/ # Convert all chapter numbers to <>x<>...
+s/<>\([0-9][0-9]*\.[0-9][0-9]*\)<>\(\.[0-9]\)/<>\1\2<>/ # ...and all three-digit chapter numbers...
+s/<>\([01]\.[0-9][0-9]*\.[0-9][0-9]*\)<>/\1/ # ...and restore mentioned version numbers like 1.0.0 and 0.7.0.
+s/of <>0\.0<>/of 0.0/ # "Fluidsynth's gain setting of 0.0" is not a chapter reference.
+s/through <>10\.0<>/through 10.0/ # "through 10.0" is not a chapter reference.
+s/ttf-<>2\.00.1<>/ttf-2.00.1/ # This part of an url link is not a chapter reference.
+s/patch <>1\.2<>/patch 1.2/ # "Zork patch 1.2" is not a chapter reference.
+s/Mac OS X <>10\.2.8<>/Mac OS X 10.2.8/ # "Mac OS X 10.2.8" is not a chapter reference.
+s/Mac_OS_X_<>10\.2.8<>/Mac_OS_X_10.2.8/ # "Mac_OS_X_10.2.8" is not a chapter reference.
diff --git a/dists/androidsdl/How_to_Build.txt b/dists/androidsdl/How_to_Build.txt index 948cbd3665..0e5afb13ff 100644 --- a/dists/androidsdl/How_to_Build.txt +++ b/dists/androidsdl/How_to_Build.txt @@ -1,10 +1,12 @@ 1) At first, for building you need (64bit) linux.
-2) Install Android SDK and NDK (You can unpack them into ~/android directory), and download required tools.
+2) Install Android SDK and NDK (You can unpack them into ~/Android directory), and download required tools.
- https://developer.android.com/ndk/downloads/index.html
https://developer.android.com/studio/index.html (you can download GUI Android Studio with SDK (which installs
from studio) or download command-line tools)
+
+At current moment (01.01.2018) latest NDK version r16b not supported by pelya's liBSDL, so you need to use previous version r15c
+ https://developer.android.com/ndk/downloads/older_releases.html
Download this:
@@ -29,14 +31,12 @@ Script: #!/bin/sh
export ANDROID_HOME=~/Android/android-sdk
- export ANDROID_NDK_HOME=~/Android/Sdk/ndk-bundle
- export PATH=$ANDROID_NDK_HOME:$ANDROID_HOME/tools:$PATH
- export PATH=$ANDROID_HOME/build-tools/25.0.2:$PATH
+ export ANDROID_NDK_HOME=~/Android/android-ndk-r15c
+ export PATH=$ANDROID_NDK_HOME:$ANDROID_HOME/tools:$PATH
5) Install packages, which needs for build:
Commands:
- sudo apt-get install ant //If you install manually - set envirnoment value to Ant
sudo apt-get install make
sudo apt-get install git-core
diff --git a/dists/androidsdl/build.sh b/dists/androidsdl/build.sh index 055278f5a1..ec65e2a216 100755 --- a/dists/androidsdl/build.sh +++ b/dists/androidsdl/build.sh @@ -8,6 +8,7 @@ if [ \! -d ../../../androidsdl ] ; then git clone git://github.com/pelya/commandergenius androidsdl cd androidsdl git submodule update --init project/jni/iconv/src + git checkout d378ee692f2e380a0ab0635c1df2eb6941b5bf58 cd ../scummvm/dists/androidsdl fi @@ -22,5 +23,5 @@ fi cd ../../../androidsdl ./build.sh scummvm -mv project/bin/MainActivity-debug.apk ../scummvm/dists/androidsdl/scummvm-debug.apk +mv project/app/build/outputs/apk/app-release.apk ../scummvm/dists/androidsdl/scummvm-debug.apk cd ../scummvm/dists/androidsdl diff --git a/dists/androidsdl/scummvm/AndroidAppSettings.cfg b/dists/androidsdl/scummvm/AndroidAppSettings.cfg index ec0bf6452c..34427129ea 100644 --- a/dists/androidsdl/scummvm/AndroidAppSettings.cfg +++ b/dists/androidsdl/scummvm/AndroidAppSettings.cfg @@ -23,7 +23,7 @@ InhibitSuspend=y # If the URL does not contain 'http://' it is treated as file from 'project/jni/application/src/AndroidData' dir - # these files are put inside .apk package by build system # Also please avoid 'https://' URLs, many Android devices do not have trust certificates and will fail to connect to SF.net over HTTPS -AppDataDownloadUrl="!!App data|scummvm_1_10_0-git-appdata.zip" +AppDataDownloadUrl="!!App data|scummvm_2_1_0-git-appdata.zip" # Video color depth - 16 BPP is the fastest and supported for all modes, 24 bpp is supported only # with SwVideoMode=y, SDL_OPENGL mode supports everything. (16)/(24)/(32) @@ -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 armeabi-v7a arm64-v8a x86 x86_64" +MultiABI="armeabi-v7a arm64-v8a x86 x86_64" # Minimum amount of RAM application requires, in Mb, SDL will print warning to user if it's lower AppMinimumRAM=256 @@ -174,7 +174,7 @@ AppMinimumRAM=256 AppVersionCode=20 # Application user-visible version name (string) -AppVersionName="1.10.0git" +AppVersionName="2.1.0git" # Reset SDL config when updating application to the new version (y) / (n) ResetSdlConfigForThisVersion=y diff --git a/dists/androidsdl/scummvm/AndroidAppSettings.cfg.in b/dists/androidsdl/scummvm/AndroidAppSettings.cfg.in index e978628e27..0b6b6c6827 100644 --- a/dists/androidsdl/scummvm/AndroidAppSettings.cfg.in +++ b/dists/androidsdl/scummvm/AndroidAppSettings.cfg.in @@ -23,7 +23,7 @@ InhibitSuspend=y # If the URL does not contain 'http://' it is treated as file from 'project/jni/application/src/AndroidData' dir - # these files are put inside .apk package by build system # Also please avoid 'https://' URLs, many Android devices do not have trust certificates and will fail to connect to SF.net over HTTPS -AppDataDownloadUrl="!!App data|scummvm_1_10_0-git-appdata.zip" +AppDataDownloadUrl="!!App data|scummvm_2_1_0-git-appdata.zip" # Video color depth - 16 BPP is the fastest and supported for all modes, 24 bpp is supported only # with SwVideoMode=y, SDL_OPENGL mode supports everything. (16)/(24)/(32) @@ -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 armeabi-v7a arm64-v8a x86 x86_64" +MultiABI="armeabi-v7a arm64-v8a x86 x86_64" # 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/project.patch b/dists/androidsdl/scummvm/project.patch new file mode 100644 index 0000000000..f777541262 --- /dev/null +++ b/dists/androidsdl/scummvm/project.patch @@ -0,0 +1,8 @@ +--- a/project/AndroidManifest.xml 2018-01-01 17:35:08.893995813 +0200 ++++ a/project/AndroidManifest.xml 2018-01-01 17:35:41.888969151 +0200 +@@ -6,4 +6,5 @@ + android:installLocation="auto" ++ android:sharedUserId="org.scummvm.scummvm" + > + <application android:label="@string/app_name" + android:icon="@drawable/icon" diff --git a/dists/engine-data/README b/dists/engine-data/README index 954bcbd5e9..75d767c353 100644 --- a/dists/engine-data/README +++ b/dists/engine-data/README @@ -40,6 +40,10 @@ mp3/ogg/flac encoded need the datafile. sky.cpt: TODO +supernova.dat +File created partially by extracting the German text from the original source +code. It also contains the custom-made English translation. + teenagent.dat TODO diff --git a/dists/engine-data/supernova.dat b/dists/engine-data/supernova.dat Binary files differnew file mode 100644 index 0000000000..74d9092aef --- /dev/null +++ b/dists/engine-data/supernova.dat diff --git a/dists/irix/scummvm.idb b/dists/irix/scummvm.idb index 6a613bbbd5..cfd9463107 100644 --- a/dists/irix/scummvm.idb +++ b/dists/irix/scummvm.idb @@ -12,6 +12,7 @@ f 0644 root sys usr/ScummVM/share/scummvm/pred.dic pred.dic scummvm.sw.eoe f 0644 root sys usr/ScummVM/share/scummvm/queen.tbl queen.tbl scummvm.sw.eoe f 0644 root sys usr/ScummVM/share/scummvm/scummmodern.zip scummmodern.zip scummvm.sw.eoe f 0644 root sys usr/ScummVM/share/scummvm/sky.cpt sky.cpt scummvm.sw.eoe +f 0644 root sys usr/ScummVM/share/scummvm/supernova.dat scummvm.sw.eoe f 0644 root sys usr/ScummVM/share/scummvm/teenagent.dat teenagent.dat scummvm.sw.eoe l 0000 root sys usr/bin/scummvm scummvm scummvm.sw.eoe symval(/usr/ScummVM/scummvm) f 0644 root sys usr/lib/filetype/local/ScummVM.ftr ScummVM.ftr scummvm.sw.eoe exitop('if test -r $rbase/usr/lib/filetype/Makefile ; then chroot $rbase /sbin/sh -c "cd /usr/lib/filetype ; make -u > /dev/null" ; fi') diff --git a/dists/scummvm.rc b/dists/scummvm.rc index a5b6eb222b..d76e168f92 100644 --- a/dists/scummvm.rc +++ b/dists/scummvm.rc @@ -53,6 +53,9 @@ queen.tbl FILE "dists/engine-data/queen.tbl" #if ENABLE_SKY == STATIC_PLUGIN sky.cpt FILE "dists/engine-data/sky.cpt" #endif +#if RNABLE_SUPERNOVA == STATIC_PLUGIN +supernova.dat FILE "dists/engine-data/supernova.dat" +#endif #if ENABLE_TEENAGENT == STATIC_PLUGIN teenagent.dat FILE "dists/engine-data/teenagent.dat" #endif diff --git a/dists/scummvm.rc.in b/dists/scummvm.rc.in index d960cc2a75..f84418d057 100644 --- a/dists/scummvm.rc.in +++ b/dists/scummvm.rc.in @@ -53,6 +53,9 @@ queen.tbl FILE "dists/engine-data/queen.tbl" #if ENABLE_SKY == STATIC_PLUGIN sky.cpt FILE "dists/engine-data/sky.cpt" #endif +#if RNABLE_SUPERNOVA == STATIC_PLUGIN +supernova.dat FILE "dists/engine-data/supernova.dat" +#endif #if ENABLE_TEENAGENT == STATIC_PLUGIN teenagent.dat FILE "dists/engine-data/teenagent.dat" #endif diff --git a/doc/de/LIESMICH b/doc/de/LIESMICH index 1a910329bd..efb61898f9 100644 --- a/doc/de/LIESMICH +++ b/doc/de/LIESMICH @@ -1008,6 +1008,15 @@ Mausrad: Durch Items (Inventar, etc) und Konversations-Log scrollen Pfeiltasten: Bewegung. Pfeil nach unten/zurück ist nur verfügbar, wenn die aktuelle Ansicht die Bewegung nach unten explizit verfügbar hat. +Funktionstasten: +F1: Zum Chat-O-Mat umschalten +F2: Zum persönlichen Gepäck umschalten +F3: Zum Remote Thingummy umschalten +F4: Zum Designer-Raum umschalten (Zeichen-Liste) +F5: Spiel speichern (GMM) +F6: Zum echten Leben wechseln +F7: Spiel laden (GMM) + Steuerung für das Starfield-Puzzle am Ende des Spiels: Tab: Zwischen Sternenkarte und Himmelslandschaft umschalten Mausklick: Stern auf der Himmelslandschaft auswählen @@ -2068,7 +2077,9 @@ den Originalversionen verwendet werden. - Benennen Sie die Spielstanddatei in „simon2.xxx“ um. Starship Titanic - - Benennen Sie die Spielstanddatei in "titanic-win.xxx" um. + - Benennen Sie für Spielstände der englischen Version die Spielstanddatei in "titanic-win.xxx" + und für Spielstände der deutschen Version in "titanic-win-de.xxx" um. + - Spielstand-Dateien sind nicht zwischen den unterschiedlichen Sprachversionen austauschbar. Floyd - Es gibt noch Helden - Benennen Sie die Spielstanddatei in „feeble.xxx“ um. diff --git a/engines/bladerunner/actor.cpp b/engines/bladerunner/actor.cpp index 3877947923..3f66899d5d 100644 --- a/engines/bladerunner/actor.cpp +++ b/engines/bladerunner/actor.cpp @@ -1052,7 +1052,7 @@ int Actor::getGoal() { void Actor::speechPlay(int sentenceId, bool voiceOver) { char name[13]; - sprintf(name, "%02d-%04d.AUD", _id, sentenceId); //TODO somewhere here should be also language code + sprintf(name, "%02d-%04d%s.AUD", _id, sentenceId, _vm->_languageCode); int balance; if (voiceOver || _id == VOICEOVER_ACTOR) { diff --git a/engines/bladerunner/ambient_sounds.cpp b/engines/bladerunner/ambient_sounds.cpp index 7790b03506..a8a42537d1 100644 --- a/engines/bladerunner/ambient_sounds.cpp +++ b/engines/bladerunner/ambient_sounds.cpp @@ -107,7 +107,7 @@ void AmbientSounds::addSpeech(int actorId, int sentenceId, int timeMin, int time sort(panEndMin, panEndMax); char name[13]; - sprintf(name, "%02d-%04d.AUD", actorId, sentenceId); //TODO somewhere here should be also language code + sprintf(name, "%02d-%04d%s.AUD", actorId, sentenceId, _vm->_languageCode); addSoundByName(name, timeMin, timeMax, volumeMin, volumeMax, diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp index 0c5dabe136..653f159bb3 100644 --- a/engines/bladerunner/bladerunner.cpp +++ b/engines/bladerunner/bladerunner.cpp @@ -69,12 +69,13 @@ #include "common/system.h" #include "engines/util.h" +#include "engines/advancedDetector.h" #include "graphics/pixelformat.h" namespace BladeRunner { -BladeRunnerEngine::BladeRunnerEngine(OSystem *syst) +BladeRunnerEngine::BladeRunnerEngine(OSystem *syst, const ADGameDescription *desc) : Engine(syst), _rnd("bladerunner") { _windowIsActive = true; @@ -104,6 +105,29 @@ BladeRunnerEngine::BladeRunnerEngine(OSystem *syst) _walkSoundId = -1; _walkSoundVolume = 0; _walkSoundBalance = 0; + + switch (desc->language) { + case Common::EN_ANY: + this->_languageCode = "E"; + break; + case Common::DE_DEU: + this->_languageCode = "G"; + break; + case Common::FR_FRA: + this->_languageCode = "F"; + break; + case Common::IT_ITA: + this->_languageCode = "I"; + break; + case Common::RU_RUS: + this->_languageCode = "R"; + break; + case Common::ES_ESP: + this->_languageCode = "S"; + break; + default: + this->_languageCode = "E"; + } } BladeRunnerEngine::~BladeRunnerEngine() { diff --git a/engines/bladerunner/bladerunner.h b/engines/bladerunner/bladerunner.h index 7ed3fb4af3..208c245e25 100644 --- a/engines/bladerunner/bladerunner.h +++ b/engines/bladerunner/bladerunner.h @@ -37,6 +37,8 @@ namespace Common { struct Event; } +struct ADGameDescription; + namespace BladeRunner { enum AnimationModes { @@ -98,9 +100,10 @@ class ZBuffer; class BladeRunnerEngine : public Engine { public: - bool _gameIsRunning; - bool _windowIsActive; - int _playerLosesControlCounter; + bool _gameIsRunning; + bool _windowIsActive; + int _playerLosesControlCounter; + const char *_languageCode; ADQ *_adq; ScreenEffects *_screenEffects; @@ -176,7 +179,7 @@ private: MIXArchive _archives[kArchiveCount]; public: - BladeRunnerEngine(OSystem *syst); + BladeRunnerEngine(OSystem *syst, const ADGameDescription *desc); ~BladeRunnerEngine(); bool hasFeature(EngineFeature f) const; diff --git a/engines/bladerunner/detection.cpp b/engines/bladerunner/detection.cpp index 1e40f3d363..f2c691a346 100644 --- a/engines/bladerunner/detection.cpp +++ b/engines/bladerunner/detection.cpp @@ -54,7 +54,7 @@ public: bool BladeRunnerMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const { - *engine = new BladeRunner::BladeRunnerEngine(syst); + *engine = new BladeRunner::BladeRunnerEngine(syst, desc); return true; } diff --git a/engines/bladerunner/detection_tables.h b/engines/bladerunner/detection_tables.h index 5b6c3d5fa4..52627890ea 100644 --- a/engines/bladerunner/detection_tables.h +++ b/engines/bladerunner/detection_tables.h @@ -68,6 +68,48 @@ static const ADGameDescription gameDescriptions[] = { GUIO0() }, + // BladeRunner (Italian) + { + "bladerunner", + 0, + { + {"STARTUP.MIX", 0, "c7ceb9c691223d25e78516aa519ff504", 2314461}, + AD_LISTEND + }, + Common::IT_ITA, + Common::kPlatformWindows, + ADGF_NO_FLAGS, + GUIO0() + }, + + // BladeRunner (Russian) + { + "bladerunner", + 0, + { + {"STARTUP.MIX", 0, "c198b54a5366b88b1734bbca21d3b192", 2678672}, + AD_LISTEND + }, + Common::RU_RUS, + Common::kPlatformWindows, + ADGF_NO_FLAGS, + GUIO0() + }, + + // BladeRunner (Spanish) + { + "bladerunner", + 0, + { + {"STARTUP.MIX", 0, "54cad53da9e4ae03a85648834ac6765d", 2312976}, + AD_LISTEND + }, + Common::ES_ESP, + Common::kPlatformWindows, + ADGF_NO_FLAGS, + GUIO0() + }, + AD_TABLE_END_MARKER }; diff --git a/engines/bladerunner/outtake.cpp b/engines/bladerunner/outtake.cpp index d60079032a..4791259e32 100644 --- a/engines/bladerunner/outtake.cpp +++ b/engines/bladerunner/outtake.cpp @@ -37,11 +37,12 @@ void OuttakePlayer::play(const Common::String &name, bool noLocalization, int co return; } - Common::String resName; - if (noLocalization) - resName = name + ".VQA"; - else - resName = name + "_E.VQA"; + Common::String resName = name; + if (!noLocalization) { + resName = resName + "_" + _vm->_languageCode; + } + + resName = resName + ".VQA"; VQAPlayer vqa_player(_vm, &_vm->_surfaceGame); diff --git a/engines/bladerunner/text_resource.cpp b/engines/bladerunner/text_resource.cpp index 03460d039f..78a73f5e71 100644 --- a/engines/bladerunner/text_resource.cpp +++ b/engines/bladerunner/text_resource.cpp @@ -47,7 +47,7 @@ bool TextResource::open(const char *name) { assert(strlen(name) <= 8); char resName[13]; - sprintf(resName, "%s.TRE", name); + sprintf(resName, "%s.TR%s", name, _vm->_languageCode); Common::ScopedPtr<Common::SeekableReadStream> s(_vm->getResourceStream(resName)); if (!s) return false; diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp index 96ac9388cc..254bfdb14c 100644 --- a/engines/sci/engine/script_patches.cpp +++ b/engines/sci/engine/script_patches.cpp @@ -141,7 +141,7 @@ static const char *const selectorNameTable[] = { "setScale", // LSL6hires "setScaler", // LSL6hires "readWord", // LSL7, Phant1, Torin - "flag", // PQ4 + "points", // PQ4 "select", // PQ4 "handle", // RAMA "saveFilePtr", // RAMA @@ -214,7 +214,7 @@ enum ScriptPatcherSelectors { SELECTOR_setScale, SELECTOR_setScaler, SELECTOR_readWord, - SELECTOR_flag, + SELECTOR_points, SELECTOR_select, SELECTOR_handle, SELECTOR_saveFilePtr, @@ -4644,7 +4644,7 @@ static const uint16 pq4CdSpeechAndSubtitlesPatch[] = { // bar earlier in the game, and checks local 3 then, so just check local 3 in // both cases to prevent the game from appearing to be in an unwinnable state // just because the player interacted in the "wrong" order. -// Applies to at least: English floppy, German floppy, English CD +// Applies to at least: English floppy, German floppy, English CD, German CD static const uint16 pq4BittyKittyShowBarieRedShoeSignature[] = { // stripper::noun check is for checking, if police badge was shown SIG_MAGICDWORD, @@ -4652,7 +4652,7 @@ static const uint16 pq4BittyKittyShowBarieRedShoeSignature[] = { 0x35, 0x02, // ldi 2 0x1e, // gt? 0x30, SIG_UINT16(0x0028), // bnt [skip 2 points code] - 0x39, SIG_SELECTOR8(flag), // pushi $61 (flag) + 0x39, SIG_SELECTOR8(points), // pushi $61 (points) SIG_END }; diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index 8acb6eb6de..1af752326a 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -358,7 +358,7 @@ void HelpDialog::handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 da _prevButton->setFlags(WIDGET_ENABLED); } displayKeyBindings(); - draw(); + g_gui.scheduleTopDialogRedraw(); break; case kPrevCmd: _page--; @@ -369,7 +369,7 @@ void HelpDialog::handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 da _prevButton->clearFlags(WIDGET_ENABLED); } displayKeyBindings(); - draw(); + g_gui.scheduleTopDialogRedraw(); break; default: ScummDialog::handleCommand(sender, cmd, data); @@ -553,7 +553,7 @@ void ValueDisplayDialog::handleKeyDown(Common::KeyState state) { setResult(_value); _timer = g_system->getMillis() + kDisplayDelay; - draw(); + g_gui.scheduleTopDialogRedraw(); } else { close(); } @@ -581,7 +581,7 @@ void SubtitleSettingsDialog::handleKeyDown(Common::KeyState state) { cycleValue(); reflowLayout(); - draw(); + g_gui.scheduleTopDialogRedraw(); } else { close(); } @@ -634,7 +634,7 @@ void DebugInputDialog::handleKeyDown(Common::KeyState state) { buffer.deleteLastChar(); Common::String total = mainText + ' ' + buffer; setInfoText(total); - draw(); + g_gui.scheduleTopDialogRedraw(); reflowLayout(); } else if (state.keycode == Common::KEYCODE_RETURN) { done = 1; @@ -643,7 +643,7 @@ void DebugInputDialog::handleKeyDown(Common::KeyState state) { } else if ((state.ascii >= '0' && state.ascii <= '9') || (state.ascii >= 'A' && state.ascii <= 'Z') || (state.ascii >= 'a' && state.ascii <= 'z') || state.ascii == '.' || state.ascii == ' ') { buffer += state.ascii; Common::String total = mainText + ' ' + buffer; - draw(); + g_gui.scheduleTopDialogRedraw(); reflowLayout(); setInfoText(total); } diff --git a/engines/supernova/NOTES b/engines/supernova/NOTES new file mode 100644 index 0000000000..909f4eb9d0 --- /dev/null +++ b/engines/supernova/NOTES @@ -0,0 +1,72 @@ +Audio +----------- + +There may be several sound effects in one file. +This list shows them and their offsets. + +46: + 0 - Voice "Halt!" + 2510 - + 4020 - + +47: + 0 - Voice "Mission Supernova" + 24010 - Voice "Yeaahh.." + +48: + 0 - + 2510 - + 10520 - electric shock + 13530 - (playing turntable) + +50: + 0 - + 12786 - + +51: + +53: Death sound + +54: + 0 - Alarm + 8010 - + 24020 - Door sound + 30030 - Door open + 31040 - Door close + +Engine +---------- +MouseFields + [0;256[ - Viewport + [256;512[ - Command Row + [512;768[ - Inventory + [768;769] - Inventory Arrows + +Dimensions + Viewport: (0,0) (320, 150) + Command Row: (0, 150) (320, 159) + Inventory: (0, 161) (270, 200) + Inventory Arrows: (271, 161) (279, 200) + Exit Maps: (283, 163) (317, 197) + + +timer2 == animation timer + + +Text +------- +AE - 216 ae - 204 +OE - 231 oe - 224 +UE - 232 ue - 201 +SZ - 341 + + +Ingame Bugs +------------ +In Cabin_R3 (starting room) you can take the discman from your locker without +opening it first. + + +Improvements +------------- +Incidate in inventory (?) what parts of your space suit you are wearing diff --git a/engines/supernova/POTFILES b/engines/supernova/POTFILES new file mode 100644 index 0000000000..80d6dee582 --- /dev/null +++ b/engines/supernova/POTFILES @@ -0,0 +1,2 @@ +engines/supernova/supernova.cpp + diff --git a/engines/supernova/configure.engine b/engines/supernova/configure.engine new file mode 100644 index 0000000000..8f75fa4a3e --- /dev/null +++ b/engines/supernova/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine supernova "Mission Supernova" no diff --git a/engines/supernova/console.cpp b/engines/supernova/console.cpp new file mode 100644 index 0000000000..ee1905a3ce --- /dev/null +++ b/engines/supernova/console.cpp @@ -0,0 +1,114 @@ +/* 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 "gui/debugger.h" + +#include "supernova/supernova.h" +#include "supernova/state.h" +#include "supernova/console.h" + +namespace Supernova { + +Console::Console(SupernovaEngine *vm, GameManager *gm) +{ + registerCmd("render", WRAP_METHOD(Console, cmdRenderImage)); + registerCmd("play", WRAP_METHOD(Console, cmdPlaySound)); + registerCmd("music", WRAP_METHOD(Console, cmdMusic)); + registerCmd("list", WRAP_METHOD(Console, cmdList)); + registerCmd("inventory", WRAP_METHOD(Console, cmdInventory)); + registerCmd("giveall", WRAP_METHOD(Console, cmdGiveAll)); + + _vm = vm; + _gm = gm; +} + +bool Console::cmdRenderImage(int argc, const char **argv) { + if (argc != 3) { + debugPrintf("Usage: render [filenumber] [section]\n"); + return true; + } + + int image = atoi(argv[1]); + if (_vm->setCurrentImage(image)) + _vm->renderImage(atoi(argv[2])); + else + debugPrintf("Image %d is invalid!", image); + + return true; +} + +bool Console::cmdPlaySound(int argc, const char **argv) { + if (argc != 2) { + debugPrintf("Usage: play [0-%d]\n", kAudioNumSamples - 1); + return true; + } + + int sample = Common::String(argv[1]).asUint64(); + _vm->playSound(static_cast<AudioIndex>(sample)); + + return true; +} + +bool Console::cmdMusic(int argc, const char **argv) { + if (argc != 2) { + debugPrintf("Usage: music [49/52]\n"); + return true; + } + + _vm->playSoundMod(atoi(argv[1])); + + return true; +} + +bool Console::cmdList(int argc, const char **argv) { + // Objects in room and sections + + return true; +} + +bool Console::cmdInventory(int argc, const char **argv) { + if (argc != 2 || argc != 3) { + debugPrintf("Usage: inventory [list][add/remove [object]]"); + return true; + } + + // TODO + + return true; +} + +bool Console::cmdGiveAll(int argc, const char **argv) { + _gm->takeObject(*_gm->_rooms[INTRO]->getObject(0)); + _gm->takeObject(*_gm->_rooms[INTRO]->getObject(1)); + _gm->takeObject(*_gm->_rooms[INTRO]->getObject(2)); + _gm->takeObject(*_gm->_rooms[GENERATOR]->getObject(2)); // Commander Keycard + _gm->takeObject(*_gm->_rooms[GENERATOR]->getObject(0)); // Power Cord with Plug + _gm->takeObject(*_gm->_rooms[CABIN_L1]->getObject(5)); // Pen + _gm->takeObject(*_gm->_rooms[CABIN_R3]->getObject(0)); // Chess Board + _gm->takeObject(*_gm->_rooms[CABIN_R3]->getObject(9)); // Rope + _gm->takeObject(*_gm->_rooms[AIRLOCK]->getObject(4)); // Helmet + _gm->takeObject(*_gm->_rooms[AIRLOCK]->getObject(5)); // Space Suit + _gm->takeObject(*_gm->_rooms[AIRLOCK]->getObject(6)); // Supply + return true; +} + +} diff --git a/engines/supernova/console.h b/engines/supernova/console.h new file mode 100644 index 0000000000..74b40c25f8 --- /dev/null +++ b/engines/supernova/console.h @@ -0,0 +1,55 @@ +/* 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 SUPERNOVA_CONSOLE_H +#define SUPERNOVA_CONSOLE_H + +#include "gui/debugger.h" + +namespace Supernova { + +class SupernovaEngine; +class GameManager; + +enum { + kDebugGeneral = 1 << 0 +}; + +class Console : public GUI::Debugger { +public: + Console(Supernova::SupernovaEngine *vm, Supernova::GameManager *gm); + virtual ~Console() {} + + bool cmdRenderImage(int argc, const char **argv); + bool cmdPlaySound(int argc, const char **argv); + bool cmdMusic(int argc, const char **argv); + bool cmdList(int argc, const char **argv); + bool cmdInventory(int argc, const char **argv); + bool cmdGiveAll(int argc, const char **argv); +private: + SupernovaEngine *_vm; + GameManager *_gm; +}; + +} + +#endif diff --git a/engines/supernova/detection.cpp b/engines/supernova/detection.cpp new file mode 100644 index 0000000000..61a99f083c --- /dev/null +++ b/engines/supernova/detection.cpp @@ -0,0 +1,220 @@ +/* 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 "base/plugins.h" +#include "common/file.h" +#include "common/savefile.h" +#include "common/system.h" +#include "graphics/thumbnail.h" +#include "engines/advancedDetector.h" + +#include "supernova/supernova.h" + +static const PlainGameDescriptor supernovaGames[] = { + {"msn1", "Mission Supernova 1"}, + {"msn2", "Mission Supernova 2"}, + {NULL, NULL} +}; + +namespace Supernova { +static const ADGameDescription gameDescriptions[] = { + // Mission Supernova 1 + { + "msn1", + NULL, + AD_ENTRY1s("msn_data.000", "f64f16782a86211efa919fbae41e7568", 24163), + Common::DE_DEU, + Common::kPlatformDOS, + ADGF_UNSTABLE, + GUIO1(GUIO_NONE) + }, + { + "msn1", + NULL, + AD_ENTRY1s("msn_data.000", "f64f16782a86211efa919fbae41e7568", 24163), + Common::EN_ANY, + Common::kPlatformDOS, + ADGF_UNSTABLE, + GUIO1(GUIO_NONE) + }, + + // Mission Supernova 2 + { + "msn2", + NULL, + AD_ENTRY1s("ms2_data.000", "e595610cba4a6d24a763e428d05cc83f", 24805), + Common::DE_DEU, + Common::kPlatformDOS, + ADGF_UNSTABLE, + GUIO1(GUIO_NONE) + }, + + AD_TABLE_END_MARKER +}; +} + +class SupernovaMetaEngine: public AdvancedMetaEngine { +public: + SupernovaMetaEngine() : AdvancedMetaEngine(Supernova::gameDescriptions, sizeof(ADGameDescription), supernovaGames) { +// _singleId = "supernova"; + } + + virtual const char *getName() const { + return "Supernova Engine"; + } + + virtual const char *getOriginalCopyright() const { + return "Mission Supernova (c) 1994 Thomas and Steffen Dingel"; + } + + virtual bool hasFeature(MetaEngineFeature f) const; + virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const; + virtual SaveStateList listSaves(const char *target) const; + virtual void removeSaveState(const char *target, int slot) const; + virtual int getMaximumSaveSlot() const { + return 99; + } + virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const; +}; + +bool SupernovaMetaEngine::hasFeature(MetaEngineFeature f) const { + switch (f) { + case kSupportsLoadingDuringStartup: + // fallthrough + case kSupportsListSaves: + // fallthrough + case kSupportsDeleteSave: + // fallthrough + case kSavesSupportMetaInfo: + // fallthrough + case kSavesSupportThumbnail: + // fallthrough + case kSavesSupportCreationDate: + // fallthrough + case kSavesSupportPlayTime: + return true; + default: + return false; + } +} + +bool SupernovaMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const { + if (desc) { + *engine = new Supernova::SupernovaEngine(syst); + } + + return desc != NULL; +} + +SaveStateList SupernovaMetaEngine::listSaves(const char *target) const { + Common::StringArray filenames; + Common::String pattern("msn_save.###"); + + filenames = g_system->getSavefileManager()->listSavefiles(pattern); + + SaveStateList saveFileList; + for (Common::StringArray::const_iterator file = filenames.begin(); + file != filenames.end(); ++file) { + int saveSlot = atoi(file->c_str() + file->size() - 3); + if (saveSlot >= 0 && saveSlot <= getMaximumSaveSlot()) { + Common::InSaveFile *savefile = g_system->getSavefileManager()->openForLoading(*file); + if (savefile) { + uint saveHeader = savefile->readUint32LE(); + if (saveHeader == SAVEGAME_HEADER) { + byte saveVersion = savefile->readByte(); + if (saveVersion <= SAVEGAME_VERSION) { + int saveFileDescSize = savefile->readSint16LE(); + char* saveFileDesc = new char[saveFileDescSize]; + savefile->read(saveFileDesc, saveFileDescSize); + saveFileList.push_back(SaveStateDescriptor(saveSlot, saveFileDesc)); + delete [] saveFileDesc; + } + } + delete savefile; + } + } + } + + Common::sort(saveFileList.begin(), saveFileList.end(), SaveStateDescriptorSlotComparator()); + return saveFileList; +} + +void SupernovaMetaEngine::removeSaveState(const char *target, int slot) const { + Common::String filename = Common::String::format("msn_save.%03d", slot); + g_system->getSavefileManager()->removeSavefile(filename); +} + +SaveStateDescriptor SupernovaMetaEngine::querySaveMetaInfos(const char *target, int slot) const { + Common::String fileName = Common::String::format("msn_save.%03d", slot); + Common::InSaveFile *savefile = g_system->getSavefileManager()->openForLoading(fileName); + + if (savefile) { + uint saveHeader = savefile->readUint32LE(); + if (saveHeader != SAVEGAME_HEADER) { + delete savefile; + return SaveStateDescriptor(); + } + byte saveVersion = savefile->readByte(); + if (saveVersion > SAVEGAME_VERSION){ + delete savefile; + return SaveStateDescriptor(); + } + + int descriptionSize = savefile->readSint16LE(); + char* description = new char[descriptionSize]; + savefile->read(description, descriptionSize); + SaveStateDescriptor desc(slot, description); + delete [] description; + + uint32 saveDate = savefile->readUint32LE(); + int day = (saveDate >> 24) & 0xFF; + int month = (saveDate >> 16) & 0xFF; + int year = saveDate & 0xFFFF; + desc.setSaveDate(year, month, day); + + uint16 saveTime = savefile->readUint16LE(); + int hour = (saveTime >> 8) & 0xFF; + int minutes = saveTime & 0xFF; + desc.setSaveTime(hour, minutes); + + uint32 playTime =savefile->readUint32LE(); + desc.setPlayTime(playTime * 1000); + + if (Graphics::checkThumbnailHeader(*savefile)) { + Graphics::Surface *const thumbnail = Graphics::loadThumbnail(*savefile); + desc.setThumbnail(thumbnail); + } + + delete savefile; + + return desc; + } + + return SaveStateDescriptor(); +} + + +#if PLUGIN_ENABLED_DYNAMIC(SUPERNOVA) +REGISTER_PLUGIN_DYNAMIC(SUPERNOVA, PLUGIN_TYPE_ENGINE, SupernovaMetaEngine); +#else +REGISTER_PLUGIN_STATIC(SUPERNOVA, PLUGIN_TYPE_ENGINE, SupernovaMetaEngine); +#endif diff --git a/engines/supernova/graphics.cpp b/engines/supernova/graphics.cpp new file mode 100644 index 0000000000..d7839c1dcb --- /dev/null +++ b/engines/supernova/graphics.cpp @@ -0,0 +1,256 @@ +/* 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/algorithm.h" +#include "common/file.h" +#include "common/stream.h" +#include "common/system.h" +#include "common/config-manager.h" +#include "graphics/palette.h" +#include "graphics/surface.h" + +#include "graphics.h" +#include "msn_def.h" +#include "supernova.h" + +namespace Supernova { + +MSNImageDecoder::MSNImageDecoder() { + _palette = nullptr; + _encodedImage = nullptr; + _filenumber = -1; + _pitch = 0; + _numSections = 0; + _numClickFields = 0; +} + +MSNImageDecoder::~MSNImageDecoder() { + destroy(); +} + +bool MSNImageDecoder::init(int filenumber) { + Common::File file; + if (!file.open(Common::String::format("msn_data.%03d", filenumber))) { + warning("Image data file msn_data.%03d could not be read!", filenumber); + return false; + } + + _filenumber = filenumber; + loadStream(file); + + return true; +} + +bool MSNImageDecoder::loadFromEngineDataFile() { + Common::String name; + if (_filenumber == 1) + name = "IMG1"; + else if (_filenumber == 2) + name = "IMG2"; + else + return false; + + Common::String cur_lang = ConfMan.get("language"); + + // Note: we don't print any warning or errors here if we cannot find the file + // or the format is not as expected. We will get those warning when reading the + // strings anyway (actually the engine will even refuse to start). + Common::File f; + if (!f.open(SUPERNOVA_DAT)) + return false; + + char id[5], lang[5]; + id[4] = lang[4] = '\0'; + f.read(id, 3); + if (strncmp(id, "MSN", 3) != 0) + return false; + int version = f.readByte(); + if (version != SUPERNOVA_DAT_VERSION) + return false; + + while (!f.eos()) { + f.read(id, 4); + f.read(lang, 4); + uint32 size = f.readUint32LE(); + if (f.eos()) + break; + if (name == id && cur_lang == lang) { + return f.read(_encodedImage, size) == size; + } else + f.skip(size); + } + + return false; +} + +bool MSNImageDecoder::loadStream(Common::SeekableReadStream &stream) { + destroy(); + + uint size = 0; + size = (stream.readUint16LE() + 0xF) >> 4; + size |= (stream.readUint16LE() & 0xF) << 12; + size += 0x70; // zus_paragraph + size *= 16; // a paragraph is 16 bytes + _encodedImage = new byte[size]; + + _palette = new byte[717]; + g_system->getPaletteManager()->grabPalette(_palette, 16, 239); + + byte pal_diff; + byte flag = stream.readByte(); + if (flag == 0) { + pal_diff = 0; + _palette[141] = 0xE0; + _palette[142] = 0xE0; + _palette[143] = 0xE0; + } else { + pal_diff = 1; + for (int i = flag * 3; i != 0; --i) { + _palette[717 - i] = stream.readByte() << 2; + } + } + + _numSections = stream.readByte(); + for (uint i = 0; i < kMaxSections; ++i) { + _section[i].addressHigh = 0xff; + _section[i].addressLow = 0xffff; + _section[i].x2 = 0; + _section[i].next = 0; + } + for (int i = 0; i < _numSections; ++i) { + _section[i].x1 = stream.readUint16LE(); + _section[i].x2 = stream.readUint16LE(); + _section[i].y1 = stream.readByte(); + _section[i].y2 = stream.readByte(); + _section[i].next = stream.readByte(); + _section[i].addressLow = stream.readUint16LE(); + _section[i].addressHigh = stream.readByte(); + } + + _numClickFields = stream.readByte(); + for (int i = 0; i < _numClickFields; ++i) { + _clickField[i].x1 = stream.readUint16LE(); + _clickField[i].x2 = stream.readUint16LE(); + _clickField[i].y1 = stream.readByte(); + _clickField[i].y2 = stream.readByte(); + _clickField[i].next = stream.readByte(); + } + for (int i = _numClickFields; i < kMaxClickFields; ++i) { + _clickField[i].x1 = 0; + _clickField[i].x2 = 0; + _clickField[i].y1 = 0; + _clickField[i].y2 = 0; + _clickField[i].next = 0; + } + + // Newspaper images may be in the engine data file. So first try to read + // it from there. + if (!loadFromEngineDataFile()) { + // Load the image from the stream + byte zwCodes[256] = {0}; + byte numRepeat = stream.readByte(); + byte numZw = stream.readByte(); + stream.read(zwCodes, numZw); + numZw += numRepeat; + + byte input = 0; + uint i = 0; + + while (stream.read(&input, 1)) { + if (input < numRepeat) { + ++input; + byte value = stream.readByte(); + for (--value; input > 0; --input) { + _encodedImage[i++] = value; + } + } else if (input < numZw) { + input = zwCodes[input - numRepeat]; + --input; + _encodedImage[i++] = input; + _encodedImage[i++] = input; + } else { + input -= pal_diff; + _encodedImage[i++] = input; + } + } + } + + loadSections(); + + return true; +} + +bool MSNImageDecoder::loadSections() { + bool isNewspaper = _filenumber == 1 || _filenumber == 2; + int imageWidth = isNewspaper ? 640 : 320; + int imageHeight = isNewspaper ? 480 : 200; + _pitch = imageWidth; + + for (int section = 0; section < _numSections; ++section) { + Graphics::Surface *surface = new Graphics::Surface; + _sectionSurfaces.push_back(surface); + + if (isNewspaper) { + surface->create(imageWidth, imageHeight, g_system->getScreenFormat()); + byte *surfacePixels = static_cast<byte *>(surface->getPixels()); + for (int i = 0; i < imageWidth * imageHeight / 8; ++i) { + *surfacePixels++ = (_encodedImage[i] & 0x80) ? kColorWhite63 : kColorBlack; + *surfacePixels++ = (_encodedImage[i] & 0x40) ? kColorWhite63 : kColorBlack; + *surfacePixels++ = (_encodedImage[i] & 0x20) ? kColorWhite63 : kColorBlack; + *surfacePixels++ = (_encodedImage[i] & 0x10) ? kColorWhite63 : kColorBlack; + *surfacePixels++ = (_encodedImage[i] & 0x08) ? kColorWhite63 : kColorBlack; + *surfacePixels++ = (_encodedImage[i] & 0x04) ? kColorWhite63 : kColorBlack; + *surfacePixels++ = (_encodedImage[i] & 0x02) ? kColorWhite63 : kColorBlack; + *surfacePixels++ = (_encodedImage[i] & 0x01) ? kColorWhite63 : kColorBlack; + } + } else { + uint32 offset = (_section[section].addressHigh << 16) + _section[section].addressLow; + if (offset == kInvalidAddress || _section[section].x2 == 0) { + return false; + } + int width = _section[section].x2 - _section[section].x1 + 1; + int height = _section[section].y2 - _section[section].y1 + 1; + surface->create(width, height, g_system->getScreenFormat()); + byte *surfacePixels = static_cast<byte *>(surface->getPixels()); + Common::copy(_encodedImage + offset, _encodedImage + offset + width * height, surfacePixels); + } + } + + return true; +} + +void MSNImageDecoder::destroy() { + if (_palette) { + delete[] _palette; + _palette = NULL; + } + if (_encodedImage) { + delete[] _encodedImage; + _encodedImage = NULL; + } + for (Common::Array<Graphics::Surface *>::iterator it = _sectionSurfaces.begin(); + it != _sectionSurfaces.end(); ++it) { + (*it)->free(); + } +} + +} diff --git a/engines/supernova/graphics.h b/engines/supernova/graphics.h new file mode 100644 index 0000000000..2a820c9432 --- /dev/null +++ b/engines/supernova/graphics.h @@ -0,0 +1,87 @@ +/* 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 SUPERNOVA_GRAPHICS_H +#define SUPERNOVA_GRAPHICS_H + +#include "common/scummsys.h" +#include "image/image_decoder.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Graphics { +struct Surface; +} + +namespace Supernova { + +class MSNImageDecoder : public Image::ImageDecoder { +public: + MSNImageDecoder(); + virtual ~MSNImageDecoder(); + + virtual void destroy(); + virtual bool loadStream(Common::SeekableReadStream &stream); + virtual const Graphics::Surface *getSurface() const { return _sectionSurfaces[0]; } + virtual const byte *getPalette() const { return _palette; } + + bool init(int filenumber); + + static const int kMaxSections = 50; + static const int kMaxClickFields = 80; + static const uint32 kInvalidAddress = 0x00FFFFFF; + + int _filenumber; + int _pitch; + int _numSections; + int _numClickFields; + Common::Array<Graphics::Surface *> _sectionSurfaces; + byte *_palette; + byte *_encodedImage; + + struct Section { + int16 x1; + int16 x2; + byte y1; + byte y2; + byte next; + uint16 addressLow; + byte addressHigh; + } _section[kMaxSections]; + + struct ClickField { + int16 x1; + int16 x2; + byte y1; + byte y2; + byte next; + } _clickField[kMaxClickFields]; + +private: + bool loadFromEngineDataFile(); + bool loadSections(); +}; + +} +#endif diff --git a/engines/supernova/module.mk b/engines/supernova/module.mk new file mode 100644 index 0000000000..9baf196c7c --- /dev/null +++ b/engines/supernova/module.mk @@ -0,0 +1,20 @@ +MODULE := engines/supernova + +MODULE_OBJS := \ + console.o \ + detection.o \ + graphics.o \ + supernova.o \ + rooms.o \ + state.o + +MODULE_DIRS += \ + engines/supernova + +# This module can be built as a plugin +ifeq ($(ENABLE_SUPERNOVA), DYNAMIC_PLUGIN) +PLUGIN := 1 +endif + +# Include common rules +include $(srcdir)/rules.mk diff --git a/engines/supernova/msn_def.h b/engines/supernova/msn_def.h new file mode 100644 index 0000000000..ad28cd5bef --- /dev/null +++ b/engines/supernova/msn_def.h @@ -0,0 +1,643 @@ +/* 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 SUPERNOVA_MSN_DEF_H +#define SUPERNOVA_MSN_DEF_H + +namespace Supernova { + +const int kScreenWidth = 320; +const int kScreenHeight = 200; +const int kFontWidth = 5; +const int kFontHeight = 8; +const int kTextSpeed[] = {19, 14, 10, 7, 4}; +const int kMsecPerTick = 55; + +const int kMaxSection = 40; +const int kMaxDialog = 2; +const int kMaxObject = 25; +const int kMaxCarry = 30; + +const int kSleepAutosaveSlot = 999; + +const byte kShownFalse = 0; +const byte kShownTrue = 1; + +enum MessagePosition { + kMessageNormal, + kMessageLeft, + kMessageRight, + kMessageCenter, + kMessageTop +}; + +enum AudioIndex { + kAudioFoundLocation, // 44|0 + kAudioCrash, // 45|0 + kAudioVoiceHalt, // 46|0 + kAudioGunShot, // 46|2510 + kAudioSmash, // 46|4020 + kAudioVoiceSupernova, // 47|0 + kAudioVoiceYeah, // 47|24010 + kAudioRobotShock, // 48|0 + kAudioRobotBreaks, // 48|2510 + kAudioShock, // 48|10520 + kAudioTurntable, // 48|13530 + kAudioSiren, // 50|0 + kAudioSnoring, // 50|12786 + kAudioRocks, // 51|0 + kAudioDeath, // 53|0 + kAudioAlarm, // 54|0 + kAudioSuccess, // 54|8010 + kAudioSlideDoor, // 54|24020 + kAudioDoorOpen, // 54|30030 + kAudioDoorClose, // 54|31040 + kAudioNumSamples +}; + +enum MusicIndex { + kMusicIntro = 52, + kMusicOutro = 49 +}; + +struct AudioInfo { + int _filenumber; + int _offsetStart; + int _offsetEnd; +}; + +const int kColorBlack = 0; +const int kColorWhite25 = 1; +const int kColorWhite35 = 2; +const int kColorWhite44 = 3; +const int kColorWhite99 = 4; +const int kColorDarkGreen = 5; +const int kColorGreen = 6; +const int kColorDarkRed = 7; +const int kColorRed = 8; +const int kColorDarkBlue = 9; +const int kColorBlue = 10; +const int kColorWhite63 = 11; +const int kColorLightBlue = 12; +const int kColorLightGreen = 13; +const int kColorLightYellow = 14; +const int kColorLightRed = 15; +const int kColorCursorTransparent = kColorWhite25; + +const byte mouseNormal[64] = { + 0xff,0x3f,0xff,0x1f,0xff,0x0f,0xff,0x07, + 0xff,0x03,0xff,0x01,0xff,0x00,0x7f,0x00, + 0x3f,0x00,0x1f,0x00,0x0f,0x00,0x0f,0x00, + 0xff,0x00,0x7f,0x18,0x7f,0x38,0x7f,0xfc, + + 0x00,0x00,0x00,0x40,0x00,0x60,0x00,0x70, + 0x00,0x78,0x00,0x7c,0x00,0x7e,0x00,0x7f, + 0x80,0x7f,0xc0,0x7f,0xe0,0x7f,0x00,0x7e, + 0x00,0x66,0x00,0x43,0x00,0x03,0x00,0x00 +}; + +const byte mouseWait[64] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80, + 0x01,0x80,0x01,0x80,0x11,0x88,0x31,0x8c, + 0x31,0x8c,0x11,0x88,0x01,0x80,0x01,0x80, + 0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00, + + 0x00,0x00,0xfe,0x7f,0xf4,0x2f,0xf4,0x2f, + 0x14,0x28,0x24,0x24,0x44,0x22,0x84,0x21, + 0x84,0x21,0xc4,0x23,0xe4,0x27,0x74,0x2e, + 0x34,0x2c,0x14,0x28,0xfe,0x7f,0x00,0x00 +}; + +const byte font[][5] = { + {0x00,0x00,0x00,0xff,0x00}, + {0x5f,0xff,0x00,0x00,0x00}, + {0x03,0x00,0x03,0xff,0x00}, + {0x14,0x7f,0x14,0x7f,0x14}, + {0x24,0x2a,0x7f,0x2a,0x12}, + {0x61,0x10,0x08,0x04,0x43}, + {0x38,0x4e,0x59,0x26,0x50}, + {0x03,0xff,0x00,0x00,0x00}, + {0x3e,0x41,0xff,0x00,0x00}, + {0x41,0x3e,0xff,0x00,0x00}, + {0x10,0x54,0x38,0x54,0x10}, + {0x10,0x10,0x7c,0x10,0x10}, + {0x80,0x40,0xff,0x00,0x00}, + {0x10,0x10,0x10,0x10,0x10}, + {0x40,0xff,0x00,0x00,0x00}, + {0x60,0x10,0x08,0x04,0x03}, + + {0x3e,0x41,0x41,0x41,0x3e}, /* digits */ + {0x04,0x02,0x7f,0xff,0x00}, + {0x42,0x61,0x51,0x49,0x46}, + {0x22,0x41,0x49,0x49,0x36}, + {0x18,0x14,0x12,0x7f,0x10}, + {0x27,0x45,0x45,0x45,0x39}, + {0x3e,0x49,0x49,0x49,0x32}, + {0x01,0x61,0x19,0x07,0x01}, + {0x36,0x49,0x49,0x49,0x36}, + {0x26,0x49,0x49,0x49,0x3e}, + + {0x44,0xff,0x00,0x00,0x00}, + {0x80,0x44,0xff,0x00,0x00}, + {0x10,0x28,0x44,0xff,0x00}, + {0x28,0x28,0x28,0x28,0x28}, + {0x44,0x28,0x10,0xff,0x00}, + {0x02,0x01,0x51,0x09,0x06}, + {0x3e,0x41,0x5d,0x5d,0x1e}, + + {0x7c,0x12,0x11,0x12,0x7c}, /* uppercase letters*/ + {0x7f,0x49,0x49,0x49,0x36}, + {0x3e,0x41,0x41,0x41,0x22}, + {0x7f,0x41,0x41,0x22,0x1c}, + {0x7f,0x49,0x49,0x49,0xff}, + {0x7f,0x09,0x09,0x09,0xff}, + {0x3e,0x41,0x41,0x49,0x3a}, + {0x7f,0x08,0x08,0x08,0x7f}, + {0x41,0x7f,0x41,0xff,0x00}, + {0x20,0x40,0x40,0x3f,0xff}, + {0x7f,0x08,0x14,0x22,0x41}, + {0x7f,0x40,0x40,0x40,0xff}, + {0x7f,0x02,0x04,0x02,0x7f}, + {0x7f,0x02,0x0c,0x10,0x7f}, + {0x3e,0x41,0x41,0x41,0x3e}, + {0x7f,0x09,0x09,0x09,0x06}, + {0x3e,0x41,0x51,0x21,0x5e}, + {0x7f,0x09,0x19,0x29,0x46}, + {0x26,0x49,0x49,0x49,0x32}, + {0x01,0x01,0x7f,0x01,0x01}, + {0x3f,0x40,0x40,0x40,0x3f}, + {0x07,0x18,0x60,0x18,0x07}, + {0x1f,0x60,0x18,0x60,0x1f}, + {0x63,0x14,0x08,0x14,0x63}, + {0x03,0x04,0x78,0x04,0x03}, + {0x61,0x51,0x49,0x45,0x43}, + + {0x7f,0x41,0x41,0xff,0x00}, + {0x03,0x04,0x08,0x10,0x60}, + {0x41,0x41,0x7f,0xff,0x00}, + {0x02,0x01,0x02,0xff,0x00}, + {0x80,0x80,0x80,0x80,0x80}, + {0x01,0x02,0xff,0x00,0x00}, + + {0x38,0x44,0x44,0x44,0x7c}, /* lowercase letters */ + {0x7f,0x44,0x44,0x44,0x38}, + {0x38,0x44,0x44,0x44,0x44}, + {0x38,0x44,0x44,0x44,0x7f}, + {0x38,0x54,0x54,0x54,0x58}, + {0x04,0x7e,0x05,0x01,0xff}, + {0x98,0xa4,0xa4,0xa4,0x7c}, + {0x7f,0x04,0x04,0x04,0x78}, + {0x7d,0xff,0x00,0x00,0x00}, + {0x80,0x80,0x7d,0xff,0x00}, + {0x7f,0x10,0x28,0x44,0xff}, + {0x7f,0xff,0x00,0x00,0x00}, + {0x7c,0x04,0x7c,0x04,0x78}, + {0x7c,0x04,0x04,0x04,0x78}, + {0x38,0x44,0x44,0x44,0x38}, + {0xfc,0x24,0x24,0x24,0x18}, + {0x18,0x24,0x24,0x24,0xfc}, + {0x7c,0x08,0x04,0x04,0xff}, + {0x48,0x54,0x54,0x54,0x24}, + {0x04,0x3e,0x44,0x40,0xff}, + {0x7c,0x40,0x40,0x40,0x3c}, + {0x0c,0x30,0x40,0x30,0x0c}, + {0x3c,0x40,0x3c,0x40,0x3c}, + {0x44,0x28,0x10,0x28,0x44}, + {0x9c,0xa0,0xa0,0xa0,0x7c}, + {0x44,0x64,0x54,0x4c,0x44}, + + {0x08,0x36,0x41,0xff,0x00}, + {0x77,0xff,0x00,0x00,0x00}, + {0x41,0x36,0x08,0xff,0x00}, + {0x02,0x01,0x02,0x01,0xff}, + {0xff,0x00,0x00,0x00,0x00}, + + {0xfe,0x49,0x49,0x4e,0x30}, /* sharp S */ + + {0x7c,0x41,0x40,0x41,0x3c}, /* umlauts */ + + {0x04,0x06,0x7f,0x06,0x04}, /* arrows */ + {0x20,0x60,0xfe,0x60,0x20}, + + {0x38,0x45,0x44,0x45,0x7c}, /* umlauts */ + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0x79,0x14,0x12,0x14,0x79}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0x38,0x45,0x44,0x45,0x38}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0xff,0x00,0x00,0x00,0x00}, + {0x3d,0x42,0x42,0x42,0x3d}, + {0x3d,0x40,0x40,0x40,0x3d}, +}; + +// Default palette +const byte initVGAPalette[768] = { + 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x58, 0x58, 0x58, 0x70, 0x70, 0x70, 0xfc, 0xfc, 0xfc, 0x00, 0xd0, 0x00, + 0x00, 0xfc, 0x00, 0xd8, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0xb0, 0xa0, 0xa0, 0xa0, + 0x50, 0xc8, 0xfc, 0x28, 0xfc, 0x28, 0xf0, 0xf0, 0x00, 0xfc, 0x28, 0x28, 0x00, 0x00, 0x00, 0x14, 0x14, 0x14, + 0x20, 0x20, 0x20, 0x2c, 0x2c, 0x2c, 0x38, 0x38, 0x38, 0x44, 0x44, 0x44, 0x50, 0x50, 0x50, 0x60, 0x60, 0x60, + 0x70, 0x70, 0x70, 0x80, 0x80, 0x80, 0x90, 0x90, 0x90, 0xa0, 0xa0, 0xa0, 0xb4, 0xb4, 0xb4, 0xc8, 0xc8, 0xc8, + 0xe0, 0xe0, 0xe0, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0x40, 0x00, 0xfc, 0x7c, 0x00, 0xfc, 0xbc, 0x00, 0xfc, + 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0xbc, 0xfc, 0x00, 0x7c, 0xfc, 0x00, 0x40, 0xfc, 0x00, 0x00, 0xfc, 0x40, 0x00, + 0xfc, 0x7c, 0x00, 0xfc, 0xbc, 0x00, 0xfc, 0xfc, 0x00, 0xbc, 0xfc, 0x00, 0x7c, 0xfc, 0x00, 0x40, 0xfc, 0x00, + 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x40, 0x00, 0xfc, 0x7c, 0x00, 0xfc, 0xbc, 0x00, 0xfc, 0xfc, 0x00, 0xbc, 0xfc, + 0x00, 0x7c, 0xfc, 0x00, 0x40, 0xfc, 0x7c, 0x7c, 0xfc, 0x9c, 0x7c, 0xfc, 0xbc, 0x7c, 0xfc, 0xdc, 0x7c, 0xfc, + 0xfc, 0x7c, 0xfc, 0xfc, 0x7c, 0xdc, 0xfc, 0x7c, 0xbc, 0xfc, 0x7c, 0x9c, 0xfc, 0x7c, 0x7c, 0xfc, 0x9c, 0x7c, + 0xfc, 0xbc, 0x7c, 0xfc, 0xdc, 0x7c, 0xfc, 0xfc, 0x7c, 0xdc, 0xfc, 0x7c, 0xbc, 0xfc, 0x7c, 0x9c, 0xfc, 0x7c, + 0x7c, 0xfc, 0x7c, 0x7c, 0xfc, 0x9c, 0x7c, 0xfc, 0xbc, 0x7c, 0xfc, 0xdc, 0x7c, 0xfc, 0xfc, 0x7c, 0xdc, 0xfc, + 0x7c, 0xbc, 0xfc, 0x7c, 0x9c, 0xfc, 0xb4, 0xb4, 0xfc, 0xc4, 0xb4, 0xfc, 0xd8, 0xb4, 0xfc, 0xe8, 0xb4, 0xfc, + 0xfc, 0xb4, 0xfc, 0xfc, 0xb4, 0xe8, 0xfc, 0xb4, 0xd8, 0xfc, 0xb4, 0xc4, 0xfc, 0xb4, 0xb4, 0xfc, 0xc4, 0xb4, + 0xfc, 0xd8, 0xb4, 0xfc, 0xe8, 0xb4, 0xfc, 0xfc, 0xb4, 0xe8, 0xfc, 0xb4, 0xd8, 0xfc, 0xb4, 0xc4, 0xfc, 0xb4, + 0xb4, 0xfc, 0xb4, 0xb4, 0xfc, 0xc4, 0xb4, 0xfc, 0xd8, 0xb4, 0xfc, 0xe8, 0xb4, 0xfc, 0xfc, 0xb4, 0xe8, 0xfc, + 0xb4, 0xd8, 0xfc, 0xb4, 0xc4, 0xfc, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x70, 0x38, 0x00, 0x70, 0x54, 0x00, 0x70, + 0x70, 0x00, 0x70, 0x70, 0x00, 0x54, 0x70, 0x00, 0x38, 0x70, 0x00, 0x1c, 0x70, 0x00, 0x00, 0x70, 0x1c, 0x00, + 0x70, 0x38, 0x00, 0x70, 0x54, 0x00, 0x70, 0x70, 0x00, 0x54, 0x70, 0x00, 0x38, 0x70, 0x00, 0x1c, 0x70, 0x00, + 0x00, 0x70, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x70, 0x38, 0x00, 0x70, 0x54, 0x00, 0x70, 0x70, 0x00, 0x54, 0x70, + 0x00, 0x38, 0x70, 0x00, 0x1c, 0x70, 0x38, 0x38, 0x70, 0x44, 0x38, 0x70, 0x54, 0x38, 0x70, 0x60, 0x38, 0x70, + 0x70, 0x38, 0x70, 0x70, 0x38, 0x60, 0x70, 0x38, 0x54, 0x70, 0x38, 0x44, 0x70, 0x38, 0x38, 0x70, 0x44, 0x38, + 0x70, 0x54, 0x38, 0x70, 0x60, 0x38, 0x70, 0x70, 0x38, 0x60, 0x70, 0x38, 0x54, 0x70, 0x38, 0x44, 0x70, 0x38, + 0x38, 0x70, 0x38, 0x38, 0x70, 0x44, 0x38, 0x70, 0x54, 0x38, 0x70, 0x60, 0x38, 0x70, 0x70, 0x38, 0x60, 0x70, + 0x38, 0x54, 0x70, 0x38, 0x44, 0x70, 0x50, 0x50, 0x70, 0x58, 0x50, 0x70, 0x60, 0x50, 0x70, 0x68, 0x50, 0x70, + 0x70, 0x50, 0x70, 0x70, 0x50, 0x68, 0x70, 0x50, 0x60, 0x70, 0x50, 0x58, 0x70, 0x50, 0x50, 0x70, 0x58, 0x50, + 0x70, 0x60, 0x50, 0x70, 0x68, 0x50, 0x70, 0x70, 0x50, 0x68, 0x70, 0x50, 0x60, 0x70, 0x50, 0x58, 0x70, 0x50, + 0x50, 0x70, 0x50, 0x50, 0x70, 0x58, 0x50, 0x70, 0x60, 0x50, 0x70, 0x68, 0x50, 0x70, 0x70, 0x50, 0x68, 0x70, + 0x50, 0x60, 0x70, 0x50, 0x58, 0x70, 0x00, 0x00, 0x40, 0x10, 0x00, 0x40, 0x20, 0x00, 0x40, 0x30, 0x00, 0x40, + 0x40, 0x00, 0x40, 0x40, 0x00, 0x30, 0x40, 0x00, 0x20, 0x40, 0x00, 0x10, 0x40, 0x00, 0x00, 0x40, 0x10, 0x00, + 0x40, 0x20, 0x00, 0x40, 0x30, 0x00, 0x40, 0x40, 0x00, 0x30, 0x40, 0x00, 0x20, 0x40, 0x00, 0x10, 0x40, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x40, 0x10, 0x00, 0x40, 0x20, 0x00, 0x40, 0x30, 0x00, 0x40, 0x40, 0x00, 0x30, 0x40, + 0x00, 0x20, 0x40, 0x00, 0x10, 0x40, 0x20, 0x20, 0x40, 0x28, 0x20, 0x40, 0x30, 0x20, 0x40, 0x38, 0x20, 0x40, + 0x40, 0x20, 0x40, 0x40, 0x20, 0x38, 0x40, 0x20, 0x30, 0x40, 0x20, 0x28, 0x40, 0x20, 0x20, 0x40, 0x28, 0x20, + 0x40, 0x30, 0x20, 0x40, 0x38, 0x20, 0x40, 0x40, 0x20, 0x38, 0x40, 0x20, 0x30, 0x40, 0x20, 0x28, 0x40, 0x20, + 0x20, 0x40, 0x20, 0x20, 0x40, 0x28, 0x20, 0x40, 0x30, 0x20, 0x40, 0x38, 0x20, 0x40, 0x40, 0x20, 0x38, 0x40, + 0x20, 0x30, 0x40, 0x20, 0x28, 0x40, 0x2c, 0x2c, 0x40, 0x30, 0x2c, 0x40, 0x34, 0x2c, 0x40, 0x3c, 0x2c, 0x40, + 0x40, 0x2c, 0x40, 0x40, 0x2c, 0x3c, 0x40, 0x2c, 0x34, 0x40, 0x2c, 0x30, 0x40, 0x2c, 0x2c, 0x40, 0x30, 0x2c, + 0x40, 0x34, 0x2c, 0x40, 0x3c, 0x2c, 0x40, 0x40, 0x2c, 0x3c, 0x40, 0x2c, 0x34, 0x40, 0x2c, 0x30, 0x40, 0x2c, + 0x2c, 0x40, 0x2c, 0x2c, 0x40, 0x30, 0x2c, 0x40, 0x34, 0x2c, 0x40, 0x3c, 0x2c, 0x40, 0x40, 0x2c, 0x3c, 0x40, + 0x2c, 0x34, 0x40, 0x2c, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +enum ObjectType { + NULLTYPE = 0, + TAKE = 1, + OPENABLE = 2, + OPENED = 4, + CLOSED = 8, + EXIT = 16, + PRESS = 32, + COMBINABLE = 64, + CARRIED = 128, + UNNECESSARY = 256, + WORN = 512, + TALK = 1024, + OCCUPIED = 2048, + CAUGHT = 4096 +}; +typedef uint16 ObjectTypes; + +enum Action { + ACTION_WALK, + ACTION_LOOK, + ACTION_TAKE, + ACTION_OPEN, + ACTION_CLOSE, + ACTION_PRESS, + ACTION_PULL, + ACTION_USE, + ACTION_TALK, + ACTION_GIVE +}; + +enum RoomID { + INTRO,CORRIDOR,HALL,SLEEP,COCKPIT,AIRLOCK, + HOLD,LANDINGMODULE,GENERATOR,OUTSIDE, + CABIN_R1,CABIN_R2,CABIN_R3,CABIN_L1,CABIN_L2,CABIN_L3,BATHROOM, + + ROCKS,CAVE,MEETUP,ENTRANCE,REST,ROGER,GLIDER,MEETUP2,MEETUP3, + + CELL,CORRIDOR1,CORRIDOR2,CORRIDOR3,CORRIDOR4,CORRIDOR5,CORRIDOR6,CORRIDOR7,CORRIDOR8,CORRIDOR9, + BCORRIDOR,GUARD,GUARD3,OFFICE_L1,OFFICE_L2,OFFICE_R1,OFFICE_R2,OFFICE_L, + ELEVATOR,STATION,SIGN,OUTRO,NUMROOMS,NULLROOM +}; + +enum ObjectID { + INVALIDOBJECT = -1, + NULLOBJECT = 0, + KEYCARD,KNIFE,WATCH, + SOCKET, + BUTTON,HATCH1, + BUTTON1,BUTTON2,MANOMETER,SUIT,HELMET,LIFESUPPORT, + SCRAP_LK,OUTERHATCH_TOP,GENERATOR_TOP,TERMINALSTRIP,LANDINGMOD_OUTERHATCH, + HOLD_WIRE, + LANDINGMOD_BUTTON,LANDINGMOD_SOCKET,LANDINGMOD_WIRE,LANDINGMOD_HATCH,LANDINGMOD_MONITOR, + KEYBOARD, + KEYCARD2,OUTERHATCH,GENERATOR_WIRE,TRAP,SHORT_WIRE,CLIP, + VOLTMETER,LADDER,GENERATOR_ROPE, + KITCHEN_HATCH,SLEEP_SLOT, + MONITOR,INSTRUMENTS, + COMPUTER,CABINS,CABIN, + SLOT_K1,SLOT_K2,SLOT_K3,SLOT_K4, + SHELF1,SHELF2,SHELF3,SHELF4, + ROPE,BOOK,DISCMAN,CHESS, + SLOT_KL1,SLOT_KL2,SLOT_KL3,SLOT_KL4, + SHELF_L1,SHELF_L2,SHELF_L3,SHELF_L4, + PISTOL,BOOK2,SPOOL, + RECORD,TURNTABLE,TURNTABLE_BUTTON,WIRE,WIRE2,PLUG, + PEN, + BATHROOM_DOOR,BATHROOM_EXIT,SHOWER,TOILET, + + STONE, + SPACESHIPS,SPACESHIP,STAR,DOOR,MEETUP_SIGN, + PORTER,BATHROOM_BUTTON,BATHROOM_SIGN,KITCHEN_SIGN,CAR_SLOT, + ARSANO_BATHROOM,COINS,SCHNUCK,EGG,PILL,PILL_HULL,STAIRCASE, + MEETUP_EXIT, + ROGER_W,WALLET,KEYCARD_R,CUP, + GLIDER_BUTTON1,GLIDER_BUTTON2,GLIDER_BUTTON3,GLIDER_BUTTON4,GLIDER_SLOT,GLIDER_BUTTONS, + GLIDER_DISPLAY,GLIDER_INSTRUMENTS,GLIDER_KEYCARD, + UFO, + + CELL_BUTTON,CELL_TABLE,CELL_WIRE,TRAY,CELL_DOOR,MAGNET, + NEWSPAPER,TABLE, + PILLAR1,PILLAR2,DOOR1,DOOR2,DOOR3,DOOR4, + GUARDIAN,LAMP, + MASTERKEYCARD,PAINTING,MONEY,LOCKER,LETTER, + JUNGLE,STATION_SLOT,STATION_SIGN +}; + +enum StringID { + kNoString = -1, + // 0 + kStringCommandGo = 0, kStringCommandLook, kStringCommandTake, kStringCommandOpen, kStringCommandClose, + kStringCommandPress, kStringCommandPull, kStringCommandUse, kStringCommandTalk, kStringCommandGive, + kStringStatusCommandGo, kStringStatusCommandLook, kStringStatusCommandTake, kStringStatusCommandOpen, kStringStatusCommandClose, + kStringStatusCommandPress, kStringStatusCommandPull, kStringStatusCommandUse, kStringStatusCommandTalk, kStringStatusCommandGive, + kStringTitleVersion, kStringTitle1, kStringTitle2, kStringTitle3, kStringIntro1, + kStringIntro2, kStringIntro3, kStringIntro4, kStringIntro5, kStringIntro6, + kStringIntro7, kStringIntro8, kStringIntro9, kStringIntro10, kStringIntro11, + kStringIntro12, kStringIntro13, kStringBroken, kStringDefaultDescription, kStringTakeMessage, + kStringKeycard, kStringKeycardDescription, kStringKnife, kStringKnifeDescription, kStringWatch, + kStringDiscman, kStringDiscmanDescription, kStringHatch, kStringButton, kStringHatchButtonDescription, + // 50 + kStringLadder, kStringExit, kStringCockpitHatchDescription, kStringKitchenHatchDescription, kStringStasisHatchDescription, + kStringStasisHatchDescription2, kStringSlot, kStringSlotDescription, kStringCorridor, kStringComputer, + kStringComputerPassword, kStringInstruments, kStringInstrumentsDescription1, kStringMonitor, kStringMonitorDescription, + kStringImage, kStringGenericDescription1, kStringGenericDescription2, kStringGenericDescription3, kStringGenericDescription4, + kStringMagnete, kStringMagneteDescription, kStringPen, kStringPenDescription, kStringShelf, + kStringCompartment, kStringSocket, kStringToilet, kStringPistol, kStringPistolDescription, + kStringBooks, kStringBooksDescription, kStringSpool, kStringSpoolDescription, kStringBook, + kStringUnderwear, kStringUnderwearDescription, kStringClothes, kStringJunk, kStringJunkDescription, + kStringFolders, kStringFoldersDescription, kStringPoster, kStringPosterDescription1, kStringPosterDescription2, + kStringSpeaker, kStringRecord, kStringRecordDescription, kStringRecordStand, kStringRecordStandDescription, + // 100 + kStringTurntable, kStringTurntableDescription, kStringWire, kStringPlug, kStringImageDescription1, + kStringDrawingInstruments, kStringDrawingInstrumentsDescription, kStringChessGame, kStringChessGameDescription1, kStringTennisRacket, + kStringTennisRacketDescription, kStringTennisBall, kStringChessGameDescription2, kStringBed, kStringBedDescription, + kStringCompartmentDescription, kStringAlbums, kStringAlbumsDescription, kStringRope, kStringRopeDescription, + kStringShelfDescription, kStringClothesDescription, kStringSocks, kStringBookHitchhiker, kStringBathroom, + kStringBathroomDescription, kStringShower, kStringHatchDescription1, kStringHatchDescription2, kStringHelmet, + kStringHelmetDescription, kStringSuit, kStringSuitDescription, kStringLifeSupport, kStringLifeSupportDescription, + kStringScrap, kStringScrapDescription1, kStringTerminalStrip, kStringScrapDescription2, kStringReactor, + kStringReactorDescription, kStringNozzle, kStringPumpkin, kStringPumpkinDescription, kStringLandingModule, + kStringLandingModuleDescription, kStringHatchDescription3, kStringGenerator, kStringGeneratorDescription, kStringScrapDescription3, + // 150 + kSafetyButtonDescription, kStringKeyboard, kStringGeneratorWire, kStringEmptySpool, kStringKeycard2, + kStringKeycard2Description, kStringTrap, kStringVoltmeter, kStringClip, kStringWireDescription, + kStringStone, kStringCaveOpening, kStringCaveOpeningDescription, kStringExitDescription, kStringCave, + kStringSign, kStringSignDescription, kStringEntrance, kStringStar, kStringSpaceshift, + kStringPorter, kStringPorterDescription, kStringDoor, kStringChewingGum, kStringGummyBears, + kStringChocolateBall, kStringEgg, kStringLiquorice, kStringPill, kStringPillDescription, + kStringVendingMachine, kStringVendingMachineDescription, kStringToiletDescription, kStringStaircase, kStringCoins, + kStringCoinsDescription, kStringTabletPackage, kStringTabletPackageDescription, kStringChair, kStringShoes, + kStringShoesDescription, kStringFrogFace, kStringScrible, kStringScribleDescription, kStringWallet, + kStringMenu, kStringMenuDescription, kStringCup, kStringCupDescription, kStringBill, + // 200 + kStringBillDescription, kStringKeycard3, kStringAnnouncement, kStringAnnouncementDescription, kStringRoger, + kStringUfo, kStringUfoDescription, kStringTray, kStringTrayDescription, kStringLamp, + kStringLampDescription, kStringEyes, kStringEyesDescription, kStringSocketDescription, kStringMetalBlock, + kStringMetalBlockDescription, kStringRobot, kStringRobotDescription, kStringTable, kStringTableDescription, + kStringCellDoor, kStringCellDoorDescription, kStringLaptop, kStringWristwatch, kStringPillar, + kStringDoorDescription1, kStringDoorDescription2, kStringDoorDescription3, kStringDoorDescription4, kStringDontEnter, + kStringAxacussan, kStringAxacussanDescription, kStringImageDescription2, kStringMastercard, kStringMastercardDescription, + kStringLamp2, kStringGenericDescription5, kStringMoney, kStringMoneyDescription1, kStringLocker, + kStringLockerDescription, kStringLetter, kStringCube, kStringGenericDescription6, kStringGenericDescription7, + kStringStrangeThing, kStringGenericDescription8, kStringImageDescription3, kStringPlant, kStringStatue, + // 250 + kStringStatueDescription, kStringPlantDescription, kStringComputerDescription, kStringGraffiti, kStringGraffitiDescription, + kStringMoneyDescription2, kStringJungle, kStringJungleDescription, kStringOutro1, kStringOutro2, + kStringOutro3, kStringOutro4, kStringOutro5, kStringOutro6, kStringOutro7, + kStringOutro8, kStringOutro9, kStringOutro10, kStringOutro11, kStringOutro12, + kStringOutro13, kStringOutro14, kStringWireAndPlug, kStringWireAndClip, kStringWireAndPlug2, + // 275 + kStringSignDescription2, kStringCoin, kStringDoorDescription5, kStringDoorDescription6, kStringKeycard2Description2, + kSringSpoolAndClip, kStringIntroCutscene1, kStringIntroCutscene2, kStringIntroCutscene3, kStringIntroCutscene4, + kStringIntroCutscene5, kStringIntroCutscene6, kStringIntroCutscene7, kStringIntroCutscene8, kStringIntroCutscene9, + kStringIntroCutscene10, kStringIntroCutscene11, kStringIntroCutscene12, kStringIntroCutscene13, kStringIntroCutscene14, + kStringIntroCutscene15, kStringIntroCutscene16, kStringIntroCutscene17, kStringIntroCutscene18, kStringIntroCutscene19, + // 300 + kStringIntroCutscene20, kStringIntroCutscene21, kStringIntroCutscene22, kStringIntroCutscene23, kStringIntroCutscene24, + kStringIntroCutscene25, kStringIntroCutscene26, kStringIntroCutscene27, kStringIntroCutscene28, kStringIntroCutscene29, + kStringIntroCutscene30, kStringIntroCutscene31, kStringIntroCutscene32, kStringIntroCutscene33, kStringIntroCutscene34, + kStringIntroCutscene35, kStringIntroCutscene36, kStringIntroCutscene37, kStringIntroCutscene38, kStringIntroCutscene39, + kStringIntroCutscene40, kStringIntroCutscene41, kStringIntroCutscene42, kStringShipHall1, kStringShipSleepCabin1, + //325 + kStringShipSleepCabin2, kStringShipSleepCabin3, kStringShipSleepCabin4, kStringShipSleepCabin5, kStringShipSleepCabin6, + kStringShipSleepCabin7, kStringShipSleepCabin8, kStringShipSleepCabin9, kStringShipSleepCabin10, kStringShipSleepCabin11, + kStringShipSleepCabin12, kStringShipSleepCabin13, kStringShipSleepCabin14, kStringShipSleepCabin15, kStringShipSleepCabin16, + kStringShipCockpit1, kStringShipCockpit2, kStringShipCockpit3, kStringShipCockpit4, kStringShipCockpit5, + kStringShipCockpit6, kStringShipCockpit7, kStringShipCockpit8, kStringShipCockpit9, kStringShipCockpit10, + // 350 + kStringShipCockpit11, kStringShipCockpit12, kStringShipCockpit13, kStringShipCabinL3_1, kStringShipCabinL3_2, + kStringShipCabinL3_3, kStringShipCabinL3_4, kStringShipCabinL3_5, kStringShipAirlock1, kStringShipAirlock2, + kStringShipAirlock3, kStringShipAirlock4, kStringShipHold1, kStringCable1, kStringCable2, + kStringCable3, kStringCable4, kStringShipHold2, kStringShipHold3, kStringShipHold4, + kStringShipHold5, kStringShipHold6, kStringShipHold7, kStringShipHold8, kStringShipHold9, + // 375 + kStringShipHold10, kStringShipHold11, kStringShipHold12, kStringShipHold13, kStringShipHold14, + kStringShipHold15, kStringShipHold16, kStringArsanoMeetup1, kStringArsanoMeetup2, kStringArsanoMeetup3, + kStringArsanoEntrance1, kStringArsanoEntrance2, kStringArsanoEntrance3, kStringArsanoEntrance4, kStringArsanoEntrance5, + kStringArsanoEntrance6, kStringArsanoEntrance7, kStringArsanoEntrance8, kStringArsanoEntrance9, kStringArsanoEntrance10, + kStringArsanoEntrance11, kStringArsanoEntrance12, kStringArsanoEntrance13, kStringArsanoEntrance14, kStringArsanoEntrance15, + // 400 + kStringArsanoEntrance16, kStringArsanoEntrance17, kStringArsanoEntrance18, kStringArsanoEntrance19, kStringArsanoEntrance20, + kStringArsanoEntrance21, kStringArsanoEntrance22, kStringArsanoEntrance23, kStringArsanoEntrance24, kStringArsanoEntrance25, + kStringArsanoEntrance26, kStringArsanoEntrance27, kStringArsanoDialog1, kStringArsanoDialog2, kStringArsanoDialog3, + kStringArsanoDialog4, kStringArsanoDialog5, kStringArsanoDialog6, kStringArsanoDialog7, kStringArsanoDialog8, + kStringArsanoDialog9, kStringDialogSeparator, kStringDialogArsanoRoger1, kStringDialogArsanoRoger2, kStringDialogArsanoRoger3, + // 425 + kStringDialogArsanoMeetup3_1, kStringDialogArsanoMeetup3_2, kStringDialogArsanoMeetup3_3, kStringDialogArsanoMeetup3_4, kStringDialogArsanoMeetup3_5, + kStringArsanoRoger1, kStringArsanoRoger2, kStringArsanoRoger3, kStringArsanoRoger4, kStringArsanoRoger5, + kStringArsanoRoger6, kStringArsanoRoger7, kStringArsanoRoger8, kStringArsanoRoger9, kStringArsanoRoger10, + kStringArsanoRoger11, kStringArsanoRoger12, kStringArsanoRoger13, kStringArsanoRoger14, kStringArsanoRoger15, + kStringArsanoRoger16, kStringArsanoRoger17, kStringArsanoRoger18, kStringArsanoRoger19, kStringArsanoRoger20, + // 450 + kStringArsanoRoger21, kStringArsanoRoger22, kStringArsanoRoger23, kStringArsanoRoger24, kStringArsanoRoger25, + kStringArsanoRoger26, kStringArsanoRoger27, kStringArsanoRoger28, kStringArsanoRoger29, kStringArsanoRoger30, + kStringArsanoRoger31, kStringArsanoRoger32, kStringArsanoRoger33, kStringArsanoRoger34, kStringArsanoRoger35, + kStringArsanoRoger36, kStringArsanoRoger37, kStringArsanoRoger38, kStringArsanoRoger39, kStringArsanoRoger40, + kStringArsanoGlider1, kStringArsanoMeetup2_1, kStringArsanoMeetup2_2, kStringArsanoMeetup2_3, kStringArsanoMeetup2_4, + // 475 + kStringArsanoMeetup2_5, kStringArsanoMeetup2_6, kStringArsanoMeetup2_7, kStringArsanoMeetup2_8, kStringArsanoMeetup2_9, + kStringArsanoMeetup2_10, kStringArsanoMeetup2_11, kStringArsanoMeetup2_12, kStringArsanoMeetup2_13, kStringArsanoMeetup3_1, + kStringArsanoMeetup3_2, kStringArsanoMeetup3_3, kStringArsanoMeetup3_4, kStringArsanoMeetup3_5, kStringArsanoMeetup3_6, + kStringArsanoMeetup3_7, kStringArsanoMeetup3_8, kStringArsanoMeetup3_9, kStringArsanoMeetup3_10, kStringArsanoMeetup3_11, + kStringArsanoMeetup3_12, kStringArsanoMeetup3_13, kStringArsanoMeetup3_14, kStringArsanoMeetup3_15, kStringArsanoMeetup3_16, + // 500 + kStringArsanoMeetup3_17, kStringArsanoMeetup3_18, kStringArsanoMeetup3_19, kStringArsanoMeetup3_20, kStringArsanoMeetup3_21, + kStringArsanoMeetup3_22, kStringArsanoMeetup3_23, kStringArsanoMeetup3_24, kStringArsanoMeetup3_25, kStringArsanoMeetup3_26, + kStringArsanoMeetup3_27, kStringArsanoMeetup3_28, kStringAxacussCell_1, kStringAxacussCell_2, kStringAxacussCell_3, + kStringAxacussCell_4, kStringAxacussCell_5, kStringOk, kStringDialogArsanoMeetup2_1, kStringDialogArsanoMeetup2_2, + kStringDialogArsanoMeetup2_3, kStringDialogArsanoMeetup2_4, kStringDialogArsanoMeetup2_5, kStringDialogArsanoMeetup2_6, kStringDialogArsanoMeetup2_7, + // 525 + kStringDialogArsanoMeetup2_8, kStringDialogArsanoMeetup2_9, kStringDialogArsanoMeetup2_10, kStringDialogArsanoMeetup2_11, kStringDialogAxacussCorridor5_1, + kStringDialogAxacussCorridor5_2, kStringDialogAxacussCorridor5_3, kStringDialogAxacussCorridor5_4, kStringDialogAxacussCorridor5_5, kStringDialogAxacussCorridor5_6, + kStringDialogAxacussCorridor5_7, kStringDialogX1, kStringDialogX2, kStringDialogX3, kStringAxacussCorridor5_1, + kStringAxacussCorridor5_2, kStringAxacussCorridor5_3, kStringAxacussCorridor5_4, kStringAxacussCorridor5_5, kStringAxacussCorridor5_6, + kStringAxacussCorridor5_7, kStringAxacussBcorridor_1, kStringAxacussOffice1_1, kStringAxacussOffice1_2, kStringAxacussOffice1_3, + // 550 + kStringAxacussOffice1_4, kStringAxacussOffice1_5, kStringAxacussOffice1_6, kStringAxacussOffice1_7, kStringAxacussOffice1_8, + kStringAxacussOffice1_9, kStringAxacussOffice1_10, kStringAxacussOffice1_11, kStringAxacussOffice1_12, kStringAxacussOffice1_13, + kStringAxacussOffice1_14, kStringAxacussOffice1_15, kStringAxacussOffice1_16, kStringAxacussOffice3_1, kStringAxacussElevator_1, + kStringAxacussElevator_2, kStringAxacussElevator_3, kStringShock, kStringShot, kStringCloseLocker_1, + kStringIsHelmetOff_1, kStringGenericInteract_1, kStringGenericInteract_2, kStringGenericInteract_3, kStringGenericInteract_4, + // 575 + kStringGenericInteract_5, kStringGenericInteract_6, kStringGenericInteract_7, kStringGenericInteract_8, kStringGenericInteract_9, + kStringGenericInteract_10, kStringGenericInteract_11, kStringGenericInteract_12, kPhrasalVerbParticleGiveTo, kPhrasalVerbParticleUseWith, + kStringGenericInteract_13, kStringGenericInteract_14, kStringGenericInteract_15, kStringGenericInteract_16, kStringGenericInteract_17, + kStringGenericInteract_18, kStringGenericInteract_19, kStringGenericInteract_20, kStringGenericInteract_21, kStringGenericInteract_22, + kStringGenericInteract_23, kStringGenericInteract_24, kStringGenericInteract_25, kStringGenericInteract_26, kStringGenericInteract_27, + // 600 + kStringGenericInteract_28, kStringGenericInteract_29, kStringGenericInteract_30, kStringGenericInteract_31, kStringGenericInteract_32, + kStringGenericInteract_33, kStringGenericInteract_34, kStringGenericInteract_35, kStringGenericInteract_36, kStringGenericInteract_37, + kStringGenericInteract_38, kStringGenericInteract_39, kStringGenericInteract_40, kStringGenericInteract_41, kStringGenericInteract_42, + kStringGenericInteract_43, kStringConversationEnd, kStringSupernova1, kStringSupernova2, kStringSupernova3, + kStringSupernova4, kStringSupernova5, kStringSupernova6, kStringSupernova7, kStringSupernova8, + // 625 + kStringTextSpeed, kStringGuardNoticed1, kStringGuardNoticed2, kStringTelomat1, kStringTelomat2, + kStringTelomat3, kStringTelomat4, kStringTelomat5, kStringTelomat6, kStringTelomat7, + kStringTelomat8, kStringTelomat9, kStringTelomat10, kStringTelomat11, kStringTelomat12, + kStringTelomat13, kStringTelomat14, kStringTelomat15, kStringTelomat16, kStringTelomat17, + kStringTelomat18, kStringTelomat19, kStringTelomat20, kStringTelomat21, kStringAlarm, + + // Add two placeholder strings at the end for variable text + kStringPlaceholder1, kStringPlaceholder2, + + // String for money in inventory + kStringInventoryMoney +}; + +ObjectType operator|(ObjectType a, ObjectType b); +ObjectType operator&(ObjectType a, ObjectType b); +ObjectType operator^(ObjectType a, ObjectType b); +ObjectType &operator|=(ObjectType &a, ObjectType b); +ObjectType &operator&=(ObjectType &a, ObjectType b); +ObjectType &operator^=(ObjectType &a, ObjectType b); + +struct Object { + static const Object nullObject; + + Object() + : _name(kNoString) + , _description(kStringDefaultDescription) + , _id(INVALIDOBJECT) + , _roomId(NULLROOM) + , _type(NULLTYPE) + , _click(0) + , _click2(0) + , _section(0) + , _exitRoom(NULLROOM) + , _direction(0) + {} + Object(byte roomId, StringID name, StringID description, ObjectID id, ObjectType type, + byte click, byte click2, byte section = 0, RoomID exitRoom = NULLROOM, byte direction = 0) + : _name(name) + , _description(description) + , _id(id) + , _roomId(roomId) + , _type(type) + , _click(click) + , _click2(click2) + , _section(section) + , _exitRoom(exitRoom) + , _direction(direction) + {} + + static void setObjectNull(Object *&obj) { + obj = const_cast<Object *>(&nullObject); + } + static bool isNullObject(Object *obj) { + return obj == &nullObject; + } + void resetProperty(ObjectType type = NULLTYPE) { + _type = type; + } + + void setProperty(ObjectType type) { + _type |= type; + } + + void disableProperty(ObjectType type) { + _type &= ~type; + } + + bool hasProperty(ObjectType type) const { + return _type & type; + } + + static bool combine(Object &obj1, Object &obj2, ObjectID id1, ObjectID id2) { + if (obj1.hasProperty(COMBINABLE)) + return (((obj1._id == id1) && (obj2._id == id2)) || + ((obj1._id == id2) && (obj2._id == id1))); + else + return false; + } + + byte _roomId; + StringID _name; + StringID _description; + ObjectID _id; + ObjectTypes _type; + byte _click; + byte _click2; + byte _section; + RoomID _exitRoom; + byte _direction; +}; + +#define ticksToMsec(x) (x * kMsecPerTick) + +} + +#endif // SUPERNOVA_MSN_DEF_H diff --git a/engines/supernova/rooms.cpp b/engines/supernova/rooms.cpp new file mode 100644 index 0000000000..d8b138f9a7 --- /dev/null +++ b/engines/supernova/rooms.cpp @@ -0,0 +1,3247 @@ +/* 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/system.h" +#include "graphics/palette.h" +#include "graphics/cursorman.h" + +#include "supernova/supernova.h" +#include "supernova/state.h" + +namespace Supernova { + +bool Room::serialize(Common::WriteStream *out) { + if (out->err()) + return false; + + out->writeSint32LE(_id); + for (int i = 0; i < kMaxSection; ++i) + out->writeByte(_shown[i]); + for (int i = 0; i < kMaxDialog ; ++i) + out->writeByte(_sentenceRemoved[i]); + + int numObjects = 0; + while ((_objectState[numObjects]._id != INVALIDOBJECT) && (numObjects < kMaxObject)) + ++numObjects; + out->writeSint32LE(numObjects); + + for (int i = 0; i < numObjects; ++i) { + out->writeSint32LE(_objectState[i]._name); + out->writeSint32LE(_objectState[i]._description); + out->writeByte(_objectState[i]._roomId); + out->writeSint32LE(_objectState[i]._id); + out->writeSint32LE(_objectState[i]._type); + out->writeByte(_objectState[i]._click); + out->writeByte(_objectState[i]._click2); + out->writeByte(_objectState[i]._section); + out->writeSint32LE(_objectState[i]._exitRoom); + out->writeByte(_objectState[i]._direction); + } + + out->writeByte(_seen); + + return !out->err(); +} + +bool Room::deserialize(Common::ReadStream *in, int version) { + if (in->err()) + return false; + + in->readSint32LE(); + + for (int i = 0; i < kMaxSection; ++i) + _shown[i] = in->readByte(); + + // Prior to version 3, _sentenceRemoved was part of _shown (the last two values) + // But on the other hand dialog was not implemented anyway, so we don't even try to + // recover it. + for (int i = 0; i < kMaxDialog ; ++i) + _sentenceRemoved[i] = version < 3 ? 0 : in->readByte(); + + int numObjects = in->readSint32LE(); + for (int i = 0; i < numObjects; ++i) { + _objectState[i]._name = static_cast<StringID>(in->readSint32LE()); + _objectState[i]._description = static_cast<StringID>(in->readSint32LE()); + _objectState[i]._roomId = in->readByte(); + _objectState[i]._id = static_cast<ObjectID>(in->readSint32LE()); + _objectState[i]._type = static_cast<ObjectType>(in->readSint32LE()); + _objectState[i]._click = in->readByte(); + _objectState[i]._click2 = in->readByte(); + _objectState[i]._section = in->readByte(); + _objectState[i]._exitRoom = static_cast<RoomID>(in->readSint32LE()); + _objectState[i]._direction = in->readByte(); + } + + _seen = in->readByte(); + + return !in->err(); +} + +Intro::Intro(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = -1; + _id = INTRO; + _shown[0] = kShownFalse; + + _objectState[0] = + Object(_id, kStringKeycard, kStringKeycardDescription, KEYCARD, + TAKE | CARRIED | COMBINABLE, 255, 255, 0, NULLROOM, 0); + _objectState[1] = + Object(_id, kStringKnife, kStringKnifeDescription, KNIFE, + TAKE | CARRIED | COMBINABLE, 255, 255, 0, NULLROOM, 0); + _objectState[2] = + Object(_id, kStringWatch, kStringDefaultDescription, WATCH, + TAKE | COMBINABLE | CARRIED, 255, 255, 8, NULLROOM, 0); + _objectState[3] = + Object(_id, kStringDiscman, kStringDiscmanDescription, DISCMAN, + TAKE | COMBINABLE, 255, 255, 0, NULLROOM, 0); + _objectState[4] = + Object(_id, kStringInventoryMoney, kStringDefaultDescription, MONEY, + TAKE | COMBINABLE, 255, 255, 0); + + _shouldExit = false; + + introText = + _vm->getGameString(kStringIntro1) + + _vm->getGameString(kStringIntro2) + + _vm->getGameString(kStringIntro3) + + _vm->getGameString(kStringIntro4) + + _vm->getGameString(kStringIntro5) + + _vm->getGameString(kStringIntro6) + + _vm->getGameString(kStringIntro7) + + _vm->getGameString(kStringIntro8) + + _vm->getGameString(kStringIntro9) + + _vm->getGameString(kStringIntro10) + + _vm->getGameString(kStringIntro11) + + _vm->getGameString(kStringIntro12) + + _vm->getGameString(kStringIntro13); +} + +void Intro::onEntrance() { + _gm->_guiEnabled = false; + _vm->_allowSaveGame = false; + _vm->_allowLoadGame = false; + titleScreen(); + cutscene(); + leaveCutscene(); +} + +void Intro::titleScreen() { + // Newspaper + CursorMan.showMouse(false); + _vm->_brightness = 0; + _vm->_menuBrightness = 0; + _vm->paletteBrightness(); + _vm->setCurrentImage(1); + _vm->renderImage(0); + _vm->paletteFadeIn(); + _gm->getInput(); + _vm->paletteFadeOut(); + + // Title Screen + _vm->setCurrentImage(31); + _vm->renderImage(0); + _vm->paletteFadeIn(); + _gm->wait2(1); + _vm->playSound(kAudioVoiceSupernova); + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) + _gm->wait2(1); + titleFadeIn(); + _vm->renderText(kStringTitleVersion, 295, 190, kColorWhite44); + const Common::String& title1 = _vm->getGameString(kStringTitle1); + const Common::String& title2 = _vm->getGameString(kStringTitle2); + const Common::String& title3 = _vm->getGameString(kStringTitle3); + _vm->renderText(title1, 78 - _vm->textWidth(title1) / 2, 120, kColorLightBlue); + _vm->renderText(title2, 78 - _vm->textWidth(title2) / 2, 132, kColorWhite99); + _vm->renderText(title3, 78 - _vm->textWidth(title3) / 2, 142, kColorWhite99); + _gm->wait2(1); + CursorMan.showMouse(true); + _vm->playSoundMod(kMusicIntro); + _gm->getInput(); + // TODO: render animated text + _vm->playSound(kAudioVoiceYeah); + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) + _gm->wait2(1); + _vm->paletteFadeOut(); +} + +void Intro::titleFadeIn() { + byte titlePaletteColor[] = {0xfe, 0xeb}; + byte titleNewColor[2][3] = {{255, 255, 255}, {199, 21, 21}}; + byte newColors[2][3]; + + for (int brightness = 1; brightness <= 40; ++brightness) { + for (int colorIndex = 0; colorIndex < 2; ++colorIndex) { + for (int i = 0; i < 3; ++i) { + newColors[colorIndex][i] = (titleNewColor[colorIndex][i] * brightness) / 40; + } + } + + _vm->_system->getPaletteManager()->setPalette(newColors[0], titlePaletteColor[0], 1); + _vm->_system->getPaletteManager()->setPalette(newColors[1], titlePaletteColor[1], 1); + _vm->_system->updateScreen(); + _vm->_system->delayMillis(_vm->_delay); + } +} + +bool Intro::animate(int section1, int section2, int duration) { + Common::KeyCode key = Common::KEYCODE_INVALID; + while (duration) { + _vm->renderImage(section1); + if (_gm->waitOnInput(2, key)) + return key != Common::KEYCODE_ESCAPE; + _vm->renderImage(section2); + if (_gm->waitOnInput(2, key)) + return key != Common::KEYCODE_ESCAPE; + --duration; + } + return true; +} + +bool Intro::animate(int section1, int section2, int duration, + MessagePosition position, StringID textId) { + Common::KeyCode key = Common::KEYCODE_INVALID; + const Common::String& text = _vm->getGameString(textId); + _vm->renderMessage(text, position); + int delay = (MIN(text.size(), (uint)512) + 20) * (10 - duration) * _vm->_textSpeed / 400; + while (delay) { + if (section1) + _vm->renderImage(section1); + if (_gm->waitOnInput(2, key)) { + _vm->removeMessage(); + return key != Common::KEYCODE_ESCAPE; + } + if (section2) + _vm->renderImage(section2); + if (_gm->waitOnInput(2, key)) { + _vm->removeMessage(); + return key != Common::KEYCODE_ESCAPE; + } + --delay; + } + _vm->removeMessage(); + return true; +} + +bool Intro::animate(int section1, int section2, int section3, int section4, + int duration, MessagePosition position, StringID textId) { + Common::KeyCode key = Common::KEYCODE_INVALID; + const Common::String& text = _vm->getGameString(textId); + _vm->renderMessage(text, position); + if (duration == 0) + duration = (MIN(text.size(), (uint)512) + 20) * _vm->_textSpeed / 40; + + while(duration) { + _vm->renderImage(section1); + _vm->renderImage(section3); + if (_gm->waitOnInput(2, key)) { + _vm->removeMessage(); + return key != Common::KEYCODE_ESCAPE; + } + _vm->renderImage(section2); + _vm->renderImage(section4); + if (_gm->waitOnInput(2, key)) { + _vm->removeMessage(); + return key != Common::KEYCODE_ESCAPE; + } + duration--; + } + _vm->removeMessage(); + return true; +} + +void Intro::cutscene() { +#define exitOnEscape(X) do { \ + Common::KeyCode key = Common::KEYCODE_INVALID; \ + if ((_gm->waitOnInput(X, key) && key == Common::KEYCODE_ESCAPE) || _vm->shouldQuit()) { \ + CursorMan.showMouse(true); \ + return; \ + } \ +} while (0); + + _vm->_system->fillScreen(kColorBlack); + _vm->setCurrentImage(31); + _vm->_menuBrightness = 255; + _vm->paletteBrightness(); + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene1)) + return; + _vm->_menuBrightness = 0; + _vm->paletteBrightness(); + exitOnEscape(1); + + _vm->setCurrentImage(9); + _vm->renderImage(0); + _vm->renderImage(1); + _vm->renderImage(9); + _vm->paletteFadeIn(); + if (!animate(11, 10, 6, kMessageRight, kStringIntroCutscene2)) + return; + _vm->renderImage(3); + exitOnEscape(4); + _vm->renderImage(4); + if (!animate(11, 10, 3)) {// test duration + _vm->removeMessage(); + return; + } + _vm->removeMessage(); + if (!animate(5, 4, 0, kMessageLeft, kStringIntroCutscene3)) + return; + _vm->renderImage(3); + exitOnEscape(3); + _vm->renderImage(2); + exitOnEscape(3); + _vm->renderImage(7); + exitOnEscape(6); + _vm->renderImage(6); + exitOnEscape(6); + if (!animate(0, 0, 0, kMessageLeft, kStringIntroCutscene4)) + return; + _vm->renderMessage(kStringIntroCutscene5, kMessageLeft); + exitOnEscape(28); + _vm->removeMessage(); + _vm->renderMessage(kStringIntroCutscene6, kMessageLeft); + exitOnEscape(28); + _vm->removeMessage(); + + StringID textCounting[4] = + {kStringIntroCutscene7, kStringIntroCutscene8, kStringIntroCutscene9, kStringIntroCutscene10}; + _vm->setCurrentImage(31); + _vm->renderImage(0); + _vm->paletteBrightness(); + for (int i = 0; i < 4; ++i){ + _vm->renderMessage(textCounting[i], kMessageLeft); + for (int j = 0; j < 28; ++j) { + _vm->renderImage((j % 3) + 1); + Common::KeyCode key = Common::KEYCODE_INVALID; + if (_gm->waitOnInput(1, key)) { + if (key == Common::KEYCODE_ESCAPE) + return; + break; + } + } + _vm->removeMessage(); + } + _vm->renderMessage(kStringIntroCutscene11, kMessageLeft); + _vm->renderImage(6); + exitOnEscape(3); + _vm->renderImage(3); + exitOnEscape(3); + _vm->renderImage(4); + exitOnEscape(3); + _vm->renderImage(5); + exitOnEscape(3); + _vm->renderImage(_gm->invertSection(5)); + exitOnEscape(18); + _vm->removeMessage(); + + _vm->setCurrentImage(9); + _vm->renderImage(0); + _vm->renderImage(1); + _vm->renderImage(9); + _vm->paletteBrightness(); + _vm->renderBox(0, 138, 320, 62, kColorBlack); + _vm->paletteBrightness(); + if (!animate(11, 10, 0, kMessageRight, kStringIntroCutscene12)) + return; + _vm->renderImage(3); + exitOnEscape(3); + _vm->renderImage(4); + if (!animate(5, 4, 0, kMessageLeft, kStringIntroCutscene13)) + return; + if (!animate(0, 0, 0, kMessageCenter, kStringIntroCutscene14)) + return; + _vm->renderImage(12); + exitOnEscape(2); + _vm->renderImage(13); + exitOnEscape(2); + _vm->renderImage(14); + if (!animate(19, 20, 0, kMessageRight, kStringIntroCutscene15)) + return; + if (!animate(0, 0, 0, kMessageCenter, kStringIntroCutscene16)) + return; + exitOnEscape(20); + if (!animate(0, 0, 0, kMessageCenter, kStringIntroCutscene17)) + return; + if (!animate(19, 20, 0, kMessageRight, kStringIntroCutscene18)) + return; + if (!animate(0, 0, 0, kMessageCenter, kStringIntroCutscene19)) + return; + _vm->renderImage(16); + exitOnEscape(3); + _vm->renderImage(17); + if (!animate(19, 20, 18, 17, 0, kMessageRight, kStringIntroCutscene20)) + return; + if (!animate(19, 20, 18, 17, 0, kMessageRight, kStringIntroCutscene21)) + return; + if (!animate(5, 4, 0, kMessageLeft, kStringIntroCutscene3)) + return; + _vm->renderImage(3); + exitOnEscape(3); + _vm->renderImage(2); + exitOnEscape(3); + _vm->renderImage(8); + exitOnEscape(6); + _vm->renderImage(6); + _vm->playSound(kAudioSiren); + + exitOnEscape(6); + _vm->renderImage(3); + exitOnEscape(3); + _vm->renderImage(4); + _vm->renderImage(16); + exitOnEscape(3); + _vm->renderImage(15); + if (!animate(19, 20, 0, kMessageRight, kStringIntroCutscene22)) + return; + if (!animate(19, 20, 0, kMessageRight, kStringIntroCutscene23)) + return; + exitOnEscape(10); + _vm->renderImage(13); + exitOnEscape(2); + _vm->renderImage(12); + exitOnEscape(2); + _vm->renderImage(9); + if (!animate(11, 10, 0, kMessageRight, kStringIntroCutscene24)) + return; + if (!animate(5, 4, 0, kMessageLeft, kStringIntroCutscene3)) + return; + _vm->paletteFadeOut(); + + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) + exitOnEscape(1); + + _vm->_system->fillScreen(kColorBlack); + _vm->_menuBrightness = 255; + _vm->paletteBrightness(); + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene25)) + return; + _vm->_menuBrightness = 5; + _vm->paletteBrightness(); + + _vm->setCurrentImage(31); + _vm->renderImage(0); + _vm->paletteFadeIn(); + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene26)) + return; + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene27)) + return; + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene28)) + return; + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene29)) + return; + exitOnEscape(54); + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene30)) + return; + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene31)) + return; + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene32)) + return; + + CursorMan.showMouse(false); + _vm->_brightness = 0; + _vm->paletteBrightness(); + exitOnEscape(10); + _vm->playSound(kAudioSnoring); + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) + _gm->wait2(1); + exitOnEscape(10); + _vm->playSound(kAudioSnoring); + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) + _gm->wait2(1); + exitOnEscape(10); + _vm->playSound(kAudioSnoring); + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) + _gm->wait2(1); + exitOnEscape(30); + CursorMan.showMouse(true); + + _vm->setCurrentImage(22); + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene33)) + return; + exitOnEscape(18); + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene34)) + return; + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene35)) + return; + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene36)) + return; + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene37)) + return; + exitOnEscape(18); + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene38)) + return; + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene39)) + return; + exitOnEscape(18); + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene40)) + return; + if (!animate(0, 0, 0, kMessageNormal, kStringIntroCutscene41)) + return; + exitOnEscape(36); + animate(0, 0, 0, kMessageNormal, kStringIntroCutscene42); + _vm->removeMessage(); + +#undef exitOnEscape +} + +void Intro::leaveCutscene() { + _vm->_brightness = 255; + _vm->removeMessage(); + _gm->changeRoom(CABIN_R3); + _gm->_guiEnabled = true; + _vm->_allowSaveGame = true; + _vm->_allowLoadGame = true; +} + +bool ShipCorridor::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_PRESS) && (obj1._id == BUTTON)) { + if (_objectState[6].hasProperty(OPENED)) { + _vm->playSound(kAudioSlideDoor); + _objectState[6].disableProperty(OPENED); + _vm->renderImage(8); + setSectionVisible(9, false); + _gm->wait2(2); + _vm->renderImage(7); + setSectionVisible(8, false); + _gm->wait2(2); + _vm->renderImage(_gm->invertSection(7)); + } else { + _vm->playSound(kAudioSlideDoor); + _objectState[6].setProperty(OPENED); + _vm->renderImage(7); + _gm->wait2(2); + _vm->renderImage(8); + setSectionVisible(7, false); + _gm->wait2(2); + _vm->renderImage(9); + setSectionVisible(8, false); + } + return true; + } + return false; +} + +bool ShipHall::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_OPEN) && (obj1._id == KITCHEN_HATCH)) { + _vm->renderMessage(kStringShipHall1); + } else if ((verb == ACTION_USE) && Object::combine(obj1,obj2,KEYCARD2,SLEEP_SLOT)) { + if (_objectState[2].hasProperty(OPENED)) { + _objectState[2].disableProperty(OPENED); + _vm->renderImage(3); + setSectionVisible(4, false); + _gm->wait2(2); + _vm->renderImage(2); + setSectionVisible(3, false); + _gm->wait2(2); + _vm->renderImage(_gm->invertSection(2)); + } else { + _objectState[2].setProperty(OPENED); + _vm->renderImage(2); + _gm->wait2(2); + _vm->renderImage(3); + setSectionVisible(2, false); + _gm->wait2(2); + _vm->renderImage(4); + setSectionVisible(3, false); + _gm->great(1); + } + } else { + return false; + } + + return true; +} + +bool ShipSleepCabin::interact(Action verb, Object &obj1, Object &obj2) { + Room *room; + Common::String input; + + if (((verb == ACTION_LOOK) || (verb == ACTION_USE)) && (obj1._id == COMPUTER)) { + _gm->_guiEnabled = false; + setSectionVisible(4, false); + g_system->fillScreen(kColorDarkBlue); + if (_gm->_state._arrivalDaysLeft == 0) { + // Destination reached + _vm->renderText(kStringShipSleepCabin1, 60, 95, kColorWhite99); + _gm->getInput(); + } else if (_gm->_state._powerOff) { + // Energy depleted + _vm->renderText(kStringShipSleepCabin2, 60, 95, kColorWhite99); + // Artificial coma interrupted + _vm->renderText(kStringShipSleepCabin3, 60, 115, kColorWhite99); + _gm->getInput(); + } else if (isSectionVisible(5)) { + // Sleep duration in days + _vm->renderText(kStringShipSleepCabin4, 30, 85, kColorWhite99); + _vm->renderText(Common::String::format("%d",_gm->_state._timeSleep).c_str(), + 150, 85, kColorWhite99); + _vm->renderText(kStringShipSleepCabin5, 30, 105, kColorWhite99); + _gm->getInput(); + } else { + _vm->renderText(kStringShipSleepCabin6, 100, 85, kColorWhite99); + _gm->edit(input, 100, 105, 30); + + input.toUppercase(); + if (_gm->_key.keycode != Common::KEYCODE_ESCAPE) { + if (input == _vm->getGameString(kStringComputerPassword)) { + _gm->great(6); + g_system->fillScreen(kColorDarkBlue); + _vm->renderText(kStringShipSleepCabin7, 30, 85, kColorWhite99); + uint daysSleep = 0; + do { + input.clear(); + _vm->renderBox(150, 85, 150, 8, kColorDarkBlue); + _gm->edit(input, 150, 85, 10); + + if (_gm->_key.keycode == Common::KEYCODE_ESCAPE) { + break; + } else { + daysSleep = input.asUint64(); + for (uint i = 0; i < input.size(); i++) { + if (!Common::isDigit(input[i])) { + daysSleep = 0; + break; + } + } + } + if (daysSleep != 0) { + _gm->_state._timeSleep = daysSleep; + _vm->renderText(kStringShipSleepCabin8, 30, 105, kColorWhite99); + _gm->wait2(18); + setSectionVisible(5, true); + } + } while (daysSleep == 0); + } else { + _vm->renderText(kStringShipSleepCabin9, 100, 125, kColorLightRed); + _gm->wait2(18); + } + } + } + + _gm->_guiEnabled = true; + input.clear(); + } else if (((verb == ACTION_WALK) || (verb == ACTION_USE)) && + ((obj1._id == CABINS) || (obj1._id == CABIN))) { + room = _gm->_rooms[AIRLOCK]; + if (!(obj1._id == CABIN) || !isSectionVisible(5)) { + _vm->renderMessage(kStringShipSleepCabin10); + } else if (room->getObject(5)->hasProperty(WORN)) { + _vm->renderMessage(kStringShipSleepCabin11); + } else { + _vm->paletteFadeOut(); + _vm->renderImage(_gm->invertSection(5)); + _vm->renderImage(_gm->invertSection(4)); + room = _gm->_rooms[GENERATOR]; + int32 *energyDaysLeft; + if (room->isSectionVisible(9)) { + energyDaysLeft = &_gm->_state._landingModuleEnergyDaysLeft; + } else { + energyDaysLeft = &_gm->_state._shipEnergyDaysLeft; + } + if (_gm->_state._timeSleep > _gm->_state._arrivalDaysLeft) { + _gm->_state._timeSleep = _gm->_state._arrivalDaysLeft; + } + if (_gm->_state._timeSleep >= *energyDaysLeft) { + _gm->_state._timeSleep = *energyDaysLeft; + if (room->isSectionVisible(9)) { + room = _gm->_rooms[LANDINGMODULE]; // Monitors off + room->setSectionVisible(2, false); + room->setSectionVisible(7, false); + room->setSectionVisible(8, false); + room->setSectionVisible(9, false); + room->setSectionVisible(10, false); + } + } + if (_gm->_state._timeSleep == _gm->_state._arrivalDaysLeft) { + _vm->renderImage(3); + room = _gm->_rooms[COCKPIT]; + room->setSectionVisible(23, true); + room = _gm->_rooms[CABIN_R2]; + room->setSectionVisible(5, false); + room->setSectionVisible(6, true); + room->getObject(2)->_click = 10; + room = _gm->_rooms[HOLD]; + room->setSectionVisible(0, false); + room->setSectionVisible(1, true); + room->getObject(1)->_click = 255; + room->getObject(3)->_click = 255; + room = _gm->_rooms[GENERATOR]; + room->setSectionVisible(6, false); + room->setSectionVisible(7, true); + room->getObject(1)->_click = 14; + if (room->isSectionVisible(1)) { + room->setSectionVisible(10, true); + } + if (room->isSectionVisible(12)) { + room->setSectionVisible(12, false); + room->setSectionVisible(11, true); + } + } + _gm->_state._arrivalDaysLeft -= _gm->_state._timeSleep; + *energyDaysLeft -= _gm->_state._timeSleep; + _gm->_state._time = ticksToMsec(786520); // 12pm + _gm->_state._alarmOn = (_gm->_state._timeAlarm > _gm->_state._time); + if (*energyDaysLeft == 0) { + _gm->turnOff(); + room = _gm->_rooms[GENERATOR]; + room->setSectionVisible(4, room->isSectionVisible(2)); + } + if (_gm->_state._arrivalDaysLeft == 0) { + _gm->saveTime(); + if (!_vm->saveGame(kSleepAutosaveSlot, "Sleep autosave")) + _vm->errorTempSave(true); + _gm->_state._dream = true; + _gm->loadTime(); + } + _gm->wait2(18); + _vm->paletteFadeIn(); + if (_gm->_state._arrivalDaysLeft == 0) { + _vm->playSound(kAudioCrash); + _gm->screenShake(); + _gm->wait2(18); + _vm->renderMessage(kStringShipSleepCabin12); + } + } + } else { + return false; + } + + return true; +} + +void ShipSleepCabin::animation() { + if (_gm->_state._powerOff && _gm->_state._arrivalDaysLeft) { + if (_gm->_guiEnabled) { + if (isSectionVisible(1)) { + _vm->renderImage(2); + setSectionVisible(1, false); + } else { + _vm->renderImage(1); + setSectionVisible(2, false); + } + } else { + if (_color == kColorLightRed) { + _color = kColorDarkBlue; + } else { + _color = kColorLightRed; + } + + _vm->renderText(kStringShipSleepCabin13, 60, 75, _color); + } + } else if (isSectionVisible(5) && _gm->_guiEnabled) { + if (isSectionVisible(4)) + _vm->renderImage(_gm->invertSection(4)); + else + _vm->renderImage(4); + } + + _gm->setAnimationTimer(6); +} +void ShipSleepCabin::onEntrance() { + if (_gm->_state._dream && (_gm->_rooms[CAVE]->getObject(1)->_exitRoom == MEETUP3)) { + _vm->renderMessage(kStringShipSleepCabin14); + _gm->waitOnInput(_gm->_timer1); + _vm->removeMessage(); + _vm->renderMessage(kStringShipSleepCabin15); + _gm->waitOnInput(_gm->_timer1); + _vm->removeMessage(); + _vm->renderMessage(kStringShipSleepCabin16); + _gm->_state._dream = false; + } +} + +bool ShipCockpit::interact(Action verb, Object &obj1, Object &obj2) { + // TODO: distance and remaining time not accurate + + if ((verb == ACTION_LOOK) && (obj1._id == MONITOR)) { + char c[2] = {0, 0}; + _gm->_guiEnabled = false; + _vm->renderBox(0, 0, 320, 200, kColorBlack); + _vm->renderText(kStringShipCockpit1, 50, 50, kColorLightYellow); + if (_gm->_state._arrivalDaysLeft) + _vm->renderText(kStringShipCockpit2); + else + _vm->renderText(kStringShipCockpit3); + _vm->renderText(kStringShipCockpit4, 50, 70, kColorLightYellow); + _vm->renderText(kStringShipCockpit5, 50, 90, kColorLightYellow); + _vm->renderText(Common::String::format("%d", _gm->_state._arrivalDaysLeft / 400).c_str()); + _vm->renderText(","); + c[0] = (_gm->_state._arrivalDaysLeft / 40) % 10 + '0'; + _vm->renderText(c); + c[0] = (_gm->_state._arrivalDaysLeft / 4) % 10 + '0'; + _vm->renderText(c); + _vm->renderText(kStringShipCockpit6); + _vm->renderText(kStringShipCockpit7, 50, 110, kColorLightYellow); + _vm->renderText(Common::String::format("%d", _gm->_state._arrivalDaysLeft).c_str(), + 50, 120, kColorLightYellow); + _vm->renderText(kStringShipCockpit8); + + _gm->getInput(); + _gm->_guiEnabled = true; + } else if ((verb == ACTION_USE) && (obj1._id == INSTRUMENTS)) + _vm->renderMessage(kStringShipCockpit9); + else + return false; + + return true; +} +void ShipCockpit::animation() { + if (!_gm->_guiEnabled) { + if (_color) { + _color = kColorBlack; + _gm->setAnimationTimer(5); + } else { + _color = kColorLightYellow; + _gm->setAnimationTimer(10); + } + _vm->renderText(kStringShipCockpit10, 50, 145, _color); + } else if (isSectionVisible(21)) { + _vm->renderImage(_gm->invertSection(21)); + _gm->setAnimationTimer(5); + } else { + _vm->renderImage(21); + _gm->setAnimationTimer(10); + } + + if (_gm->_state._powerOff) { + if (!_gm->_guiEnabled) { + _vm->renderText(kStringShipCockpit11, 97, 165, _color); + _vm->renderText(kStringShipCockpit12, 97, 175, _color); + } else if (isSectionVisible(21)) + _vm->renderImage(22); + else + _vm->renderImage(_gm->invertSection(22)); + } +} + +void ShipCockpit::onEntrance() { + if (!hasSeen()) + _vm->renderMessage(kStringShipCockpit13); + setRoomSeen(true); +} + +bool ShipCabinL2::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_USE) && Object::combine(obj1, obj2, SLOT_KL1, KEYCARD2)) { + _gm->openLocker(this, getObject(4), getObject(0), 17); + if (getObject(5)->_click == 255) + _vm->renderImage(20); // Remove Pistol + _gm->great(2); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, SLOT_KL2, KEYCARD2)) { + _gm->openLocker(this, getObject(6), getObject(1), 18); + _gm->great(2); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, SLOT_KL3, KEYCARD2)) { + _gm->openLocker(this, getObject(8), getObject(2), 19); + if (getObject(9)->_click == 255) + _vm->renderImage(21); // Remove cable spool + _gm->great(2); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, SLOT_KL4, KEYCARD2)) { + _gm->openLocker(this, getObject(10), getObject(3), 22); + if (getObject(11)->_click == 255) + _vm->renderImage(23); // Remove book + _gm->great(2); + } else if ((verb == ACTION_CLOSE) && (obj1._id == SHELF_L1)) { + _gm->closeLocker(this, getObject(4), getObject(0), 17); + setSectionVisible(20, false); + } else if ((verb == ACTION_CLOSE) && (obj1._id == SHELF_L2)) + _gm->closeLocker(this, getObject(6), getObject(1), 18); + else if ((verb == ACTION_CLOSE) && (obj1._id == SHELF_L3)) { + _gm->closeLocker(this, getObject(8), getObject(2), 19); + setSectionVisible(21, false); + } else if ((verb == ACTION_CLOSE) && (obj1._id == SHELF_L4)) { + _gm->closeLocker(this, getObject(10), getObject(3), 22); + setSectionVisible(23, false); + } else if ((verb == ACTION_TAKE) && (obj1._id == SPOOL) && !obj1.hasProperty(CARRIED)) { + getObject(8)->_click = 42; // empty shelf + return false; + } else if ((verb == ACTION_TAKE) && (obj1._id == BOOK2) && !obj1.hasProperty(CARRIED)) { + getObject(10)->_click = 47; // empty shelf + return false; + } else + return false; + + return true; +} + +bool ShipCabinL3::interact(Action verb, Object &obj1, Object &obj2) { + Room *r; + + if ((verb == ACTION_USE) && Object::combine(obj1, obj2, RECORD, TURNTABLE)) { + if (!_gm->_guiEnabled || isSectionVisible(15)) + _vm->renderMessage(kStringShipCabinL3_1); + else { + if (!getObject(4)->hasProperty(CARRIED)) + _vm->renderImage(_gm->invertSection(8)); + else + _gm->_inventory.remove(*getObject(4)); + _vm->renderImage(15); + getObject(4)->_click = 48; + } + } else if ((verb == ACTION_PRESS) && (obj1._id == TURNTABLE_BUTTON)) { + if (!isSectionVisible(15)) { + _vm->renderMessage(kStringShipCabinL3_2); + } else if (!isSectionVisible(10) && !isSectionVisible(11) && isSectionVisible(12)) { + _vm->renderImage(14); + setSectionVisible(15, false); + for (int i = 3; i; i--) { + _vm->playSound(kAudioTurntable); + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) { + if (isSectionVisible(13)) { + _vm->renderImage(14); + setSectionVisible(13, false); + } else { + _vm->renderImage(13); + setSectionVisible(14, false); + } + _gm->wait2(3); + } + } + + _vm->renderImage(15); + setSectionVisible(14, false); + setSectionVisible(13, false); + _vm->renderMessage(kStringShipCabinL3_3); + } + } else if ((verb == ACTION_TAKE) && (obj1._id == RECORD) && (obj1._click != 15)) { + _vm->renderImage(9); + setSectionVisible(13, false); + setSectionVisible(14, false); + setSectionVisible(15, false); + obj1._section = 0; + _gm->takeObject(obj1); + } else if ((verb == ACTION_PULL) && (obj1._id == PLUG)) { + _vm->renderImage(10); + setSectionVisible(7, false); + obj1._click = 21; + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, PLUG, SOCKET)) { + _vm->renderImage(7); + setSectionVisible(10, false); + getObject(10)->_click = 20; + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, KNIFE, WIRE2)) + _vm->renderMessage(kStringShipCabinL3_4); + else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, KNIFE, WIRE)) { + r = _gm->_rooms[AIRLOCK]; + if (!isSectionVisible(10) && !r->getObject(5)->hasProperty(WORN)) { + _vm->renderImage(25); + _gm->shock(); + } + _vm->renderImage(11); + _vm->renderImage(26); + setSectionVisible(12, false); + } else if ((verb == ACTION_TAKE) && ((obj1._id == WIRE) || (obj1._id == WIRE2) || (obj1._id == PLUG))) { + if (isSectionVisible(10) && isSectionVisible(11)) { + _vm->renderImage(_gm->invertSection(10)); + _vm->renderImage(_gm->invertSection(11)); + getObject(8)->_name = kStringWireAndPlug; + _gm->takeObject(*getObject(8)); + getObject(9)->_click = 255; + getObject(10)->_click = 255; + } else + _vm->renderMessage(kStringShipCabinL3_5); + } else + return false; + + return true; +} + +bool ShipCabinR3::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_USE) && Object::combine(obj1, obj2, SLOT_K1, KEYCARD)) + _gm->openLocker(this, getObject(6), getObject(2), 9); + else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, SLOT_K2, KEYCARD)) { + _gm->openLocker(this, getObject(8), getObject(3), 10); + if (getObject(9)->_click == 255) + _vm->renderImage(12); // Remove rope + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, SLOT_K3, KEYCARD)) { + _gm->openLocker(this, getObject(10), getObject(4), 11); + if (getObject(17)->_click == 255) + _vm->renderImage(16); // Remove Discman + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, SLOT_K4, KEYCARD)) { + _gm->openLocker(this, getObject(15), getObject(5), 13); + if (getObject(16)->_click == 255) + _vm->renderImage(14); // Remove Book + } else if ((verb == ACTION_CLOSE) && (obj1._id == SHELF1)) + _gm->closeLocker(this, getObject(6), getObject(2), 9); + else if ((verb == ACTION_CLOSE) && (obj1._id == SHELF2)) { + setSectionVisible(12, false); + _gm->closeLocker(this, getObject(8), getObject(3), 10); + } else if ((verb == ACTION_CLOSE) && (obj1._id == SHELF3)) { + setSectionVisible(16, false); + _gm->closeLocker(this, getObject(10), getObject(4), 11); + } else if ((verb == ACTION_CLOSE) && (obj1._id == SHELF4)) { + setSectionVisible(14, false); + setSectionVisible(14, false); + _gm->closeLocker(this, getObject(15), getObject(5), 13); + } else if ((verb == ACTION_TAKE) && (obj1._id == DISCMAN) && !_gm->_rooms[0]->getObject(3)->hasProperty(CARRIED)) { + getObject(10)->_click = 34; // Locker empty + obj1._click = 255; + _gm->takeObject(*_gm->_rooms[0]->getObject(3)); + _vm->renderImage(16); + } else if ((verb == ACTION_TAKE) && (obj1._id == ROPE) && obj1.hasProperty(CARRIED)) { + getObject(8)->_click = 31; // Shelf empty + return false; + } else if ((verb == ACTION_TAKE) && (obj1._id == BOOK) && !obj1.hasProperty(CARRIED)) { + getObject(15)->_click = 32; // Shelf empty + return false; + } else + return false; + + return true; +} + +void ShipCabinR3::onEntrance() { + for (int i = 0; i < 3; ++i) + _gm->_inventory.add(*_gm->_rooms[INTRO]->getObject(i)); + + setRoomSeen(true); +} + + +bool ShipAirlock::interact(Action verb, Object &obj1, Object &obj2) { + Room *r; + + if ((verb == ACTION_PRESS) && (obj1._id == BUTTON1)) { + if (!getObject(1)->hasProperty(OPENED)) { + _vm->renderImage(10); + _vm->playSound(kAudioSlideDoor); + if (getObject(0)->hasProperty(OPENED)) { + getObject(0)->disableProperty(OPENED); + _vm->renderImage(1); + _gm->wait2(2); + _vm->renderImage(2); + setSectionVisible(1, false); + _gm->wait2(2); + _vm->renderImage(3); + setSectionVisible(2, false); + } else { + getObject(0)->setProperty(OPENED); + _vm->renderImage(2); + setSectionVisible(3, false); + _gm->wait2(2); + _vm->renderImage(1); + setSectionVisible(2, false); + _gm->wait2(2); + _vm->renderImage(_gm->invertSection(1)); + } + _vm->renderImage(_gm->invertSection(10)); + } + } else if ((verb == ACTION_PRESS) && (obj1._id == BUTTON2)) { + if (!getObject(0)->hasProperty(OPENED)) { + _vm->renderImage(11); + if (getObject(1)->hasProperty(OPENED)) { + _vm->playSound(kAudioSlideDoor); + getObject(1)->disableProperty(OPENED); + _vm->renderImage(4); + _gm->wait2(2); + _vm->renderImage(5); + setSectionVisible(4, false); + _gm->wait2(2); + _vm->renderImage(6); + setSectionVisible(5, false); + _vm->renderImage(16); + setSectionVisible(17, false); + _gm->wait2(3); + _vm->renderImage(15); + setSectionVisible(16, false); + _gm->wait2(3); + _vm->renderImage(14); + setSectionVisible(15, false); + _gm->wait2(3); + _vm->renderImage(13); + setSectionVisible(14, false); + _gm->wait2(3); + _vm->renderImage(12); + setSectionVisible(13, false); + _gm->wait2(3); + _vm->renderImage(_gm->invertSection(12)); + } else { + getObject(1)->setProperty(OPENED); + _vm->renderImage(12); + _gm->wait2(3); + _vm->renderImage(13); + setSectionVisible(12, false); + _gm->wait2(3); + _vm->renderImage(14); + setSectionVisible(13, false); + _gm->wait2(3); + _vm->renderImage(15); + setSectionVisible(14, false); + _gm->wait2(3); + _vm->renderImage(16); + setSectionVisible(15, false); + _gm->wait2(3); + _vm->renderImage(17); + setSectionVisible(16, false); + _vm->playSound(kAudioSlideDoor); + _vm->renderImage(5); + setSectionVisible(6, false); + _gm->wait2(2); + _vm->renderImage(4); + setSectionVisible(5, false); + _gm->wait2(2); + _vm->renderImage(_gm->invertSection(4)); + r = _gm->_rooms[AIRLOCK]; + if (!r->getObject(4)->hasProperty(WORN) || + !r->getObject(5)->hasProperty(WORN) || + !r->getObject(6)->hasProperty(WORN)) { + _gm->dead(kStringShipAirlock1); + return true; + } + } + _vm->renderImage(_gm->invertSection(11)); + } + } else if ((verb == ACTION_LOOK) && (obj1._id == MANOMETER)) + _vm->renderMessage(getObject(1)->hasProperty(OPENED) ? kStringShipAirlock2 : kStringShipAirlock3); + else + return false; + + return true; +} + +void ShipAirlock::onEntrance() { + if (!hasSeen()) + _vm->renderMessage(kStringShipAirlock4); + + setRoomSeen(true); +} + +bool ShipHold::interact(Action verb, Object &obj1, Object &obj2) { + Room *room; + + if ((verb == ACTION_LOOK) && (obj1._id == SCRAP_LK) && (obj1._description != kStringScrapDescription3)) { + _vm->renderMessage(obj1._description); + obj1._description = kStringScrapDescription3; + _gm->takeObject(*getObject(2)); + } else if (((verb == ACTION_OPEN) || (verb == ACTION_CLOSE)) && (obj1._id == OUTERHATCH_TOP)) + _vm->renderMessage(kStringShipHold1); + else if ((verb == ACTION_CLOSE) && (obj1._id == LANDINGMOD_HATCH) && (isSectionVisible(4) || isSectionVisible(6))) + _vm->renderMessage(kStringCable1); + else if (((verb == ACTION_TAKE) && (obj1._id == HOLD_WIRE)) || + ((verb == ACTION_USE) && Object::combine(obj1, obj2, HOLD_WIRE, LANDINGMOD_HATCH))) + _vm->renderMessage(kStringCable2); + else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, TERMINALSTRIP, HOLD_WIRE)) { + getObject(0)->_name = kStringWireAndClip; + _gm->_inventory.remove(*getObject(2)); + _gm->_state._terminalStripConnected = true; + _gm->_state._terminalStripWire = true; + _vm->renderMessage(kStringOk); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, HOLD_WIRE, SPOOL)) { + if (!_gm->_state._terminalStripConnected) + _vm->renderMessage(kStringCable3); + else { + _vm->renderImage(5); + getObject(0)->_name = kStringWireAndPlug2; + getObject(0)->_click = 10; + room = _gm->_rooms[CABIN_L2]; + _gm->_inventory.remove(*getObject(9)); + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, HOLD_WIRE, GENERATOR_TOP)) { + if (isSectionVisible(5)) { + room = _gm->_rooms[GENERATOR]; + room->getObject(0)->_click = 15; + room->getObject(1)->_click = 13; + room->setSectionVisible(6, true); + room->setSectionVisible(8, true); + _vm->renderImage(_gm->invertSection(5)); + _vm->renderImage(6); + setSectionVisible(4, false); + getObject(0)->_click = 11; + } else + _vm->renderMessage(kStringCable4); + } else + return false; + + return true; +} + +void ShipHold::onEntrance() { + if (!hasSeen()) + _vm->renderMessage(kStringShipHold2); + setRoomSeen(true); + _gm->_rooms[COCKPIT]->setRoomSeen(true); +} + +bool ShipLandingModule::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_PRESS) && (obj1._id == LANDINGMOD_BUTTON)) + _vm->renderMessage(obj1._description); + else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, PEN, LANDINGMOD_BUTTON)) { + if (_gm->_state._landingModuleEnergyDaysLeft) { + Room *r = _gm->_rooms[GENERATOR]; + if (isSectionVisible(7)) { + _vm->renderImage(_gm->invertSection(9)); + _vm->renderImage(_gm->invertSection(2)); + _vm->renderImage(_gm->invertSection(8)); + _vm->renderImage(_gm->invertSection(7)); + _vm->renderImage(_gm->invertSection(10)); + if (r->isSectionVisible(9)) + _gm->_state._powerOff = true; + _gm->roomBrightness(); + } else { + _vm->renderImage(7); + if (r->isSectionVisible(9)) + _gm->_state._powerOff = false; + _gm->roomBrightness(); + r = _gm->_rooms[SLEEP]; + r->setSectionVisible(1, false); + r->setSectionVisible(2, false); + _gm->wait2(2); + _vm->renderImage(2); + _gm->wait2(3); + _vm->renderImage(8); + _gm->wait2(2); + _vm->renderImage(9); + _gm->wait2(1); + _vm->renderImage(10); + } + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, KNIFE, LANDINGMOD_BUTTON)) + _vm->renderMessage(kStringShipHold3); + else if ((verb == ACTION_LOOK) && (obj1._id == LANDINGMOD_MONITOR) && isSectionVisible(7)) + _vm->renderMessage(kStringShipHold4); + else if ((verb == ACTION_USE) && (obj1._id == KEYBOARD)) + _vm->renderMessage(kStringShipHold5); + else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, WIRE, LANDINGMOD_SOCKET)) { + Room *r = _gm->_rooms[CABIN_L3]; + _gm->_inventory.remove(*r->getObject(8)); + getObject(4)->_name = r->getObject(8)->_name; + _vm->renderImage(4); + if (_gm->_state._cableConnected) { + _vm->renderImage(5); + getObject(4)->_click = 6; + } else { + getObject(4)->_click = 5; + if (_gm->_state._terminalStripWire) + _vm->renderImage(11); + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, SPOOL, LANDINGMOD_SOCKET)) + _vm->renderMessage(kStringShipHold8); + else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, LANDINGMOD_WIRE, TERMINALSTRIP)) { + _vm->renderImage(11); + getObject(4)->_name = kStringWireAndClip; + Room *r = _gm->_rooms[HOLD]; + _gm->_inventory.remove(*r->getObject(2)); + _gm->_state._terminalStripConnected = true; + _gm->_state._terminalStripWire = true; + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, LANDINGMOD_WIRE, SPOOL)) { + if (!_gm->_state._terminalStripConnected) + _vm->renderMessage(kStringCable3); + else { + _vm->renderImage(5); + getObject(4)->_name = kStringWireAndPlug2; + getObject(4)->_click = 6; + _gm->_inventory.remove(*_gm->_rooms[CABIN_L2]->getObject(9)); + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, LANDINGMOD_WIRE, LANDINGMOD_HATCH)) { + if (getObject(5)->hasProperty(OPENED)) { + Room *r = _gm->_rooms[HOLD]; + if (isSectionVisible(5)) { + r->setSectionVisible(5, true); + r->getObject(0)->_click = 10; + } else + r->getObject(0)->_click = 9; + + r->setSectionVisible(4, true); + r->getObject(0)->_name = getObject(4)->_name; + _vm->renderImage(_gm->invertSection(5)); + _vm->renderImage(_gm->invertSection(4)); + setSectionVisible(11, false); + _vm->renderImage(6); + getObject(4)->_click = 7; + } else + _vm->renderMessage(kStringShipHold6); + } else if ((verb == ACTION_CLOSE) && (obj1._id == LANDINGMOD_HATCH) && isSectionVisible(6)) + _vm->renderMessage(kStringCable1); + else if (((verb == ACTION_TAKE) || (verb == ACTION_PULL)) && (obj1._id == LANDINGMOD_WIRE)) + _vm->renderMessage(kStringCable2); + else + return false; + + return true; +} + +bool ShipGenerator::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_OPEN) && (obj1._id == OUTERHATCH)) { + if (obj1.hasProperty(OPENED)) + return false; + _vm->playSound(kAudioSlideDoor); + _vm->renderImage(1); + if (isSectionVisible(7)) + _vm->renderImage(10); + if (isSectionVisible(13)) + _vm->renderImage(13); + _gm->_rooms[HOLD]->setSectionVisible(3, true); + obj1.setProperty(OPENED); + obj1._click = 2; + _vm->playSound(kAudioDoorOpen); + } else if ((verb == ACTION_CLOSE) && (obj1._id == OUTERHATCH)) { + if (!obj1.hasProperty(OPENED)) + return false; + if (isSectionVisible(11) || isSectionVisible(12)) + _vm->renderMessage(kStringShipHold7); + else { + _vm->playSound(kAudioSlideDoor); + _vm->renderImage(_gm->invertSection(1)); + setSectionVisible(10, false); + if (isSectionVisible(13)) + _vm->renderImage(13); + _gm->_rooms[HOLD]->setSectionVisible(3, false); + obj1.disableProperty(OPENED); + obj1._click = 1; + _vm->playSound(kAudioDoorClose); + } + } else if ((verb == ACTION_WALK) && (obj1._id == OUTERHATCH) && + isSectionVisible(7)) { + if (!obj1.hasProperty(OPENED)) + _vm->renderMessage(kStringShipHold9); + else if (!isSectionVisible(11)) + _vm->renderMessage(kStringShipHold10); + else { + obj1._exitRoom = ROCKS; + return false; + } + } else if ((verb == ACTION_TAKE) && (obj1._id == GENERATOR_WIRE)) + _vm->renderMessage(kStringCable2); + else if ((verb == ACTION_PULL) && (obj1._id == SHORT_WIRE) && + (obj1._click != 11)) { + _vm->renderImage(3); + _vm->renderImage(4); + obj1._click = 11; + _gm->turnOff(); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, SHORT_WIRE, CLIP) && + (getObject(11)->_click == 11) && !isSectionVisible(9)) { + _vm->renderImage(2); + setSectionVisible(3, false); + setSectionVisible(4, false); + getObject(11)->_click = 10; + if (_gm->_state._shipEnergyDaysLeft) + _gm->turnOn(); + else + _vm->renderImage(4); + } else if ((verb == ACTION_OPEN) && (obj1._id == TRAP)) { + _vm->playSound(kAudioSlideDoor); + _vm->renderImage(2); + if (getObject(11)->_click == 11) + _vm->renderImage(3); + if (_gm->_state._powerOff) + _vm->renderImage(4); + obj1.setProperty(OPENED); + obj1._click = 6; + + obj1._click2 = 5; + _vm->playSound(kAudioDoorOpen); + } else if ((verb == ACTION_CLOSE) && (obj1._id == TRAP)) { + if (isSectionVisible(9)) + _vm->renderMessage(kStringCable1); + else { + setSectionVisible(3, false); + return false; + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, GENERATOR_WIRE, CLIP) && + isSectionVisible(3) && (getObject(0)->_click != 16)) { + _vm->renderImage(_gm->invertSection(8)); + _vm->renderImage(2); + setSectionVisible(4, false); + _vm->renderImage(3); + _vm->renderImage(9); + getObject(0)->_click = 16; + Room *r = _gm->_rooms[LANDINGMODULE]; + if (_gm->_state._landingModuleEnergyDaysLeft && r->isSectionVisible(7)) + _gm->turnOn(); + else + _vm->renderImage(4); + _gm->_rooms[HOLD]->setSectionVisible(7, true); + _gm->great(3); + } else if ((verb == ACTION_PULL) && (obj1._id == GENERATOR_WIRE) && (obj1._click == 16)) { + _vm->renderImage(_gm->invertSection(9)); + _vm->renderImage(2); + _vm->renderImage(3); + _vm->renderImage(4); + _vm->renderImage(8); + obj1._click = 15; + _gm->turnOff(); + _gm->_rooms[HOLD]->setSectionVisible(7, false); + } else if ((verb == ACTION_USE) && + (Object::combine(obj1, obj2, WIRE, CLIP) || + Object::combine(obj1, obj2, SPOOL, CLIP)) && + isSectionVisible(3)) { + _vm->renderMessage(kStringShipHold11); + } else if ((verb == ACTION_LOOK) && (obj1._id == VOLTMETER)) { + if (_gm->_state._powerOff) + _vm->renderMessage(kStringShipHold12); + else + _vm->renderMessage(kStringShipHold13); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, LADDER, ROPE)) { + _vm->renderImage(13); + Room *r = _gm->_rooms[CABIN_R3]; + _gm->_inventory.remove(*r->getObject(9)); + getObject(3)->_click = 18; + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, OUTERHATCH, GENERATOR_ROPE)) { + if (!isSectionVisible(1)) + _vm->renderMessage(kStringShipHold14); + else { + _vm->renderImage(_gm->invertSection(13)); + _vm->renderImage(1); + if (isSectionVisible(7)) { + _vm->renderImage(10); + _vm->renderImage(11); + } else + _vm->renderImage(12); + + Room *r = _gm->_rooms[OUTSIDE]; + r->setSectionVisible(1, true); + r->getObject(1)->_click = 1; + getObject(3)->_click = 17; + } + } else if ((verb == ACTION_TAKE) && (obj1._id == GENERATOR_ROPE)) + _vm->renderMessage(kStringShipHold15); + else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, OUTERHATCH, GENERATOR_WIRE) && isSectionVisible(1)) + _vm->renderMessage(kStringShipHold16); + else + return false; + + return true; +} + +// Arsano +void ArsanoRocks::onEntrance() { + _gm->great(8); +} + +bool ArsanoRocks::interact(Action verb, Object &obj1, Object &obj2) { + if (((verb == ACTION_PULL) || (verb == ACTION_PRESS)) && + (obj1._id == STONE) && !isSectionVisible(3)) { + _vm->renderImage(1); + _gm->wait2(2); + _vm->renderImage(2); + _gm->wait2(2); + _vm->renderImage(3); + _vm->playSound(kAudioRocks); + obj1._click = 3; + getObject(3)->_click = 4; + getObject(3)->setProperty(EXIT); + return true; + } + return false; +} + +void ArsanoMeetup::onEntrance() { + if (isSectionVisible(7)) { + _gm->wait2(3); + _vm->renderImage(6); + setSectionVisible(7, false); + _gm->wait2(3); + _vm->renderImage(_gm->invertSection(6)); + } + if (!(_gm->_state._greatFlag & 0x8000)) { + _vm->playSound(kAudioFoundLocation); + _gm->_state._greatFlag |= 0x8000; + } +} + +void ArsanoMeetup::animation() { + _vm->renderImage(_gm->invertSection(1) + _beacon); + _beacon = (_beacon + 1) % 5; + _vm->renderImage(_beacon + 1); + _vm->renderImage(_beacon + 8); + if (isSectionVisible(_sign + 13)) + _vm->renderImage(_gm->invertSection(13) + _sign); + else + _vm->renderImage(13 + _sign); + + _sign = (_sign + 1) % 14; + _gm->setAnimationTimer(3); +} + +bool ArsanoMeetup::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_WALK) && + ((obj1._id == SPACESHIPS) || + ((obj1._id == SPACESHIP) && !obj1.hasProperty(OPENED)))) { + _vm->renderMessage(kStringArsanoMeetup1); + } else if ((verb == ACTION_WALK) && (obj1._id == SPACESHIP)) + _gm->changeRoom(GLIDER); + else if ((verb == ACTION_WALK) && (obj1._id == STAR)) + _vm->renderMessage(kStringArsanoMeetup2); + else if ((verb == ACTION_LOOK) && (obj1._id == STAR)) { + _vm->setCurrentImage(26); + _vm->renderImage(0); + _vm->paletteBrightness(); + _gm->animationOff(); + _gm->getInput(); + _gm->animationOn(); + g_system->fillScreen(kColorBlack); + _vm->renderRoom(*this); + _vm->paletteBrightness(); + } else if ((verb == ACTION_WALK) && (obj1._id == DOOR)) { + _vm->renderImage(6); + _gm->wait2(3); + _vm->renderImage(7); + setSectionVisible(6, false); + _gm->wait2(3); + + return false; + } else if ((verb == ACTION_LOOK) && (obj1._id == MEETUP_SIGN) && _gm->_state._language) { + if (_gm->_state._language == 2) + _vm->renderMessage(kStringArsanoMeetup3); + + obj1._description = kStringSignDescription2; + if (_gm->_state._language == 1) + return false; + + _gm->_state._language = 1; + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, KEYCARD_R, SPACESHIP)) { + getObject(5)->setProperty(OPENED); + _gm->changeRoom(GLIDER); + } else + return false; + + return true; +} + +void ArsanoEntrance::animation() { + if (!_vm->_messageDisplayed && isSectionVisible(kMaxSection - 5)) { + _gm->animationOff(); // to avoid recursive call + _vm->playSound(kAudioSlideDoor); + _vm->renderImage(8); + setSectionVisible(9, false); + _gm->wait2(2); + _vm->renderImage(7); + setSectionVisible(8, false); + _gm->wait2(2); + _vm->renderImage(6); + setSectionVisible(7, false); + _gm->wait2(2); + _vm->renderImage(5); + setSectionVisible(6, false); + _gm->wait2(2); + _vm->renderImage(_gm->invertSection(5)); + getObject(11)->_click = 255; + setSectionVisible(kMaxSection - 5, false); + _gm->animationOn(); + } + if (isSectionVisible(2)) + _vm->renderImage(_gm->invertSection(2)); + else if (_eyewitness) + --_eyewitness; + else { + _eyewitness = 20; + _vm->renderImage(2); + } + + _gm->setAnimationTimer(4); +} + +bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) { + static byte row1[6] = {1, 1, 1, 1, 1, 0}; + static byte row2[6] = {1, 1, 1, 1, 1, 0}; + static byte row3[6] = {1, 1, 0, 0, 0, 0}; + + if ((verb == ACTION_TALK) && (obj1._id == PORTER)) { + if (_gm->_rooms[AIRLOCK]->getObject(4)->hasProperty(WORN)) + _vm->renderMessage(kStringArsanoEntrance1); + else { + if (_gm->_state._language) { + int e; + do { + if (_gm->_state._shoes == 1) { + _dialog2[2] = kStringArsanoEntrance2; + addSentence(2, 2); + } else if (_gm->_state._shoes > 1) + removeSentence(2, 2); + + switch (e = _gm->dialog(5, row2, _dialog2, 2)) { + case 0: + _gm->reply(kStringArsanoEntrance3, 1, _gm->invertSection(1)); + _gm->reply(kStringArsanoEntrance4, 1, _gm->invertSection(1)); + _gm->reply(kStringArsanoEntrance5, 1, _gm->invertSection(1)); + removeSentence(1, 1); + break; + case 1: + _gm->reply(kStringArsanoEntrance6, 1, _gm->invertSection(1)); + addSentence(1, 2); + break; + case 2: + if (_gm->_state._shoes == 1) { + _gm->reply(kStringArsanoEntrance7, 1, _gm->invertSection(1)); + _gm->_state._shoes = 2; + } else { + _gm->reply(kStringArsanoEntrance8, 1, _gm->invertSection(1)); + _gm->_state._shoes = 1; + } + break; + case 3: + _gm->reply(kStringArsanoEntrance9, 1, _gm->invertSection(1)); + } + } while (e != 4); + } else if (_gm->dialog(5, row2, _dialog2, 0) != 4) + _gm->reply(kStringArsanoEntrance10, 1, _gm->invertSection(1)); + } + } else if ((verb == ACTION_WALK) && (obj1._id == STAIRCASE) && (_gm->_state._shoes != 3)) { + _vm->renderImage(3); + _gm->wait2(2); + _vm->renderImage(4); + setSectionVisible(3, false); + if (_gm->_rooms[AIRLOCK]->getObject(4)->hasProperty(WORN)) + _gm->reply(kStringDialogSeparator, 1, _gm->invertSection(1)); + else if (_gm->_state._language) + _gm->reply(kStringArsanoEntrance11, 1, _gm->invertSection(1)); + else + _gm->reply(kStringArsanoEntrance12, 1, _gm->invertSection(1)); + _vm->renderImage(3); + setSectionVisible(4, false); + _gm->wait2(2); + _vm->renderImage(_gm->invertSection(3)); + if (!_gm->_rooms[AIRLOCK]->getObject(4)->hasProperty(WORN)) { + if (_gm->_state._language) { + if (_gm->_state._shoes) + _gm->reply(kStringArsanoEntrance13, 1, _gm->invertSection(1)); + else + _gm->reply(kStringArsanoEntrance14, 1, _gm->invertSection(1)); + int e = 0; + while ((e < 3) && (!allSentencesRemoved(4, 1))) { + switch (e = _gm->dialog(5, row1, _dialog1, 1)) { + case 0: + _gm->reply(kStringArsanoEntrance15, 1, 1 + 128); + break; + case 1: + _gm->reply(kStringArsanoEntrance3, 1, 1 + 128); + _gm->reply(kStringArsanoEntrance4, 1, 1 + 128); + _gm->reply(kStringArsanoEntrance5, 1, 1 + 128); + removeSentence(0, 2); + break; + case 2: + _gm->reply(kStringArsanoEntrance7, 1, 1 + 128); + _gm->_state._shoes = 2; + break; + case 3: + _vm->renderImage(3); + _gm->wait2(2); + _vm->renderImage(4); + setSectionVisible(3, false); + _gm->reply(kStringArsanoEntrance16, 1, 1 + 128); + _vm->renderImage(3); + setSectionVisible(4, false); + _gm->wait2(2); + _vm->renderImage(_gm->invertSection(3)); + break; + } + removeSentence(0, 1); + } + } else { + _gm->dialog(2, row3, _dialog3, 0); + _gm->reply(kStringArsanoEntrance10, 1, 1 + 128); + } + } + } else if ((verb == ACTION_PRESS) && (obj1._id == BATHROOM_BUTTON)) { + _vm->playSound(kAudioSlideDoor); + _vm->renderImage(5); + _gm->wait2(2); + _vm->renderImage(6); + setSectionVisible(5, false); + _gm->wait2(2); + _vm->renderImage(7); + setSectionVisible(6, false); + _gm->wait2(2); + _vm->renderImage(8); + setSectionVisible(7, false); + _gm->wait2(2); + _vm->renderImage(9); + setSectionVisible(8, false); + getObject(11)->_click = 9; + } else if ((verb == ACTION_WALK) && (obj1._id == ARSANO_BATHROOM)) { + if (_gm->_state._coins) { + if (_gm->_state._shoes == 2) { + _vm->renderMessage(kStringArsanoEntrance17); + _gm->_state._shoes = 3; + removeSentence(2, 2); + removeSentence(3, 2); + } else if (_gm->_state._shoes == 3) { + _vm->renderMessage(kStringArsanoEntrance18); + _gm->_state._shoes = 2; + } else + _vm->renderMessage(kStringArsanoEntrance19); + } else { + if (_gm->_rooms[AIRLOCK]->getObject(5)->hasProperty(WORN)) + _vm->renderMessage(kStringArsanoEntrance20); + else { + _vm->renderMessage(kStringArsanoEntrance21); + _gm->waitOnInput(_gm->_timer1); + _vm->removeMessage(); + _vm->renderMessage(kStringArsanoEntrance22); + _gm->takeObject(*getObject(16)); + _gm->_state._coins = 5; + } + } + // This shown object is an abuse in the original engine as it's not a real shown variable + // It's an internal (boolean) status + _shown[kMaxSection - 5] = kShownTrue; + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, COINS, CAR_SLOT)) { + if ((_gm->_state._coins < 5) && (getObject(7 - _gm->_state._coins)->_click == 7)) + _vm->renderMessage(kStringArsanoEntrance23); + else { + _vm->renderImage(15 - _gm->_state._coins); + getObject(8 - _gm->_state._coins)->_click = 7; + --_gm->_state._coins; + if (_gm->_state._coins == 1) + getObject(16)->_name = kStringCoin; + + if (_gm->_state._coins == 0) { + _gm->_inventory.remove(*getObject(16)); + _gm->_state._coins = 255; + } + } + } else if ((verb == ACTION_LOOK) && (obj1._id == KITCHEN_SIGN) && _gm->_state._language) { + if (_gm->_state._language == 2) + _vm->renderMessage(kStringArsanoEntrance24); + obj1._description = kStringDoorDescription5; + if (_gm->_state._language == 1) + return false; + _gm->_state._language = 1; + } else if ((verb == ACTION_LOOK) && (obj1._id == BATHROOM_SIGN) && _gm->_state._language) { + if (_gm->_state._language == 2) + _vm->renderMessage(kStringArsanoEntrance25); + obj1._description = kStringDoorDescription6; + if (_gm->_state._language == 1) + return false; + _gm->_state._language = 1; + } else if ((verb == ACTION_WALK) && (obj1._id == MEETUP_EXIT)) { + if (!((_gm->_rooms[AIRLOCK]->getObject(4)->hasProperty(WORN)) && + (_gm->_rooms[AIRLOCK]->getObject(5)->hasProperty(WORN)) && + (_gm->_rooms[AIRLOCK]->getObject(6)->hasProperty(WORN)))) { + _vm->renderMessage(kStringArsanoEntrance26); + _gm->_rooms[AIRLOCK]->getObject(4)->setProperty(WORN); + _gm->_rooms[AIRLOCK]->getObject(5)->setProperty(WORN); + _gm->_rooms[AIRLOCK]->getObject(6)->setProperty(WORN); + _gm->waitOnInput(_gm->_timer1); + _vm->removeMessage(); + } + return false; + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, KNIFE, PORTER)) + _vm->renderMessage(kStringArsanoEntrance27); + else + return false; + + return true; +} + +void ArsanoRemaining::animation() { + switch (_i) { + case 0: + _vm->renderImage(1); + _vm->renderImage(_gm->invertSection(4)); + break; + case 1: + _vm->renderImage(_gm->invertSection(1)); + _vm->renderImage(4); + break; + case 2: + _vm->renderImage(2); + _vm->renderImage(_gm->invertSection(4)); + break; + + case 3: + _vm->renderImage(7); // Dragon + _vm->renderImage(_gm->invertSection(2)); + _vm->renderImage(4); + break; + case 4: + _vm->renderImage(8); + setSectionVisible(7, false); + _vm->renderImage(2); + _vm->renderImage(_gm->invertSection(4)); + break; + case 5: + _vm->renderImage(_gm->invertSection(8)); + _vm->renderImage(_gm->invertSection(2)); + break; + case 6: + _vm->renderImage(3); + _vm->renderImage(2); + break; + case 7: + _vm->renderImage(_gm->invertSection(3)); + _vm->renderImage(_gm->invertSection(2)); + break; + case 8: + _vm->renderImage(3); + break; + case 9: + _vm->renderImage(14); // Card Player 1 + _vm->renderImage(4); + _vm->renderImage(_gm->invertSection(3)); + break; + case 10: + _vm->renderImage(15); + _vm->renderImage(14); + _vm->renderImage(_gm->invertSection(4)); + _vm->renderImage(3); + break; + case 11: + _vm->renderImage(16); + setSectionVisible(15, false); + _vm->renderImage(4); + _vm->renderImage(_gm->invertSection(3)); + break; + case 12: + _vm->renderImage(17); + setSectionVisible(16, false); + _vm->renderImage(_gm->invertSection(4)); + _vm->renderImage(3); + break; + case 13: + _vm->renderImage(_gm->invertSection(17)); + _vm->renderImage(4); + _vm->renderImage(_gm->invertSection(3)); + break; + case 14: + _vm->renderImage(_gm->invertSection(4)); + break; + case 15: + _vm->renderImage(6); + break; + case 16: + _vm->renderImage(18); // Card Player 2 + _vm->renderImage(5); + break; + case 17: + _vm->renderImage(19); + setSectionVisible(18, false); + _vm->renderImage(_gm->invertSection(5)); + break; + case 18: + _vm->renderImage(20); + setSectionVisible(19, false); + _vm->renderImage(5); + break; + case 19: + _vm->renderImage(21); + setSectionVisible(20, false); + _vm->renderImage(_gm->invertSection(5)); + break; + case 20: + _vm->renderImage(_gm->invertSection(21)); + _vm->renderImage(5); + break; + case 21: + _vm->renderImage(_gm->invertSection(5)); + break; + case 22: + _vm->renderImage(5); + break; + case 23: + _vm->renderImage(10); + _chewing = false; + _vm->renderImage(_gm->invertSection(5)); + break; + case 24: + _vm->renderImage(11); + setSectionVisible(10, false); + break; + case 25: + _vm->renderImage(12); + setSectionVisible(11, false); + break; + case 26: + _vm->renderImage(13); + setSectionVisible(12, false); + break; + case 27: + _vm->renderImage(12); + setSectionVisible(13, false); + break; + case 28: + _vm->renderImage(11); + setSectionVisible(12, false); + break; + case 29: + _vm->renderImage(10); + setSectionVisible(11, false); + break; + case 30: + _vm->renderImage(_gm->invertSection(10)); + _chewing = true; + break; + case 31: + _vm->renderImage(22); // Card Player 3 + break; + case 32: + _vm->renderImage(_gm->invertSection(22)); + break; + case 33: + _vm->renderImage(_gm->invertSection(6)); + break; + case 34: + _vm->renderImage(4); + } + + _i = (_i + 1) % 35; + if (_chewing) { + if (isSectionVisible(9)) + _vm->renderImage(_gm->invertSection(9)); + else + _vm->renderImage(9); + } + _gm->setAnimationTimer(3); +} + +void ArsanoRoger::onEntrance() { + if (!sentenceRemoved(0, 2)) { + _gm->say(kStringArsanoRoger1); + _gm->reply(kStringArsanoRoger2, 2, 2 + 128); + removeSentence(0, 2); + } +} + +void ArsanoRoger::animation() { + if (isSectionVisible(1)) + _vm->renderImage(_gm->invertSection(1)); + else if (isSectionVisible(10)) { + _vm->renderImage(12); + setSectionVisible(10, false); + setSectionVisible(12, false); + } else if (_eyewitness) { + --_eyewitness; + } else { + _eyewitness = 20; + if (isSectionVisible(3)) + _vm->renderImage(10); + else + _vm->renderImage(1); + } + + if (isSectionVisible(3)) { + setSectionVisible(5 + _hands, false); + _hands = (_hands + 1) % 5; + _vm->renderImage(5 + _hands); + } + _gm->setAnimationTimer(4); +} + +bool ArsanoRoger::interact(Action verb, Object &obj1, Object &obj2) { + static byte row1[6] = {1, 1, 1, 1, 0, 0}; + + if ((verb == ACTION_TAKE) && (obj1._id == WALLET)) { + if (isSectionVisible(3)) { + _gm->great(0); + return false; + } + _gm->reply(kStringArsanoRoger3, 2, 2 + 128); + } else if ((verb == ACTION_USE) && (obj1._id == CUP)) + _vm->renderMessage(kStringArsanoRoger4); + else if ((verb == ACTION_TALK) && (obj1._id == ROGER_W)) { + if (isSectionVisible(3)) + _vm->renderMessage(kStringArsanoRoger5); + else { + switch (_gm->dialog(4, row1, _dialog1, 1)) { + case 0: + _gm->reply(kStringArsanoRoger6, 2, 2 + 128); + _gm->reply(kStringArsanoRoger7, 2, 2 + 128); + break; + case 1: + _gm->reply(kStringArsanoRoger8, 2, 2 + 128); + _gm->reply(kStringArsanoRoger9, 2, 2 + 128); + _gm->say(kStringArsanoRoger10); + break; + case 2: + _gm->reply(kStringArsanoRoger11, 2, 2 + 128); + _gm->say(kStringArsanoRoger12); + _gm->reply(kStringArsanoRoger13, 2, 2 + 128); + _gm->say(kStringArsanoRoger14); + _gm->reply(kStringArsanoRoger15, 2, 2 + 128); + _gm->reply(kStringArsanoRoger16, 2, 2 + 128); + _gm->say(kStringArsanoRoger17); + _gm->say(kStringArsanoRoger18); + _gm->reply(kStringArsanoRoger19, 2, 2 + 128); + _gm->say(kStringArsanoRoger20); + _gm->say(kStringArsanoRoger21); + _gm->reply(kStringArsanoRoger22, 2, 2 + 128); + _gm->say(kStringArsanoRoger23); + _gm->reply(kStringArsanoRoger24, 2, 2 + 128); + _gm->reply(kStringArsanoRoger25, 2, 2 + 128); + _gm->say(kStringArsanoRoger26); + _gm->reply(kStringArsanoRoger27, 2, 2 + 128); + _gm->reply(kStringArsanoRoger28, 2, 2 + 128); + _gm->say(kStringArsanoRoger29); + _gm->reply(kStringArsanoRoger30, 2, 2 + 128); + _gm->reply(kStringArsanoRoger31, 2, 2 + 128); + _gm->say(kStringArsanoRoger32); + _gm->reply(kStringArsanoRoger33, 2, 2 + 128); + _gm->say(kStringArsanoRoger34); + _gm->reply(kStringArsanoRoger35, 2, 2 + 128); + } + } + } else if (((verb == ACTION_USE) && Object::combine(obj1, obj2, CHESS, ROGER_W)) || + ((verb == ACTION_GIVE) && (obj1._id == CHESS) && (obj2._id == ROGER_W))) { + _vm->renderImage(11); + _gm->great(0); + _gm->say(kStringArsanoRoger36); + _gm->reply(kStringArsanoRoger37, 2, 2 + 128); + _gm->say(kStringArsanoRoger38); + _vm->paletteFadeOut(); + _gm->_inventory.remove(*_gm->_rooms[CABIN_R3]->getObject(0)); // Chess board + g_system->fillScreen(kColorBlack); + _vm->_menuBrightness = 255; + _vm->paletteBrightness(); + _vm->renderMessage(kStringArsanoRoger39); + _gm->waitOnInput(_gm->_timer1); + _vm->removeMessage(); + _vm->_menuBrightness = 0; + _vm->paletteBrightness(); + _gm->_state._time += ticksToMsec(125000); // 2 hours + _gm->_state._alarmOn = (_gm->_state._timeAlarm > _gm->_state._time); + _gm->_state._eventTime = _gm->_state._time + ticksToMsec(4000); + _gm->_state._eventCallback = kSupernovaFn; + setSectionVisible(11, false); + setSectionVisible(1, false); + _vm->renderRoom(*this); + _vm->renderImage(3); + getObject(3)->_click = 5; + getObject(5)->_click = 6; + getObject(6)->_click = 7; + _vm->paletteFadeIn(); + _vm->renderMessage(kStringArsanoRoger40); + _gm->waitOnInput(_gm->_timer1); + _vm->removeMessage(); + } else + return false; + + return true; +} + +void ArsanoGlider::animation() { + if (isSectionVisible(8)) { + setSectionVisible(24 + _sinus, false); + _sinus = (_sinus + 1) % 14; + _vm->renderImage(24 + _sinus); + } else if (isSectionVisible(24 + _sinus)) + _vm->renderImage(_gm->invertSection(24 + _sinus)); + + _gm->setAnimationTimer(2); +} + +bool ArsanoGlider::interact(Action verb, Object &obj1, Object &obj2) { + static char l, r; + if ((verb == ACTION_USE) && Object::combine(obj1, obj2, KEYCARD_R, GLIDER_SLOT)) { + _vm->renderImage(5); + _gm->wait2(7); + _vm->renderImage(8); + getObject(5)->_click = 10; + _gm->_inventory.remove(*_gm->_rooms[ROGER]->getObject(8)); + } else if (((verb == ACTION_TAKE) || (verb == ACTION_PULL)) && + (obj1._id == GLIDER_KEYCARD)) { + _vm->renderImage(_gm->invertSection(5)); + _vm->renderImage(_gm->invertSection(8)); + getObject(5)->_click = 255; + _gm->takeObject(*_gm->_rooms[ROGER]->getObject(8)); + for (int i = 9; i <= 22; i++) + _vm->renderImage(_gm->invertSection(i)); + l = r = 0; + } else if ((verb == ACTION_PRESS) && + (obj1._id >= GLIDER_BUTTON1) && (obj1._id <= GLIDER_BUTTON4)) { + int i = obj1._id - GLIDER_BUTTON1 + 1; + _vm->renderImage(i); + if (isSectionVisible(8)) { + l = 0; + r = 0; + for (int j = 1; j < 8; j++) { + if (isSectionVisible(j + 8)) + l = j; + if (isSectionVisible(j + 15)) + r = j; + } + switch (i) { + case 1: + if (l < 7) { + l++; + _vm->renderImage(l + 8); + } + break; + case 3: + if (r < 7) { + r++; + _vm->renderImage(r + 15); + } + break; + case 2: + if (l) { + _vm->renderImage(_gm->invertSection(l + 8)); + l--; + } + break; + case 4: + if (r) { + _vm->renderImage(_gm->invertSection(r + 15)); + r--; + } + } + } + _gm->wait2(4); + _vm->renderImage(_gm->invertSection(i)); + } else if ((verb == ACTION_USE) && (obj1._id == GLIDER_BUTTONS)) + _vm->renderMessage(kStringArsanoGlider1); + else + return false; + + return true; +} + +void ArsanoMeetup2::onEntrance() { + if (sentenceRemoved(0, 1)) { + if (sentenceRemoved(1, 1)) + _vm->renderMessage(kStringArsanoMeetup2_2); // All spaceships have left the planet, except one ... + else + shipStart(); + } else if (sentenceRemoved(1, 1)) + _vm->renderMessage(kStringArsanoMeetup2_1); // All spaceships have left the planet + + addAllSentences(1); +} + +bool ArsanoMeetup2::interact(Action verb, Object &obj1, Object &obj2) { + static byte row1[6] = {1, 1, 0, 0, 0, 0}; + static byte row2[6] = {1, 1, 0, 0, 0, 0}; + static byte row3[6] = {1, 1, 1, 1, 0, 0}; + static byte row4[6] = {2, 1, 0, 0, 0, 0}; + + if (((verb == ACTION_WALK) && + ((obj1._id == SPACESHIP) || (obj1._id == ROGER_W))) || + ((verb == ACTION_TALK) && (obj1._id == ROGER_W))) { + _gm->changeRoom(INTRO); + _vm->setCurrentImage(30); + _vm->renderImage(0); + _vm->paletteBrightness(); + bool found; + if (sentenceRemoved(0, 2) || sentenceRemoved(1, 2)) { + _gm->reply(kStringArsanoMeetup2_3, 1, 1 + 128); + found = !_gm->dialog(2, row4, _dialog4, 0); + if (!(found)) + _gm->reply(kStringArsanoMeetup2_4, 1, 1 + 128); + } else { + _gm->reply(kStringArsanoMeetup2_5, 1, 1 + 128); + _gm->reply(kStringArsanoMeetup2_6, 1, 1 + 128); + found = !_gm->dialog(2, row1, _dialog1, 0); + removeSentence(0, 2); + } + if (found) { + _gm->_inventory.remove(*_gm->_rooms[ROGER]->getObject(3)); + _gm->_inventory.remove(*_gm->_rooms[ROGER]->getObject(7)); + _gm->_inventory.remove(*_gm->_rooms[ROGER]->getObject(8)); + _gm->reply(kStringArsanoMeetup2_7, 1, 1 + 128); + _gm->reply(kStringArsanoMeetup2_8, 1, 1 + 128); + bool flight = _gm->dialog(2, row2, _dialog2, 0); + if (flight) { + _gm->reply(kStringArsanoMeetup2_9, 1, 1 + 128); + _gm->dialog(4, row3, _dialog3, 0); + _gm->reply(kStringArsanoMeetup2_10, 1, 1 + 128); + } else + _gm->reply(kStringArsanoMeetup2_11, 1, 1 + 128); + + _gm->changeRoom(MEETUP2); + _gm->_rooms[MEETUP2]->setSectionVisible(12, false); + _gm->_rooms[MEETUP2]->getObject(0)->_click = 255; + _gm->_rooms[MEETUP2]->getObject(1)->_click = 255; + _vm->renderRoom(*this); + _vm->paletteBrightness(); + shipStart(); + if (flight) { + _vm->setCurrentImage(13); + _vm->renderImage(0); + _vm->paletteBrightness(); + _gm->wait2(36); + for (int i = 1; i <= 13; i++) { + if (i > 1) + _vm->renderImage(_gm->invertSection(i - 1)); + _vm->renderImage(i); + _gm->wait2(2); + } + _vm->renderImage(_gm->invertSection(13)); + _gm->wait2(20); + _vm->setCurrentImage(14); + _vm->renderImage(0); + _vm->paletteBrightness(); + _gm->wait2(36); + for (int i = 1; i <= 13; i++) { + if (i > 1) + _vm->renderImage(_gm->invertSection(i - 1)); + _vm->renderImage(i); + _gm->wait2(2); + } + _vm->renderImage(_gm->invertSection(13)); + _gm->wait2(9); + _vm->playSound(kAudioCrash); + for (int i = 14; i <= 19; i++) { + _vm->renderImage(i); + _gm->wait2(3); + } + _vm->paletteFadeOut(); + _vm->setCurrentImage(11); + _vm->renderImage(0); + _vm->paletteFadeIn(); + _gm->wait2(18); + _vm->renderMessage(kStringArsanoMeetup2_12); + _gm->great(0); + _gm->waitOnInput(_gm->_timer1); + _vm->removeMessage(); + _vm->paletteFadeOut(); + g_system->fillScreen(kColorBlack); + _gm->_state._dream = false; + if (!_vm->loadGame(kSleepAutosaveSlot)) + _vm->errorTempSave(false); + _gm->loadTime(); + _gm->_rooms[CAVE]->getObject(1)->_exitRoom = MEETUP3; + _gm->_state._dream = true; + } + } else { + _gm->changeRoom(MEETUP2); + _vm->renderRoom(*this); + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, KEYCARD_R, SPACESHIP)) + _vm->renderMessage(kStringArsanoMeetup2_13); + else + return false; + + return true; +} + +void ArsanoMeetup2::shipStart() { + _gm->wait2(12); + for (int i = 2; i <= 11; ++i) { + if (i >= 9) + _vm->renderImage(i - 1 + 128); + else + setSectionVisible(i - 1, false); + _vm->renderImage(i); + _gm->wait2(2); + } + _vm->renderImage(11 + 128); +} + +bool ArsanoMeetup3::interact(Action verb, Object &obj1, Object &obj2) { + byte row2[6] = {1, 1, 1, 1, 0, 0}; + byte row3[6] = {1, 1, 0, 0, 0, 0}; + byte rowsX[6] = {1, 1, 1, 0, 0, 0}; + + if ((verb == ACTION_WALK) && (obj1._id == STAR)) + _vm->renderMessage(kStringArsanoMeetup2); + else if ((verb == ACTION_LOOK) && (obj1._id == STAR)) { + _vm->setCurrentImage(26); + _vm->renderImage(0); + _vm->paletteBrightness(); + _gm->getInput(); + g_system->fillScreen(kColorBlack); + _vm->renderRoom(*this); + } else if ((verb == ACTION_WALK) && (obj1._id == UFO)) { + g_system->fillScreen(kColorBlack); + _vm->setCurrentImage(36); + _vm->renderImage(0); + _vm->paletteBrightness(); + _gm->dialog(3, rowsX, _dialogsX, 0); + _vm->renderImage(1); + _gm->wait2(3); + _vm->renderImage(2); + _gm->wait2(3); + _vm->renderImage(3); + _gm->wait2(6); + _vm->renderImage(4); + _vm->playSound(kAudioGunShot); + + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) + _gm->wait2(1); + + _vm->renderImage(5); + _gm->wait2(3); + _vm->renderImage(4); + _vm->playSound(kAudioGunShot); + + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) + _gm->wait2(1); + + _vm->renderImage(5); + _vm->paletteFadeOut(); + _gm->wait2(12); + _vm->setCurrentImage(0); + _vm->renderImage(0); + _vm->paletteFadeIn(); + _gm->wait2(18); + _gm->reply(kStringArsanoMeetup3_1, 2, 2 + 128); + _gm->wait2(10); + _gm->reply(kStringArsanoMeetup3_2, 1, 1 + 128); + + do { + int i = _gm->dialog(4, row2, _dialog2, 2); + switch (i) { + case 0: + _gm->reply(kStringArsanoMeetup3_3, 1, 1 + 128); + _gm->reply(kStringArsanoMeetup3_4, 1, 1 + 128); + break; + case 1: + _gm->reply(kStringArsanoMeetup3_5, 2, 2 + 128); + _gm->say(kStringArsanoMeetup3_6); + _gm->reply(kStringArsanoMeetup3_7, 2, 2 + 128); + _gm->reply(kStringArsanoMeetup3_8, 2, 2 + 128); + _gm->reply(kStringArsanoMeetup3_9, 2, 2 + 128); + _gm->reply(kStringArsanoMeetup3_10, 2, 2 + 128); + _gm->reply(kStringArsanoMeetup3_11, 2, 2 + 128); + if (_gm->dialog(2, row3, _dialog3, 0)) { + _gm->reply(kStringArsanoMeetup3_12, 2, 2 + 128); + _gm->say(kStringArsanoMeetup3_13); + } + _gm->reply(kStringArsanoMeetup3_14, 2, 2 + 128); + _gm->reply(kStringArsanoMeetup3_15, 2, 2 + 128); + _gm->reply(kStringArsanoMeetup3_16, 2, 2 + 128); + _gm->reply(kStringArsanoMeetup3_17, 2, 2 + 128); + if (_gm->dialog(2, row3, _dialog3, 0)) { + _gm->reply(kStringArsanoMeetup3_12, 2, 2 + 128); + _gm->say(kStringArsanoMeetup3_13); + } + _gm->reply(kStringArsanoMeetup3_18, 2, 2 + 128); + break; + case 2: + _gm->reply(kStringArsanoMeetup3_19, 2, 2 + 128); + _gm->reply(kStringArsanoMeetup3_20, 2, 2 + 128); + break; + case 3: + _gm->reply(kStringArsanoMeetup3_21, 1, 1 + 128); + _gm->reply(kStringArsanoMeetup3_22, 1, 1 + 128); + _gm->say(kStringArsanoMeetup3_23); + _gm->reply(kStringArsanoMeetup3_24, 1, 1 + 128); + _gm->reply(kStringArsanoMeetup3_25, 1, 1 + 128); + } + removeSentence(2, 2); + } while (!allSentencesRemoved(4, 2)); + _gm->say(kStringArsanoMeetup3_26); + _gm->reply(kStringArsanoMeetup3_27, 1, 1 + 128); + _gm->reply(kStringArsanoMeetup3_28, 1, 1 + 128); + _vm->paletteFadeOut(); + // Remove all objects from the inventory except the Knife, Watch and Discman + bool has_knife = _gm->_rooms[INTRO]->getObject(1)->hasProperty(CARRIED); + bool has_watch = _gm->_rooms[INTRO]->getObject(2)->hasProperty(CARRIED); + bool has_discman = _gm->_rooms[INTRO]->getObject(3)->hasProperty(CARRIED); + _gm->_inventory.clear(); + _gm->_inventoryScroll = 0; + if (has_knife) + _gm->_inventory.add(*_gm->_rooms[INTRO]->getObject(1)); + if (has_watch) + _gm->_inventory.add(*_gm->_rooms[INTRO]->getObject(2)); + if (has_discman) + _gm->_inventory.add(*_gm->_rooms[INTRO]->getObject(3)); + _gm->changeRoom(CELL); + _gm->_state._dream = true; + } else + return false; + + return true; +} + +void AxacussCell::onEntrance() { + if (_gm->_state._dream) { + _vm->renderMessage(kStringAxacussCell_1); + _gm->_state._time = ticksToMsec(500000); + _gm->_state._alarmOn = (_gm->_state._timeAlarm > _gm->_state._time); + _gm->_state._powerOff = false; + _gm->_state._dream = false; + } +} + +void AxacussCell::animation() { + ++_gm->_state._timeRobot; + + if (_gm->_state._timeRobot == 299) { + _vm->renderImage(_gm->invertSection(31)); + _vm->renderImage(28); + getObject(0)->_click = 255; + getObject(1)->resetProperty(EXIT | OPENABLE | OPENED | CLOSED); + } else if ((_gm->_state._timeRobot >= 301) && (_gm->_state._timeRobot <= 320)) { + _vm->renderImage(_gm->invertSection(329 - _gm->_state._timeRobot)); + _vm->renderImage(328 - _gm->_state._timeRobot); + } else if (_gm->_state._timeRobot == 321) { + _vm->renderImage(31); + setSectionVisible(8, false); + getObject(0)->_click = 1; + getObject(1)->resetProperty(EXIT | OPENABLE | CLOSED); + } + + if (_gm->_state._timeRobot == 599) { + _vm->renderImage(_gm->invertSection(31)); + _vm->renderImage(8); + getObject(0)->_click = 255; + getObject(1)->resetProperty(EXIT | OPENABLE | OPENED | CLOSED); + } else if ((_gm->_state._timeRobot >= 601) && (_gm->_state._timeRobot <= 620)) { + _vm->renderImage(_gm->_state._timeRobot - 593 + 128); + _vm->renderImage(_gm->_state._timeRobot - 592); + } else if (_gm->_state._timeRobot == 621) { + _vm->renderImage(31); + setSectionVisible(28, false); + getObject(0)->_click = 1; + getObject(1)->resetProperty(EXIT | OPENABLE | CLOSED); + } else if (_gm->_state._timeRobot == 700) + _gm->_state._timeRobot = 0; + else if (_gm->_state._timeRobot == 10002) { + _vm->renderImage(18 + 128); + _vm->renderImage(29); + _vm->renderImage(7); + getObject(2)->_click = 13; + } else if (_gm->_state._timeRobot == 10003) { + setSectionVisible(29, false); + _vm->renderImage(30); + getObject(8)->_click = 12; + getObject(7)->_click = 14; + _vm->playSound(kAudioRobotBreaks); + } else if (_gm->_state._timeRobot == 10010) + --_gm->_state._timeRobot; + + if (_gm->_state._timeRobot == 312) { + _vm->renderImage(7); + getObject(2)->_click = 13; + } else if (_gm->_state._timeRobot == 610) { + setSectionVisible(7, false); + getObject(2)->_click = 255; + } + + if ((isSectionVisible(6)) && + ((_gm->_state._timeRobot == 310) || (_gm->_state._timeRobot == 610))) { + _vm->playSound(kAudioRobotShock); + _gm->_state._timeRobot = 10000; + } + + _gm->setAnimationTimer(3); +} + +bool AxacussCell::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_PRESS) && (obj1._id == CELL_BUTTON)) + _vm->renderMessage(kStringAxacussCell_2); + else if ((verb == ACTION_PULL) && (obj1._id == CELL_WIRE) && + !isSectionVisible(2) && + !isSectionVisible(3) && + !isSectionVisible(5)) { + if (isSectionVisible(1)) { + _vm->renderImage(_gm->invertSection(1)); + _vm->renderImage(2); + getObject(5)->_click = 7; + } else if (isSectionVisible(4)) { + _vm->renderImage(_gm->invertSection(4)); + _vm->renderImage(3); + getObject(5)->_click = 8; + } else if (isSectionVisible(6)) { + _vm->renderImage(_gm->invertSection(6)); + _vm->renderImage(5); + getObject(5)->_click = 10; + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, CELL_WIRE, SOCKET) && + !isSectionVisible(1) && !isSectionVisible(4) && !isSectionVisible(6)) { + if (isSectionVisible(2)) { + _vm->renderImage(_gm->invertSection(2)); + _vm->renderImage(1); + getObject(5)->_click = 6; + } else if (isSectionVisible(3)) { + _vm->renderImage(_gm->invertSection(3)); + _vm->renderImage(4); + getObject(5)->_click = 9; + } else if (isSectionVisible(5)) { + _vm->renderImage(_gm->invertSection(5)); + _vm->renderImage(6); + getObject(5)->_click = 11; + } else { + _gm->_inventory.remove(*getObject(5)); + _vm->renderImage(4); + getObject(5)->_click = 9; + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, CELL_WIRE, KNIFE) && + ((isSectionVisible(1)) || (isSectionVisible(2)))) { + if (isSectionVisible(1)) + _gm->shock(); + else { + _vm->renderImage(_gm->invertSection(2)); + _vm->renderImage(3); + getObject(5)->_click = 8; + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, CELL_WIRE, CELL_TABLE) && + !isSectionVisible(1) && + !isSectionVisible(2) && + !isSectionVisible(5) && + !isSectionVisible(6)) { + if (isSectionVisible(3)) { + _vm->renderImage(_gm->invertSection(3)); + _vm->renderImage(5); + getObject(5)->_click = 10; + } else if (isSectionVisible(4)) { + _vm->renderImage(_gm->invertSection(4)); + _vm->renderImage(6); + _gm->shock(); + } else { + _gm->_inventory.remove(*getObject(5)); + _vm->renderImage(5); + getObject(5)->_click = 10; + } + } else if ((verb == ACTION_TAKE) && (obj1._id == CELL_WIRE) && !(obj1.hasProperty(CARRIED))) { + if (isSectionVisible(3)) { + _vm->renderImage(_gm->invertSection(3)); + _gm->takeObject(obj1); + } else if (isSectionVisible(5)) { + _vm->renderImage(_gm->invertSection(5)); + _gm->takeObject(obj1); + } else + _vm->renderMessage(kStringAxacussCell_3); + } else if ((verb == ACTION_WALK) && (obj1._id == CELL_DOOR) && (obj1.hasProperty(OPENED))) { + if (isSectionVisible(30) || isSectionVisible(29)) + return false; + _vm->playSound(kAudioGunShot); + + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) + _gm->wait2(1); + + _vm->playSound(kAudioGunShot); + _vm->playSound(kAudioGunShot); + _gm->dead(kStringAxacussCell_4); + } else if ((verb == ACTION_USE) && (obj1._id == TRAY)) + _vm->renderMessage(kStringAxacussCell_5); + else if ((verb == ACTION_TAKE) && (obj1._id == MAGNET)) { + if (isSectionVisible(6)) + _gm->shock(); + _gm->takeObject(obj1); + _vm->renderMessage(kStringOk); + } else + return false; + + return true; +} + + +void AxacussCorridor1::onEntrance() { + _gm->corridorOnEntrance(); +} + +void AxacussCorridor2::onEntrance() { + _gm->corridorOnEntrance(); +} + +void AxacussCorridor3::onEntrance() { + _gm->corridorOnEntrance(); +} + +void AxacussCorridor4::onEntrance() { + _gm->great(4); + _gm->corridorOnEntrance(); + if (_gm->_rooms[GUARD]->isSectionVisible(1)) + _gm->busted(0); +} + +void AxacussCorridor4::animation() { +} + +bool AxacussCorridor4::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_TAKE) && (obj1._id == NEWSPAPER)) { + setSectionVisible(9, false); + _gm->takeObject(obj1); + if (isSectionVisible(29)) + _vm->renderImage(29); + } else if (((verb == ACTION_USE) && Object::combine(obj1, obj2, TABLE, WATCH)) || + ((verb == ACTION_GIVE) && (obj1._id == WATCH) && (obj2._id == TABLE))) { + if (obj1._id == WATCH) + _gm->_inventory.remove(obj1); + else + _gm->_inventory.remove(obj2); + + _vm->renderImage(29); + getObject(4)->_click = 8; + } else if ((verb == ACTION_TAKE) && (obj1._id == WATCH) && !obj1.hasProperty(CARRIED)) { + setSectionVisible(29, false); + getObject(4)->_click = 255; + _gm->takeObject(*_gm->_rooms[INTRO]->getObject(2)); + if (isSectionVisible(9)) + _vm->renderImage(9); + } else + return false; + + return true; +} + +void AxacussCorridor5::onEntrance() { + _gm->corridorOnEntrance(); +} + +bool AxacussCorridor5::handleMoneyDialog() { + if (_gm->dialog(2, _rows, _dialog2, 0) == 0) { + _gm->reply(kStringAxacussCorridor5_5, 1, 1 + 128); + addAllSentences(2); + if (_gm->_state._money == 0) { + removeSentence(2, 2); + removeSentence(3, 2); + } else { + Common::String string = _vm->getGameString(kStringDialogAxacussCorridor5_7); + _vm->setGameString(kStringPlaceholder1, Common::String::format(string.c_str(), _gm->_state._money - 200)); + _vm->setGameString(kStringPlaceholder2, Common::String::format(string.c_str(), _gm->_state._money)); + _dialog3[2] = kStringPlaceholder1; + _dialog3[3] = kStringPlaceholder2; + } + switch (_gm->dialog(4, _rows, _dialog3, 2)) { + case 1: + _gm->wait2(3); + _vm->renderImage(1); + _vm->playSound(kAudioVoiceHalt); + _vm->renderImage(_gm->invertSection(1)); + _gm->wait2(5); + _vm->renderImage(2); + _gm->wait2(2); + _gm->shot(3, _gm->invertSection(3)); + break; + case 3: + if (_gm->_state._money >= 900) { + stopInteract(_gm->_state._money); + return true; + } + case 2: + if (_gm->_state._money > 1100) { + stopInteract(_gm->_state._money - 200); + return true; + } + _gm->reply(kStringAxacussCorridor5_6, 1, 1 + 128); + } + } + return false; +} + +void AxacussCorridor5::stopInteract(int sum) { + _gm->reply(kStringAxacussCorridor5_7, 1, 1 + 128); + _gm->great(0); + _gm->changeRoom(ELEVATOR); + _gm->takeMoney(-sum); +} + +bool AxacussCorridor5::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_WALK) && (obj1._id == DOOR)) { + g_system->fillScreen(kColorBlack); + _vm->setCurrentImage(41); + _vm->renderImage(0); + _vm->paletteBrightness(); + if (_gm->_guiEnabled) { + _gm->reply(kStringAxacussCorridor5_1, 1, 1 + 128); + if (handleMoneyDialog()) + return true; + } else { + _gm->_guiEnabled = true; + _gm->reply(kStringAxacussCorridor5_2, 1, 1 + 128); + if (_gm->dialog(2, _rows, _dialog1, 0)) + _gm->reply(kStringAxacussCorridor5_3, 1, 1 + 128); + else { + _gm->reply(kStringAxacussCorridor5_4, 1, 1 + 128); + if (handleMoneyDialog()) + return true; + } + } + g_system->fillScreen(kColorBlack); + return true; + } + return false; +} + +void AxacussCorridor6::onEntrance() { + _gm->corridorOnEntrance(); +} + +bool AxacussCorridor6::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_CLOSE) && (obj1._id == DOOR) && + (obj1.hasProperty(OPENED))) { + _vm->renderImage(6); + setSectionVisible(7, false); + obj1.resetProperty(EXIT | OPENABLE | CLOSED); + _gm->_rooms[CORRIDOR8]->setSectionVisible(27, false); + _gm->_rooms[CORRIDOR8]->setSectionVisible(28, true); + _gm->_rooms[CORRIDOR8]->getObject(0)->disableProperty(OPENED); + _vm->playSound(kAudioDoorClose); + } else + return false; + + return true; +} + +void AxacussCorridor7::onEntrance() { + _gm->corridorOnEntrance(); +} + +void AxacussCorridor8::onEntrance() { + _gm->corridorOnEntrance(); +} + +bool AxacussCorridor8::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_OPEN) && (obj1._id == DOOR) && !obj1.hasProperty(OPENED)) { + _vm->renderImage(27); + setSectionVisible(28, false); + obj1.setProperty(OPENED); + _gm->_rooms[CORRIDOR6]->setSectionVisible(6, false); + _gm->_rooms[CORRIDOR6]->setSectionVisible(7, true); + _gm->_rooms[CORRIDOR6]->getObject(2)->resetProperty(EXIT | OPENED | OPENABLE); + _gm->_rooms[CORRIDOR6]->getObject(2)->_click = 4; + _vm->playSound(kAudioDoorOpen); + } else if ((verb == ACTION_CLOSE) && (obj1._id == DOOR) && (obj1._type & OPENED)) { + _vm->renderImage(28); + setSectionVisible(27, false); + obj1.disableProperty(OPENED); + _gm->_rooms[CORRIDOR6]->setSectionVisible(6, true); + _gm->_rooms[CORRIDOR6]->setSectionVisible(7, false); + _gm->_rooms[CORRIDOR6]->getObject(2)->resetProperty(EXIT | CLOSED | OPENABLE); + _vm->playSound(kAudioDoorClose); + } else + return false; + + return true; +} + +void AxacussCorridor9::onEntrance() { + _gm->corridorOnEntrance(); +} + +bool AxacussCorridor9::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_CLOSE) && (obj1._id == DOOR) && (obj1.hasProperty(OPENED))) { + _vm->renderImage(28); + setSectionVisible(27, false); + obj1.disableProperty(OPENED); + _gm->_rooms[GUARD]->setSectionVisible(6, false); + _gm->_rooms[GUARD]->getObject(2)->disableProperty(OPENED); + _vm->playSound(kAudioDoorClose); + } else if ((verb == ACTION_OPEN) && (obj1._id == DOOR) && !obj1.hasProperty(OPENED)) { + _vm->renderImage(27); + setSectionVisible(28, false); + obj1.setProperty(OPENED); + _gm->_rooms[GUARD]->setSectionVisible(6, true); + _gm->_rooms[GUARD]->getObject(2)->setProperty(OPENED); + _vm->playSound(kAudioDoorOpen); + if (!_gm->_rooms[GUARD]->isSectionVisible(1)) + _gm->busted(0); + } else + return false; + + return true; +} + +void AxacussBcorridor::onEntrance() { + _gm->corridorOnEntrance(); + if (isSectionVisible(7)) + _gm->busted(-1); +} + +bool AxacussBcorridor::interact(Action verb, Object &obj1, Object &obj2) { + if (obj1.hasProperty(EXIT) || + ((verb == ACTION_USE) && obj1.hasProperty(COMBINABLE) && obj2.hasProperty(EXIT))) { + _gm->_state._playerHidden = false; + } + + if ((verb == ACTION_CLOSE) && (obj1._id >= DOOR1) && (obj1._id <= DOOR4) && obj1.hasProperty(OPENED)) { + _vm->renderImage(_gm->invertSection(obj1._id - DOOR1 + 1)); + _vm->playSound(kAudioDoorClose); + obj1.disableProperty(OPENED); + obj1.setProperty(CLOSED); + if (obj1.hasProperty(OCCUPIED)) { + _gm->_state._destination = 255; + obj1.disableProperty(OCCUPIED); + obj1.setProperty(CAUGHT); + if (!_gm->_rooms[OFFICE_L1 + obj1._id - DOOR1]->isSectionVisible(4)) + _gm->search(180); + else + _gm->_state._eventTime = kMaxTimerValue; + } + } else if (((verb == ACTION_WALK) || ((verb == ACTION_OPEN) && !obj1.hasProperty(OPENED))) && + (obj1._id >= DOOR1) && (obj1._id <= DOOR4) && + obj1.hasProperty(OCCUPIED)) { + _vm->renderMessage(kStringDontEnter); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR1) && + !getObject(4)->hasProperty(OPENED)) { + if (getObject(4)->hasProperty(OCCUPIED)) + _vm->renderMessage(kStringDontEnter); + else { + _vm->renderImage(1); + _vm->playSound(kAudioDoorOpen); + if (getObject(4)->hasProperty(CAUGHT)) + _gm->busted(11); + getObject(4)->resetProperty(EXIT | OPENABLE | OPENED); + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR2) && !getObject(5)->hasProperty(OPENED)) { + if (getObject(5)->hasProperty(OCCUPIED)) + _vm->renderMessage(kStringDontEnter); + else { + _vm->renderImage(2); + _vm->playSound(kAudioDoorOpen); + if (getObject(5)->hasProperty(CAUGHT)) + _gm->busted(16); + getObject(5)->resetProperty(EXIT | OPENABLE | OPENED); + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR3) && !getObject(6)->hasProperty(OPENED)) { + if (getObject(6)->hasProperty(OCCUPIED)) + _vm->renderMessage(kStringDontEnter); + else { + _vm->renderImage(3); + _vm->playSound(kAudioDoorOpen); + if (getObject(6)->hasProperty(CAUGHT)) + _gm->busted(15); + getObject(6)->resetProperty(EXIT | OPENABLE | OPENED); + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR4) && !getObject(7)->hasProperty(OPENED)) { + if (getObject(7)->hasProperty(OCCUPIED)) { + _vm->renderMessage(kStringDontEnter); + } else { + _vm->renderImage(4); + _vm->playSound(kAudioDoorOpen); + if (getObject(7)->hasProperty(CAUGHT)) + _gm->busted(20); + getObject(7)->resetProperty(EXIT | OPENABLE | OPENED); + } + } else if ((verb == ACTION_LOOK) && (obj1._id >= DOOR1) && (obj1._id <= DOOR4)) { + _gm->_state._nameSeen[obj1._id - DOOR1] = true; + return false; + } else if ((verb == ACTION_WALK) && ((obj1._id == PILLAR1) || (obj1._id == PILLAR2))) { + _vm->renderMessage(kStringAxacussBcorridor_1); + _gm->_state._playerHidden = true; + } else + return false; + + return true; +} + +bool AxacussIntersection::interact(Action verb, Object &obj1, Object &obj2) { + byte rowsX[6] = {1, 1, 1, 0, 0, 0}; + + if (((verb == ACTION_WALK) || (verb == ACTION_OPEN)) && (obj1._id == DOOR) && !isSectionVisible(1)) + _gm->guardShot(); + else if ((verb == ACTION_OPEN) && (obj1._id == DOOR) && !obj1.hasProperty(OPENED)) { + _gm->_rooms[CORRIDOR9]->setSectionVisible(27, true); + _gm->_rooms[CORRIDOR9]->setSectionVisible(28, false); + _gm->_rooms[CORRIDOR9]->getObject(1)->setProperty(OPENED); + return false; + } else if ((verb == ACTION_CLOSE) && (obj1._id == DOOR) && obj1.hasProperty(OPENED)) { + _gm->_rooms[CORRIDOR9]->setSectionVisible(27, false); + _gm->_rooms[CORRIDOR9]->setSectionVisible(28, true); + _gm->_rooms[CORRIDOR9]->getObject(1)->disableProperty(OPENED); + return false; + } else if ((verb == ACTION_TALK) && (obj1._id == GUARDIAN)) { + _gm->dialog(3, rowsX, _dialogsX, 0); + _gm->guardShot(); + } else if ((verb == ACTION_TAKE) && (obj1._id == MASTERKEYCARD)) { + _gm->great(0); + setSectionVisible(7, false); + return false; + } else if ((verb == ACTION_USE) && (Object::combine(obj1, obj2, MAGNET, GUARDIAN) || Object::combine(obj1, obj2, KNIFE, GUARDIAN))) + _vm->renderMessage(kStringArsanoEntrance27); + else + return false; + + return true; +} + +bool AxacussExit::interact(Action verb, Object &obj1, Object &obj2) { + byte rowsX[6] = {1, 1, 1, 0, 0, 0}; + + if (((verb == ACTION_WALK) || (verb == ACTION_OPEN)) && (obj1._id == DOOR) && !_gm->_state._powerOff) + _gm->guard3Shot(); + else if ((verb == ACTION_TALK) && (obj1._id == GUARDIAN)) { + _gm->dialog(3, rowsX, _dialogsX,0); + _gm->guard3Shot(); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, LAMP, MAGNET)) { + _gm->_inventory.remove(*_gm->_rooms[CELL]->getObject(7)); + for (int i = 4; i <= 11; i++) { + _vm->renderImage(i); + if (i == 11) + _vm->playSound(kAudioSmash); // 046/4020 + _gm->wait2(1); + _vm->renderImage(i + 128); + } + _gm->_state._powerOff = true; + _objectState[5]._click = 255; + + _gm->search(450); + _gm->roomBrightness(); + } else if ((verb == ACTION_USE) && (Object::combine(obj1,obj2,MAGNET,GUARDIAN) || Object::combine(obj1,obj2,KNIFE,GUARDIAN))) + _vm->renderMessage(kStringArsanoEntrance27); + else + return false; + + return true; +} + +bool AxacussOffice1::interact(Action verb, Object &obj1, Object &obj2) { + Common::String input; + if ((verb == ACTION_CLOSE) && (obj1._id == DOOR) && + obj1.hasProperty(OPENED)) { + _vm->renderImage(_gm->invertSection(9)); + obj1.disableProperty(OPENED); + obj1.setProperty(CLOSED); + _vm->playSound(kAudioDoorClose); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR) && + !getObject(0)->hasProperty(OPENED)) { + _vm->renderImage(9); + getObject(0)->disableProperty(CLOSED); + getObject(0)->setProperty(OPENED); + _vm->playSound(kAudioDoorOpen); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, COMPUTER, MAGNET)) { + _vm->renderImage(4); + setSectionVisible(16, false); + _vm->playSound(kAudioSmash); + } else if ((verb == ACTION_LOOK) && (obj1._id == COMPUTER)) { + if (isSectionVisible(4)) + _vm->renderMessage(kStringBroken); + else + _gm->telomat(0); + } else if (((verb == ACTION_OPEN) || (verb == ACTION_USE)) && + (obj1._id == LOCKER) && + !obj1.hasProperty(OPENED)) { + _vm->renderMessage(kStringAxacussOffice1_1); + _vm->renderBox(160, 70, 70, 10, kColorDarkBlue); + _gm->edit(input, 161, 71, 10); + + _vm->removeMessage(); + if (_gm->_key.keycode != Common::KEYCODE_ESCAPE) { + if (!input.equals("89814")) { + if (input.equals("41898")) + _vm->renderMessage(kStringAxacussOffice1_2); + else + _vm->renderMessage(kStringAxacussOffice1_3); + } else { + _vm->renderImage(6); + setSectionVisible(7, false); + obj1.resetProperty(OPENABLE | OPENED); + if (getObject(2)->hasProperty(TAKE)) { + _vm->renderImage(8); + getObject(2)->_click = 9; + } + _vm->playSound(kAudioDoorOpen); + _gm->great(7); + } + } + } else if ((verb == ACTION_CLOSE) && (obj1._id == LOCKER) && obj1.hasProperty(OPENED)) { + _vm->renderImage(7); + setSectionVisible(6, false); + obj1.resetProperty(OPENABLE | CLOSED); + setSectionVisible(8, false); + getObject(2)->_click = 255; + _vm->playSound(kAudioDoorClose); + } else if ((verb == ACTION_TAKE) && (obj1._id == MONEY)) { + _vm->renderImage(6); + setSectionVisible(8, false); + getObject(2)->_click = 255; + getObject(2)->resetProperty(); + _gm->takeMoney(500); + } else if ((verb == ACTION_LOOK) && (obj1._id == LETTER)) { + g_system->fillScreen(kColorBlack); + _vm->renderText(kStringAxacussOffice1_4, 10, 10, 4); + _vm->renderText(kStringAxacussOffice1_5, 270, 10, 4); + _vm->renderText(kStringAxacussOffice1_6, 10, 60, 4); + _vm->renderText(kStringAxacussOffice1_7, 10, 75, 4); + _vm->renderText(kStringAxacussOffice1_8, 10, 86, 4); + _vm->renderText(kStringAxacussOffice1_9, 10, 97, 4); + _vm->renderText(kStringAxacussOffice1_10, 10, 108, 4); + _vm->renderText(kStringAxacussOffice1_11, 10, 119, 4); + _vm->renderText(kStringAxacussOffice1_12, 10, 130, 4); + _vm->renderText(kStringAxacussOffice1_13, 10, 147, 4); + _vm->renderText(kStringAxacussOffice1_14, 200, 170, 4); + _vm->renderText(kStringAxacussOffice1_15, 200, 181, 4); + _gm->getInput(); + g_system->fillScreen(kColorBlack); + _vm->renderMessage(kStringAxacussOffice1_16); + } else + return false; + + return true; +} + +bool AxacussOffice2::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_CLOSE) && (obj1._id == DOOR) && + obj1.hasProperty(OPENED)) { + _vm->renderImage(_gm->invertSection(9)); + obj1.disableProperty(OPENED); + obj1.setProperty(CLOSED); + _vm->playSound(kAudioDoorClose); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR) && !getObject(0)->hasProperty(OPENED)) { + _vm->renderImage(9); + getObject(0)->disableProperty(CLOSED); + getObject(0)->setProperty(OPENED); + _vm->playSound(kAudioDoorOpen); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, COMPUTER, MAGNET)) { + _vm->renderImage(4); + setSectionVisible(16, false); + _vm->playSound(kAudioSmash); + } else if ((verb == ACTION_LOOK) && (obj1._id == COMPUTER)) { + if (isSectionVisible(4)) + _vm->renderMessage(kStringBroken); + else + _gm->telomat(1); + } else + return false; + + return true; +} + +bool AxacussOffice3::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_CLOSE) && (obj1._id == DOOR) && + obj1.hasProperty(OPENED)) { + _vm->renderImage(_gm->invertSection(3)); + obj1.disableProperty(OPENED); + obj1.setProperty(CLOSED); + _vm->playSound(kAudioDoorClose); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR) && + !getObject(0)->hasProperty(OPENED)) { + _vm->renderImage(3); + getObject(0)->disableProperty(CLOSED); + getObject(0)->setProperty(OPENED); + _vm->playSound(kAudioDoorOpen); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, COMPUTER, MAGNET)) { + _vm->renderImage(4); + _vm->playSound(kAudioSmash); + } else if ((verb == ACTION_LOOK) && (obj1._id == COMPUTER)) { + if (isSectionVisible(4)) + _vm->renderMessage(kStringBroken); + else + _gm->telomat(2); + } else if ((verb == ACTION_LOOK) && (obj1._id == PAINTING)) { + _vm->renderMessage(kStringAxacussOffice3_1); + _gm->takeMoney(300); + obj1._id = NULLOBJECT; + } else + return false; + + return true; +} + +bool AxacussOffice4::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_CLOSE) && (obj1._id == DOOR) && obj1.hasProperty(OPENED)) { + _vm->renderImage(_gm->invertSection(3)); + obj1.disableProperty(OPENED); + obj1.setProperty(CLOSED); + _vm->playSound(kAudioDoorClose); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR) && + !getObject(0)->hasProperty(OPENED)) { + _vm->renderImage(3); + getObject(0)->disableProperty(CLOSED); + getObject(0)->setProperty(OPENED); + _vm->playSound(kAudioDoorOpen); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, COMPUTER, MAGNET)) { + _vm->renderImage(4); + _vm->playSound(kAudioSmash); + } else if ((verb == ACTION_LOOK) && (obj1._id == COMPUTER)) { + if (isSectionVisible(4)) + _vm->renderMessage(kStringBroken); + else + _gm->telomat(3); + } else + return false; + + return true; +} + +void AxacussOffice5::onEntrance() { + _gm->great(5); +} + +bool AxacussOffice5::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_USE) && Object::combine(obj1, obj2, COMPUTER, MAGNET)) { + _vm->renderImage(4); + _vm->playSound(kAudioSmash); + } else if ((verb == ACTION_TAKE) && (obj1._id == MONEY)) { + _vm->renderImage(_gm->invertSection(5)); + obj1._click = 255; + _gm->takeMoney(350); + } else + return false; + + return true; +} + +bool AxacussElevator::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_WALK) && (obj1._id == DOOR)) { + g_system->fillScreen(kColorBlack); + _vm->setCurrentImage(41); + _vm->renderImage(0); + _vm->paletteBrightness(); + _gm->reply(kStringAxacussElevator_1, 1, 1 + 128); + _gm->say(kStringAxacussElevator_2); + g_system->fillScreen(kColorBlack); + } else if ((verb == ACTION_PRESS) && (obj1._id == BUTTON1)) { + if (!isSectionVisible(3)) { + _vm->renderImage(1); + getObject(2)->resetProperty(); + _vm->playSound(kAudioSlideDoor); + _gm->wait2(25); + for (int i = 3; i <= 7; i++) { + _gm->wait2(2); + _vm->renderImage(i); + } + getObject(3)->resetProperty(EXIT); + getObject(3)->_click = 2; + _vm->renderImage(_gm->invertSection(1)); + if (!(_gm->_state._greatFlag & 0x4000)) { + _vm->playSound(kAudioFoundLocation); + _gm->_state._greatFlag |= 0x4000; + } + } + } else if ((verb == ACTION_PRESS) && (obj1._id == BUTTON2)) { + if (isSectionVisible(3)) { + _vm->renderImage(2); + getObject(3)->resetProperty(); + getObject(3)->_click = 255; + _vm->playSound(kAudioSlideDoor); + for (int i = 7; i >= 3; i--) { + _gm->wait2(2); + _vm->renderImage(_gm->invertSection(i)); + } + _gm->wait2(25); + _vm->playSound(kAudioSlideDoor); + getObject(2)->resetProperty(EXIT); + _vm->renderImage(_gm->invertSection(2)); + } + } else if ((verb == ACTION_WALK) && (obj1._id == JUNGLE)) { + _vm->paletteFadeOut(); + g_system->fillScreen(kColorBlack); + _vm->_menuBrightness = 255; + _vm->paletteBrightness(); + _vm->renderMessage(kStringAxacussElevator_3); + _gm->waitOnInput(_gm->_timer1); + _vm->removeMessage(); + _vm->_menuBrightness = 0; + _vm->paletteBrightness(); + _gm->_state._time += ticksToMsec(125000); // 2 hours + _gm->_state._alarmOn = (_gm->_state._timeAlarm > _gm->_state._time); + return false; + } else + return false; + + return true; +} + +bool AxacussStation::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_LOOK) && (obj1._id == STATION_SIGN)) { + _gm->changeRoom(SIGN); + } else if ((verb == ACTION_WALK) && (obj1._id == DOOR) && obj1.hasProperty(OPENED)) { + _gm->great(0); + _vm->paletteFadeOut(); + _vm->setCurrentImage(35); + _vm->renderImage(0); + _vm->renderImage(1); + _vm->paletteFadeIn(); + _gm->wait2(10); + for (int i = 8; i <= 21; i++) { + _vm->renderImage(i); + _gm->wait2(2); + _vm->renderImage(_gm->invertSection(i)); + } + _gm->wait2(18); + _vm->renderImage(_gm->invertSection(1)); + for (int i = 2; i <= 7; i++) { + _vm->renderImage(i); + _gm->wait2(3); + _vm->renderImage(_gm->invertSection(i)); + } + _gm->outro(); + } else + return false; + + return true; +} + +bool AxacussSign::interact(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_USE) && Object::combine(obj1, obj2, STATION_SLOT, MONEY) && + isSectionVisible(1)) { + _gm->takeMoney(-180); + _vm->renderImage(2); + setSectionVisible(1, false); + _gm->_state._eventTime = _gm->_state._time + ticksToMsec(600); + _gm->_state._eventCallback = kTaxiFn; + return true; + } + return false; +} + +Outro::Outro(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = -1; + _id = OUTRO; + _shown[0] = kShownFalse; + + outroText = + _vm->getGameString(kStringOutro1) + + _vm->getGameString(kStringOutro2) + + _vm->getGameString(kStringOutro3) + + _vm->getGameString(kStringOutro4) + + _vm->getGameString(kStringOutro5) + + _vm->getGameString(kStringOutro6) + + _vm->getGameString(kStringOutro7) + + _vm->getGameString(kStringOutro8) + + _vm->getGameString(kStringOutro9) + + _vm->getGameString(kStringOutro10) + + _vm->getGameString(kStringOutro11) + + _vm->getGameString(kStringOutro12) + + _vm->getGameString(kStringOutro13) + + _vm->getGameString(kStringOutro14); +} + +void Outro::onEntrance() { +} + +void Outro::animation() { +} + +void Outro::animate(int filenumber, int section1, int section2, int duration) { + _vm->setCurrentImage(filenumber); + while (duration) { + _vm->renderImage(section1); + _gm->wait2(2); + _vm->renderImage(section2); + _gm->wait2(2); + --duration; + } +} + +void Outro::animate(int filenumber, int section1, int section2, int duration, + MessagePosition position, const char *text) { + _vm->renderMessage(text, position); + int delay = (Common::strnlen(text, 512) + 20) * (10 - duration) * _vm->_textSpeed / 400; + _vm->setCurrentImage(filenumber); + while (delay) { + if (section1) + _vm->renderImage(section1); + _gm->wait2(2); + if (section2) + _vm->renderImage(section2); + _gm->wait2(2); + --delay; + } + _vm->removeMessage(); +} + +void Outro::animate(int filenumber, int section1, int section2, int section3, int section4, + int duration, MessagePosition position, const char *text) { + _vm->renderMessage(text, position); + if (duration == 0) + duration = (Common::strnlen(text, 512) + 20) * _vm->_textSpeed / 40; + + _vm->setCurrentImage(filenumber); + while(duration) { + _vm->renderImage(section1); + _vm->renderImage(section3); + _gm->wait2(2); + _vm->renderImage(section2); + _vm->renderImage(section4); + _gm->wait2(2); + duration--; + } + _vm->removeMessage(); +} + +} diff --git a/engines/supernova/rooms.h b/engines/supernova/rooms.h new file mode 100644 index 0000000000..a16f57ee52 --- /dev/null +++ b/engines/supernova/rooms.h @@ -0,0 +1,1388 @@ +/* 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 SUPERNOVA_ROOMS_H +#define SUPERNOVA_ROOMS_H + +#include "common/scummsys.h" + +#include "msn_def.h" + +namespace Supernova { + +class GameManager; +class SupernovaEngine; + +class Room { +public: + Room() { + _seen = false; + for (int i = 0; i < kMaxSection; ++i) + _shown[i] = kShownFalse; + for (int i = 0; i < kMaxDialog; ++i) + _sentenceRemoved[i] = 0; + } + + bool hasSeen() { + return _seen; + } + void setRoomSeen(bool seen) { + _seen = seen; + } + + int getFileNumber() const { + return _fileNumber; + } + RoomID getId() const { + return _id; + } + + void setSectionVisible(uint section, bool visible) { + _shown[section] = visible ? kShownTrue : kShownFalse; + } + + bool isSectionVisible(uint index) const { + return _shown[index] == kShownTrue; + } + + void removeSentence(int sentence, int number) { + if (number > 0) + _sentenceRemoved[number - 1] |= (1 << sentence); + } + + void addSentence(int sentence, int number) { + if (number > 0) + _sentenceRemoved[number - 1] &= ~(1 << sentence); + } + + void addAllSentences(int number) { + if (number > 0) + _sentenceRemoved[number - 1] = 0; + } + + bool sentenceRemoved(int sentence, int number) { + if (number <= 0) + return false; + return (_sentenceRemoved[number - 1] & (1 << sentence)); + } + + bool allSentencesRemoved(int maxSentence, int number) { + if (number <= 0) + return false; + for (int i = 0, flag = 1 ; i < maxSentence ; ++i, flag <<= 1) + if (!(_sentenceRemoved[number - 1] & flag)) + return false; + return true; + } + + Object *getObject(uint index) { + return &_objectState[index]; + } + + virtual ~Room() {} + virtual void animation() {} + virtual void onEntrance() {} + virtual bool interact(Action verb, Object &obj1, Object &obj2) { + return false; + } + virtual bool serialize(Common::WriteStream *out); + virtual bool deserialize(Common::ReadStream *in, int version); + +protected: + int _fileNumber; + bool _shown[kMaxSection]; + byte _sentenceRemoved[kMaxDialog]; + Object _objectState[kMaxObject]; + RoomID _id; + SupernovaEngine *_vm; + GameManager *_gm; + +private: + bool _seen; +}; + +// Room 0 +class Intro : public Room { +public: + Intro(SupernovaEngine *vm, GameManager *gm); + virtual void onEntrance(); + +private: + bool animate(int section1, int section2, int duration); + bool animate(int section1, int section2, int duration, MessagePosition position, + StringID text); + bool animate(int section1, int section2, int section3, int section4, int duration, + MessagePosition position, StringID text); + + void titleScreen(); + void titleFadeIn(); + void cutscene(); + void leaveCutscene(); + + bool _shouldExit; + Common::String introText; +}; + +// Spaceship +class ShipCorridor : public Room { +public: + ShipCorridor(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 17; + _id = CORRIDOR; + _shown[0] = kShownTrue; + _shown[4] = kShownTrue; + + _objectState[0] = Object(_id, kStringHatch, kStringDefaultDescription, HATCH1, OPENABLE | EXIT, 0, 6, 1, CABIN_L1, 15); + _objectState[1] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | EXIT, 1, 7, 2, CABIN_L2, 10); + _objectState[2] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | EXIT, 2, 8, 3, CABIN_L3, 5); + _objectState[3] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | EXIT, 5, 11, 6, CABIN_R1, 19); + _objectState[4] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | EXIT, 4, 10, 5, CABIN_R2, 14); + _objectState[5] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | EXIT | OPENED, 9, 3, 4, CABIN_R3, 9); + _objectState[6] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | CLOSED | EXIT, 12, 12, 0, AIRLOCK, 2); + _objectState[7] = Object(_id, kStringButton, kStringHatchButtonDescription, BUTTON, PRESS, 13, 13, 0, NULLROOM, 0); + _objectState[8] = Object(_id, kStringLadder, kStringDefaultDescription, NULLOBJECT, NULLTYPE, 14, 14, 0, NULLROOM, 0); + _objectState[9] = Object(_id, kStringExit, kStringDefaultDescription, NULLOBJECT, EXIT, 15, 15, 0, HALL, 22); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; + +class ShipHall: public Room { +public: + ShipHall(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 15; + _id = HALL; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringHatch, kStringCockpitHatchDescription, NULLOBJECT, OPENABLE | EXIT, 4, 5, 1, COCKPIT, 10); + _objectState[1] = Object(_id, kStringHatch, kStringKitchenHatchDescription, KITCHEN_HATCH, OPENABLE | EXIT, 0, 0, 0, NULLROOM, 1); + _objectState[2] = Object(_id, kStringHatch, kStringStasisHatchDescription, NULLOBJECT, OPENABLE | CLOSED | EXIT, 1, 1, 2, SLEEP, 8); + _objectState[3] = Object(_id, kStringSlot, kStringSlotDescription, SLEEP_SLOT, COMBINABLE, 2, 2, 0, NULLROOM, 0); + _objectState[4] = Object(_id, kStringLadder, kStringDefaultDescription, NULLOBJECT, NULLTYPE, 3, SLEEP, 0, NULLROOM, 0); + _objectState[5] = Object(_id, kStringCorridor, kStringDefaultDescription, NULLOBJECT, EXIT, 6, 6, 0, CORRIDOR, 19); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; + +class ShipSleepCabin: public Room { +public: + ShipSleepCabin(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 33; + _id = SLEEP; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringHatch, kStringStasisHatchDescription2, CABINS, NULLTYPE, 0, 0, 0, NULLROOM, 0); + _objectState[1] = Object(_id, kStringHatch, kStringStasisHatchDescription2, CABIN, NULLTYPE, 1, 1, 0, NULLROOM, 0); + _objectState[2] = Object(_id, kStringComputer, kStringDefaultDescription, COMPUTER, NULLTYPE, 2, 2, 0, NULLROOM, 0); + _objectState[3] = Object(_id, kStringExit, kStringDefaultDescription, NULLOBJECT, EXIT, 255, 255, 0, HALL, 22); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); + virtual void animation(); + virtual void onEntrance(); + +private: + byte _color; +}; + +class ShipCockpit : public Room { +public: + ShipCockpit(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 9; + _id = COCKPIT; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringInstruments, kStringInstrumentsDescription1, INSTRUMENTS, NULLTYPE, 2, 2, 0, NULLROOM, 0); + _objectState[1] = Object(_id, kStringMonitor, kStringDefaultDescription, MONITOR, NULLTYPE, 0, 0, 0, NULLROOM, 0); + _objectState[2] = Object(_id, kStringMonitor, kStringMonitorDescription, NULLOBJECT, TAKE, 1, 0, 0, NULLROOM, 0); + _objectState[3] = Object(_id, kStringExit, kStringDefaultDescription, NULLOBJECT, EXIT, 255, 255, 0, HALL, 22); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); + virtual void animation(); + virtual void onEntrance(); + +private: + byte _color; +}; + +class ShipCabinL1: public Room { +public: + ShipCabinL1(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 21; + _id = CABIN_L1; + _shown[0] = kShownTrue; + _shown[1] = kShownTrue; + _shown[2] = kShownTrue; + _shown[3] = kShownTrue; + _shown[4] = kShownTrue; + _shown[5] = kShownTrue; + + _objectState[0] = Object(_id, kStringImage, kStringGenericDescription1, NULLOBJECT, UNNECESSARY, 5, 5, 0, NULLROOM, 0); + _objectState[1] = Object(_id, kStringImage, kStringGenericDescription2, NULLOBJECT, UNNECESSARY, 6, 6, 0, NULLROOM, 0); + _objectState[2] = Object(_id, kStringImage, kStringGenericDescription3, NULLOBJECT, UNNECESSARY, 7, 7, 0, NULLROOM, 0); + _objectState[3] = Object(_id, kStringMagnete, kStringMagneteDescription, NULLOBJECT, UNNECESSARY, 8, 8, 0, NULLROOM, 0); + _objectState[4] = Object(_id, kStringImage, kStringGenericDescription4, NULLOBJECT, UNNECESSARY, 9, 9, 0); + _objectState[5] = Object(_id, kStringPen, kStringPenDescription, PEN, TAKE | COMBINABLE, 10, 10, 5 | 128); + _objectState[6] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | OPENED | EXIT, 3, 3, 24 | 128, CORRIDOR, 9); + _objectState[7] = Object(_id, kStringSlot, kStringSlotDescription, NULLOBJECT, COMBINABLE, 0, 0, 0); + _objectState[8] = Object(_id, kStringShelf, kStringDefaultDescription, NULLOBJECT, OPENABLE | CLOSED, 1, 1, 0); + _objectState[9] = Object(_id, kStringCompartment, kStringDefaultDescription, NULLOBJECT, OPENABLE | CLOSED, 2, 2, 0); + _objectState[10] = Object(_id, kStringSocket, kStringDefaultDescription, SOCKET, COMBINABLE, 4, 4, 0); + _objectState[11] = Object(_id, kStringToilet, kStringDefaultDescription, BATHROOM_DOOR, EXIT, 255, 255, 0, BATHROOM, 22); + } +}; + +class ShipCabinL2 : public Room { +public: + ShipCabinL2(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 21; + _id = CABIN_L2; + _shown[0] = kShownTrue; + _shown[16] = kShownTrue; + + _objectState[0] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_KL1,COMBINABLE,31,31,0); + _objectState[1] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_KL2,COMBINABLE,32,32,0); + _objectState[2] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_KL3,COMBINABLE,33,33,0); + _objectState[3] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_KL4,COMBINABLE,45,45,0); + _objectState[4] = Object(_id, kStringShelf,kStringDefaultDescription,SHELF_L1,OPENABLE | CLOSED,25,26,17); + _objectState[5] = Object(_id, kStringPistol,kStringPistolDescription,PISTOL,TAKE,39,39,20); + _objectState[6] = Object(_id, kStringCompartment,kStringDefaultDescription,SHELF_L2,OPENABLE | CLOSED,27,28,18); + _objectState[7] = Object(_id, kStringBooks,kStringBooksDescription,NULLOBJECT,UNNECESSARY,40,40,0); + _objectState[8] = Object(_id, kStringCompartment,kStringDefaultDescription,SHELF_L3,OPENABLE | CLOSED,29,30,19); + _objectState[9] = Object(_id, kStringSpool,kStringSpoolDescription, SPOOL,TAKE | COMBINABLE,41,41,21); + _objectState[10] = Object(_id, kStringCompartment,kStringDefaultDescription,SHELF_L4,OPENABLE | CLOSED,43,44,22); + _objectState[11] = Object(_id, kStringBook,kStringDefaultDescription,BOOK2,TAKE,46,46,23); + _objectState[12] = Object(_id, kStringUnderwear,kStringUnderwearDescription,NULLOBJECT,UNNECESSARY,34,34,0); + _objectState[13] = Object(_id, kStringUnderwear,kStringUnderwearDescription,NULLOBJECT,UNNECESSARY,35,35,0); + _objectState[14] = Object(_id, kStringClothes,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,36,36,0); + _objectState[15] = Object(_id, kStringJunk,kStringJunkDescription,NULLOBJECT,UNNECESSARY,37,37,0); + _objectState[16] = Object(_id, kStringJunk,kStringJunkDescription,NULLOBJECT,UNNECESSARY,38,38,0); + _objectState[17] = Object(_id, kStringMagnete,kStringMagneteDescription,NULLOBJECT,UNNECESSARY,23,23,0); + _objectState[18] = Object(_id, kStringToilet,kStringDefaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22); + _objectState[19] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,24 | 128,CORRIDOR,9); + _objectState[20] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,0,0,0); + _objectState[21] = Object(_id, kStringShelf,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0); + _objectState[22] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0); + _objectState[23] = Object(_id, kStringSocket,kStringDefaultDescription,SOCKET,COMBINABLE,4,4,0); + _objectState[24] = Object(_id, kStringFolders,kStringFoldersDescription,NULLOBJECT,UNNECESSARY,49,49,0); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; + +class ShipCabinL3 : public Room { +public: + ShipCabinL3(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 21; + _id = CABIN_L3; + _shown[0] = kShownTrue; + _shown[6] = kShownTrue; + _shown[7] = kShownTrue; + _shown[8] = kShownTrue; + _shown[9] = kShownTrue; + _shown[12] = kShownTrue; + + _objectState[0] = Object(_id, kStringPoster,kStringPosterDescription1,NULLOBJECT,UNNECESSARY,11,11,0); + _objectState[1] = Object(_id, kStringPoster,kStringPosterDescription2,NULLOBJECT,UNNECESSARY,12,12,0); + _objectState[2] = Object(_id, kStringSpeaker,kStringDefaultDescription,NULLOBJECT,NULLTYPE,13,13,0); + _objectState[3] = Object(_id, kStringMagnete,kStringMagneteDescription,NULLOBJECT,UNNECESSARY,14,14,0); + _objectState[4] = Object(_id, kStringRecord,kStringRecordDescription,RECORD,TAKE | COMBINABLE,15,15,8 | 128); + _objectState[5] = Object(_id, kStringRecordStand,kStringRecordStandDescription,NULLOBJECT,UNNECESSARY,16,16,0); + _objectState[6] = Object(_id, kStringButton,kStringDefaultDescription,TURNTABLE_BUTTON,PRESS,22,22,0); + _objectState[7] = Object(_id, kStringTurntable,kStringTurntableDescription,TURNTABLE,UNNECESSARY | COMBINABLE,17,17,0); + _objectState[8] = Object(_id, kStringWire,kStringDefaultDescription,WIRE,COMBINABLE,18,18,0); + _objectState[9] = Object(_id, kStringWire,kStringDefaultDescription,WIRE2,COMBINABLE,19,19,0); + _objectState[10] = Object(_id, kStringPlug,kStringDefaultDescription,PLUG,COMBINABLE,20,20,0); + _objectState[11] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,24 | 128,CORRIDOR,9); + _objectState[12] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,0,0,0); + _objectState[13] = Object(_id, kStringShelf,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0); + _objectState[14] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0); + _objectState[15] = Object(_id, kStringSocket,kStringDefaultDescription,SOCKET,COMBINABLE,4,4,0); + _objectState[16] = Object(_id, kStringToilet,kStringDefaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; + +class ShipCabinR1 : public Room { +public: + ShipCabinR1(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 22; + _id = CABIN_R1; + _shown[0] = kShownTrue; + _shown[1] = kShownTrue; + _shown[2] = kShownTrue; + + _objectState[0] = Object(_id, kStringImage,kStringImageDescription1,NULLOBJECT,UNNECESSARY,5,5,0); + _objectState[1] = Object(_id, kStringDrawingInstruments,kStringDrawingInstrumentsDescription,NULLOBJECT,UNNECESSARY,6,6,0); + _objectState[2] = Object(_id, kStringMagnete,kStringMagneteDescription,NULLOBJECT,UNNECESSARY,7,7,0); + _objectState[3] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,15 | 128,CORRIDOR,5); + _objectState[4] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,0,0,0); + _objectState[5] = Object(_id, kStringShelf,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0); + _objectState[6] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0); + _objectState[7] = Object(_id, kStringSocket,kStringDefaultDescription,SOCKET,COMBINABLE,4,4,0); + _objectState[8] = Object(_id, kStringToilet,kStringDefaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22); + } +}; + +class ShipCabinR2 : public Room { +public: + ShipCabinR2(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 22; + _id = CABIN_R2; + _shown[0] = kShownTrue; + _shown[3] = kShownTrue; + _shown[4] = kShownTrue; + _shown[5] = kShownTrue; + + _objectState[0] = Object(_id, kStringChessGame,kStringChessGameDescription1,NULLOBJECT,UNNECESSARY,11,11,0); + _objectState[1] = Object(_id, kStringTennisRacket,kStringTennisRacketDescription,NULLOBJECT,UNNECESSARY,8,8,0); + _objectState[2] = Object(_id, kStringTennisBall,kStringGenericDescription2,NULLOBJECT,UNNECESSARY,9,9,0); + _objectState[3] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,15 | 128,CORRIDOR,5); + _objectState[4] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,0,0,0); + _objectState[5] = Object(_id, kStringShelf,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0); + _objectState[6] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0); + _objectState[7] = Object(_id, kStringSocket,kStringDefaultDescription,SOCKET,COMBINABLE,4,4,0); + _objectState[8] = Object(_id, kStringToilet,kStringDefaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22); + } +}; + +class ShipCabinR3 : public Room { +public: + ShipCabinR3(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 22; + _id = CABIN_R3; + _shown[0] = kShownTrue; + _shown[7] = kShownTrue; + _shown[8] = kShownTrue; + _shown[15] = kShownTrue; + + _objectState[0] = Object(_id, kStringChessGame,kStringChessGameDescription2,CHESS,TAKE | COMBINABLE,12,12,7 | 128); + _objectState[1] = Object(_id, kStringBed,kStringBedDescription,NULLOBJECT,NULLTYPE,13,13,0); + _objectState[2] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_K1,COMBINABLE,27,27,0); + _objectState[3] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_K2,COMBINABLE,28,28,0); + _objectState[4] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_K3,COMBINABLE,29,29,0); + _objectState[5] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_K4,COMBINABLE,30,30,0); + _objectState[6] = Object(_id, kStringCompartment,kStringCompartmentDescription,SHELF1,OPENABLE | CLOSED,14,18,9); + _objectState[7] = Object(_id, kStringAlbums,kStringAlbumsDescription,NULLOBJECT,UNNECESSARY,14,14,0); + _objectState[8] = Object(_id, kStringCompartment,kStringCompartmentDescription,SHELF2,OPENABLE | CLOSED,15,19,10); + _objectState[9] = Object(_id, kStringRope,kStringRopeDescription,ROPE,TAKE | COMBINABLE,15,15,12); + _objectState[10] = Object(_id, kStringShelf,kStringShelfDescription,SHELF3,OPENABLE | CLOSED,16,17,11); + _objectState[11] = Object(_id, kStringJunk,kStringJunkDescription,NULLOBJECT,UNNECESSARY,20,20,0); + _objectState[12] = Object(_id, kStringClothes,kStringClothesDescription,NULLOBJECT,UNNECESSARY,21,21,0); + _objectState[13] = Object(_id, kStringUnderwear,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,22,22,0); + _objectState[14] = Object(_id, kStringSocks,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,23,23,0); + _objectState[15] = Object(_id, kStringCompartment,kStringCompartmentDescription,SHELF4,OPENABLE | CLOSED,24,25,13); + _objectState[16] = Object(_id, kStringBook,kStringBookHitchhiker,BOOK,TAKE,26,26,14); + _objectState[17] = Object(_id, kStringDiscman,kStringDiscmanDescription,DISCMAN,TAKE | COMBINABLE,33,33,16); + _objectState[18] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | EXIT,3,3,15 | 128,CORRIDOR,5); + _objectState[19] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,0,0,0); + _objectState[20] = Object(_id, kStringShelf,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0); + _objectState[21] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0); + _objectState[22] = Object(_id, kStringSocket,kStringDefaultDescription,SOCKET,COMBINABLE,4,4,0); + _objectState[23] = Object(_id, kStringToilet,kStringDefaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); + virtual void onEntrance(); +}; + +class ShipCabinBathroom : public Room { +public: + ShipCabinBathroom(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 23; + _id = BATHROOM; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringBathroom,kStringBathroomDescription,TOILET,NULLTYPE,0,0,0); + _objectState[1] = Object(_id, kStringShower,kStringDefaultDescription,SHOWER,NULLTYPE,1,1,0); + _objectState[2] = Object(_id, kStringExit,kStringDefaultDescription,BATHROOM_EXIT,EXIT,255,255,0,CABIN_R3,2); + } +}; + +class ShipAirlock : public Room { +public: + ShipAirlock(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 34; + _id = AIRLOCK; + _shown[0] = kShownTrue; + _shown[6] = kShownTrue; + + _objectState[0] = Object(_id, kStringHatch,kStringHatchDescription1,NULLOBJECT,EXIT | OPENABLE | OPENED | CLOSED,0,0,0,CORRIDOR,10); + _objectState[1] = Object(_id, kStringHatch,kStringHatchDescription2,NULLOBJECT,EXIT | OPENABLE | CLOSED,1,1,0,HOLD,14); + _objectState[2] = Object(_id, kStringButton,kStringDefaultDescription,BUTTON1,PRESS,2,2,0); + _objectState[3] = Object(_id, kStringButton,kStringDefaultDescription,BUTTON2,PRESS,3,3,0); + _objectState[4] = Object(_id, kStringHelmet,kStringHelmetDescription,HELMET,TAKE,4,4,7); + _objectState[5] = Object(_id, kStringSuit,kStringSuitDescription,SUIT,TAKE,5,5,8); + _objectState[6] = Object(_id, kStringLifeSupport,kStringLifeSupportDescription,LIFESUPPORT,TAKE,6,6,9); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); + virtual void onEntrance(); +}; + +class ShipHold : public Room { +public: + ShipHold(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 24; + _id = HOLD; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kNoString,kStringDefaultDescription,HOLD_WIRE,COMBINABLE,255,255,0); + _objectState[1] = Object(_id, kStringScrap,kStringScrapDescription1,SCRAP_LK,NULLTYPE,4,4,0); + _objectState[2] = Object(_id, kStringTerminalStrip,kStringDefaultDescription,TERMINALSTRIP,COMBINABLE,255,255,0); + _objectState[3] = Object(_id, kStringScrap,kStringScrapDescription2,NULLOBJECT,NULLTYPE,5,5,0); + _objectState[4] = Object(_id, kStringReactor,kStringReactorDescription,NULLOBJECT,NULLTYPE,6,6,0); + _objectState[5] = Object(_id, kStringNozzle,kStringDefaultDescription,NULLOBJECT,NULLTYPE,7,7,0); + _objectState[6] = Object(_id, kStringPumpkin,kStringPumpkinDescription,NULLOBJECT,NULLTYPE,8,8,0); + _objectState[7] = Object(_id, kStringHatch,kStringDefaultDescription,LANDINGMOD_OUTERHATCH,EXIT | OPENABLE,1,2,2,LANDINGMODULE,6); + _objectState[8] = Object(_id, kStringLandingModule,kStringLandingModuleDescription,NULLOBJECT,NULLTYPE,0,0,0); + _objectState[9] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,AIRLOCK,22); + _objectState[10] = Object(_id, kStringHatch,kStringHatchDescription3,OUTERHATCH_TOP,EXIT | OPENABLE | OPENED,3,3,0,GENERATOR,8); + _objectState[11] = Object(_id, kStringGenerator,kStringGeneratorDescription,GENERATOR_TOP,EXIT,12,12,0,GENERATOR,8); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); + virtual void onEntrance(); +}; + +class ShipLandingModule : public Room { +public: + ShipLandingModule(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 25; + _id = LANDINGMODULE; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringSocket,kStringDefaultDescription,LANDINGMOD_SOCKET,COMBINABLE,1,1,0); + _objectState[1] = Object(_id, kStringButton,kSafetyButtonDescription,LANDINGMOD_BUTTON,PRESS | COMBINABLE,2,2,0); + _objectState[2] = Object(_id, kStringMonitor,kStringDefaultDescription,LANDINGMOD_MONITOR,NULLTYPE,3,3,0); + _objectState[3] = Object(_id, kStringKeyboard,kStringDefaultDescription,KEYBOARD,NULLTYPE,4,4,0); + _objectState[4] = Object(_id, kNoString,kStringDefaultDescription,LANDINGMOD_WIRE,COMBINABLE,255,255,0); + _objectState[5] = Object(_id, kStringHatch,kStringDefaultDescription,LANDINGMOD_HATCH,EXIT | OPENABLE | OPENED | COMBINABLE, 0,0,1 | 128,HOLD,10); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; + +class ShipGenerator : public Room { +public: + ShipGenerator(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 18; + _id = GENERATOR; + _shown[0] = kShownTrue; + _shown[5] = kShownTrue; + + _objectState[0] = Object(_id, kStringGeneratorWire,kStringDefaultDescription,GENERATOR_WIRE,COMBINABLE,255,255,0); + _objectState[1] = Object(_id, kStringEmptySpool,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,255,255,0); + _objectState[2] = Object(_id, kStringKeycard2,kStringKeycard2Description,KEYCARD2,COMBINABLE | TAKE,12,12,5 | 128); + _objectState[3] = Object(_id, kStringRope,kStringDefaultDescription,GENERATOR_ROPE,COMBINABLE,255,255,0); + _objectState[4] = Object(_id, kStringHatch,kStringHatchDescription3,OUTERHATCH,EXIT | OPENABLE,1,2,1,OUTSIDE,22); + _objectState[5] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,3,3,0); + _objectState[6] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,4,4,0); + _objectState[7] = Object(_id, kStringTrap,kStringDefaultDescription,TRAP,OPENABLE,5,6,2); + _objectState[8] = Object(_id, kStringWire,kStringDefaultDescription,NULLOBJECT,NULLTYPE,7,7,0); + _objectState[9] = Object(_id, kStringVoltmeter,kStringDefaultDescription,VOLTMETER,NULLTYPE,9,9,0,NULLROOM,0); + _objectState[10] = Object(_id, kStringClip,kStringDefaultDescription,CLIP,COMBINABLE,8,8,0); + _objectState[11] = Object(_id, kStringWire,kStringWireDescription,SHORT_WIRE,COMBINABLE,10,10,0); + _objectState[12] = Object(_id, kStringLadder,kStringDefaultDescription,LADDER,EXIT,0,0,0,HOLD,1); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; + +class ShipOuterSpace : public Room { +public: + ShipOuterSpace(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 4; + _id = OUTSIDE; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,EXIT,0,0,0,GENERATOR,3); + _objectState[1] = Object(_id, kStringRope,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,255,255,0); + } +}; + +// Arsano +class ArsanoRocks : public Room { +public: + ArsanoRocks(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 12; + _id = OUTSIDE; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringRope,kStringDefaultDescription,NULLOBJECT,UNNECESSARY | EXIT,0,0,0,GENERATOR,12); + _objectState[1] = Object(_id, kStringStone,kStringDefaultDescription,STONE,NULLTYPE,1,1,0); + _objectState[2] = Object(_id, kStringStone,kStringDefaultDescription,NULLOBJECT,NULLTYPE,2,2,0); + _objectState[3] = Object(_id, kStringCaveOpening,kStringCaveOpeningDescription,NULLOBJECT,NULLTYPE,255,255,0,CAVE,1); + } + + virtual void onEntrance(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class ArsanoCave : public Room { +public: + ArsanoCave(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 12; + _id = CAVE; + + _objectState[0] = Object(_id, kStringExit,kStringExitDescription,NULLOBJECT,EXIT,255,255,0,ROCKS,22); + _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,MEETUP,2); + } +}; +class ArsanoMeetup : public Room { +public: + ArsanoMeetup(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 37; + _id = MEETUP; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringCave,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,CAVE,22); + _objectState[1] = Object(_id, kStringSign,kStringSignDescription,MEETUP_SIGN,NULLTYPE,0,0,0); + _objectState[2] = Object(_id, kStringEntrance,kStringDefaultDescription,DOOR,EXIT,1,1,0,ENTRANCE,7); + _objectState[3] = Object(_id, kStringStar,kStringDefaultDescription,STAR,NULLTYPE,2,2,0); + _objectState[4] = Object(_id, kStringSpaceshift,kStringDefaultDescription,SPACESHIPS,COMBINABLE,3,3,0); + _objectState[5] = Object(_id, kStringSpaceshift,kStringDefaultDescription,SPACESHIP,COMBINABLE,4,4,0); + } + + virtual void onEntrance(); + virtual void animation(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + byte _sign; + byte _beacon; +}; +class ArsanoEntrance : public Room { +public: + ArsanoEntrance(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 10; + _id = ENTRANCE; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringPorter,kStringPorterDescription,PORTER,TALK,0,0,0); + _objectState[1] = Object(_id, kStringDoor,kStringDefaultDescription,NULLOBJECT,EXIT | OPENABLE | CLOSED,1,1,0,NULLROOM,5); + _objectState[2] = Object(_id, kStringSign,kStringSignDescription,KITCHEN_SIGN,NULLTYPE,2,2,0); + _objectState[3] = Object(_id, kStringChewingGum,kStringDefaultDescription,SCHNUCK,TAKE,255,255,10+128); + _objectState[4] = Object(_id, kStringGummyBears,kStringDefaultDescription,SCHNUCK,TAKE,255,255,11+128); + _objectState[5] = Object(_id, kStringChocolateBall,kStringDefaultDescription,SCHNUCK,TAKE,255,255,12+128); + _objectState[6] = Object(_id, kStringEgg,kStringDefaultDescription,EGG,TAKE,255,255,13+128); + _objectState[7] = Object(_id, kStringLiquorice,kStringDefaultDescription,SCHNUCK,TAKE,255,255,14+128); + _objectState[8] = Object(_id, kStringPill,kStringPillDescription,PILL,TAKE,255,255,0); + _objectState[9] = Object(_id, kStringSlot,kStringDefaultDescription,CAR_SLOT,COMBINABLE,6,6,0); + _objectState[10] = Object(_id, kStringVendingMachine,kStringVendingMachineDescription,NULLOBJECT,NULLTYPE,5,5,0); + _objectState[11] = Object(_id, kStringToilet,kStringToiletDescription,ARSANO_BATHROOM,NULLTYPE,255,255,0); + _objectState[12] = Object(_id, kStringButton,kStringDefaultDescription,BATHROOM_BUTTON,PRESS,3,3,0); + _objectState[13] = Object(_id, kStringSign,kStringSignDescription,BATHROOM_SIGN,NULLTYPE,4,4,0); + _objectState[14] = Object(_id, kStringStaircase,kStringDefaultDescription,STAIRCASE,EXIT,8,8,0,REST,3); + _objectState[15] = Object(_id, kStringExit,kStringDefaultDescription,MEETUP_EXIT,EXIT,255,255,0,MEETUP,22); + _objectState[16] = Object(_id, kStringCoins,kStringCoinsDescription,COINS,TAKE|COMBINABLE,255,255,0); + _objectState[17] = Object(_id, kStringTabletPackage,kStringTabletPackageDescription,PILL_HULL,TAKE,255,255,0); + + _dialog1[0] = kStringArsanoDialog7; + _dialog1[1] = kStringArsanoDialog1; + _dialog1[2] = kStringArsanoDialog8; + _dialog1[3] = kStringArsanoDialog9; + _dialog1[4] = kStringDialogSeparator; + + _dialog2[0] = kStringArsanoDialog1; + _dialog2[1] = kStringArsanoDialog2; + _dialog2[2] = kStringArsanoDialog3; + _dialog2[3] = kStringArsanoDialog4; + _dialog2[4] = kStringDialogSeparator; + + _dialog3[0] = kStringArsanoDialog5; + _dialog3[1] = kStringArsanoDialog6; + + _eyewitness = 5; + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); + virtual void animation(); + +private: + StringID _dialog1[5]; + StringID _dialog2[5]; + StringID _dialog3[5]; + byte _eyewitness; +}; +class ArsanoRemaining : public Room { +public: + ArsanoRemaining(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 28; + _id = REST; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringStaircase,kStringDefaultDescription,NULLOBJECT,EXIT,0,0,0,ENTRANCE,17); + _objectState[1] = Object(_id, kStringChair,kStringDefaultDescription,NULLOBJECT,EXIT,1,1,0,ROGER,2); + _objectState[2] = Object(_id, kStringShoes,kStringShoesDescription,NULLOBJECT,NULLTYPE,2,2,0); + + _chewing = kShownTrue; + } + + virtual void animation(); + +private: + bool _chewing; + int _i; +}; +class ArsanoRoger : public Room { +public: + ArsanoRoger(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 29; + _id = ROGER; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,REST,19); + _objectState[1] = Object(_id, kStringFrogFace,kStringDefaultDescription,ROGER_W,TALK,0,0,0); + _objectState[2] = Object(_id, kStringScrible,kStringScribleDescription,NULLOBJECT,NULLTYPE,3,3,0); + _objectState[3] = Object(_id, kStringWallet,kStringDefaultDescription,WALLET,TAKE,1,1,4); + _objectState[4] = Object(_id, kStringMenu,kStringMenuDescription,NULLOBJECT,UNNECESSARY,2,2,0); + _objectState[5] = Object(_id, kStringCup,kStringCupDescription,CUP,UNNECESSARY,4,4,0); + _objectState[6] = Object(_id, kStringChessGame,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,255,255,0); + _objectState[7] = Object(_id, kStringBill,kStringBillDescription,NULLOBJECT,TAKE|COMBINABLE,255,255,0); + _objectState[8] = Object(_id, kStringKeycard3,kStringDefaultDescription,KEYCARD_R,TAKE|COMBINABLE,255,255,0); + + _dialog1[0] = kStringDialogArsanoRoger1; + _dialog1[1] = kStringDialogArsanoRoger2; + _dialog1[2] = kStringDialogArsanoRoger3; + _dialog1[3] = kStringDialogSeparator; + + _eyewitness = 5; + } + + virtual void animation(); + virtual void onEntrance(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + StringID _dialog1[4]; + byte _eyewitness; + byte _hands; +}; +class ArsanoGlider : public Room { +public: + ArsanoGlider(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 19; + _id = GLIDER; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,MEETUP,15); + _objectState[1] = Object(_id, kStringButton,kStringDefaultDescription,GLIDER_BUTTON1,PRESS,0,0,0); + _objectState[2] = Object(_id, kStringButton,kStringDefaultDescription,GLIDER_BUTTON2,PRESS,1,1,0); + _objectState[3] = Object(_id, kStringButton,kStringDefaultDescription,GLIDER_BUTTON3,PRESS,2,2,0); + _objectState[4] = Object(_id, kStringButton,kStringDefaultDescription,GLIDER_BUTTON4,PRESS,3,3,0); + _objectState[5] = Object(_id, kStringKeycard,kStringDefaultDescription,GLIDER_KEYCARD,TAKE|COMBINABLE,255,255,0); + _objectState[6] = Object(_id, kStringSlot,kStringDefaultDescription,GLIDER_SLOT,COMBINABLE,4,4,0); + _objectState[7] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE,5,6,6); + _objectState[8] = Object(_id, kStringKeyboard,kStringDefaultDescription,GLIDER_BUTTONS,NULLTYPE,7,7,0); + _objectState[9] = Object(_id, kStringAnnouncement,kStringAnnouncementDescription,GLIDER_DISPLAY,NULLTYPE,8,8,0); + _objectState[10] = Object(_id, kStringInstruments,kStringAnnouncementDescription,GLIDER_INSTRUMENTS,NULLTYPE,9,9,0); + } + + virtual void animation(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + byte _sinus; +}; +class ArsanoMeetup2 : public Room { +public: + ArsanoMeetup2(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 38; + _id = MEETUP2; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringRoger, kStringDefaultDescription, ROGER_W, TALK, 255, 255, 0); + _objectState[1] = Object(_id, kStringSpaceshift, kStringDefaultDescription, SPACESHIP, COMBINABLE, 255, 255, 0); + _objectState[2] = Object(_id, kStringCave, kStringDefaultDescription, NULLOBJECT, EXIT, 255, 255, 0, CAVE, 22); + + _dialog1[0] = kStringDialogArsanoMeetup2_1; + _dialog1[1] = kStringDialogArsanoMeetup2_2; + _dialog2[0] = kStringDialogArsanoMeetup2_3; + _dialog2[1] = kStringDialogArsanoMeetup2_4; + _dialog3[0] = kStringDialogArsanoMeetup2_5; + _dialog3[1] = kStringDialogArsanoMeetup2_6; + _dialog3[2] = kStringDialogArsanoMeetup2_7; + _dialog3[3] = kStringDialogArsanoMeetup2_8; + _dialog4[0] = kStringDialogArsanoMeetup2_9; + _dialog4[1] = kStringDialogArsanoMeetup2_10; + _dialog4[2] = kStringDialogArsanoMeetup2_11; + } + + virtual void onEntrance(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); + + void shipStart(); + +private: + // TODO: change to 6, fix initialization + StringID _dialog1[2]; + StringID _dialog2[2]; + StringID _dialog3[4]; + StringID _dialog4[3]; + + bool _found; + bool _flug; +}; +class ArsanoMeetup3 : public Room { +public: + ArsanoMeetup3(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 39; + _id = MEETUP3; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringUfo,kStringUfoDescription,UFO,EXIT,0,0,0,NULLROOM,3); + _objectState[1] = Object(_id, kStringStar,kStringDefaultDescription,STAR,NULLTYPE,1,1,0); + _objectState[2] = Object(_id, kStringCave,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,CAVE,22); + + _dialog2[0] = kStringArsanoDialog1; + _dialog2[1] = kStringDialogArsanoMeetup3_1; + _dialog2[2] = kStringDialogArsanoMeetup3_2; + _dialog2[3] = kStringDialogArsanoMeetup3_3; + _dialog3[0] = kStringDialogArsanoMeetup3_4; + _dialog3[1] = kStringDialogArsanoMeetup3_5; + + _dialogsX[0] = kStringDialogX1; + _dialogsX[1] = kStringDialogX2; + _dialogsX[2] = kStringDialogX3; + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + StringID _dialog2[4]; + StringID _dialog3[2]; + + // TODO: Hack, to be move away and renamed when the other uses are found + StringID _dialogsX[6]; + // +}; + +// Axacuss +class AxacussCell : public Room { +public: + AxacussCell(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 43; + _id = CELL; + _shown[0] = kShownTrue; + _shown[1] = kShownTrue; + _shown[31] = kShownTrue; + + _objectState[0] = Object(_id, kStringButton,kStringDefaultDescription,CELL_BUTTON,PRESS,1,1,0); + _objectState[1] = Object(_id, kStringDoor,kStringDefaultDescription,CELL_DOOR,EXIT|OPENABLE|CLOSED,0,0,31+128,CORRIDOR4,1); + _objectState[2] = Object(_id, kStringTray,kStringTrayDescription,TRAY,UNNECESSARY,255,255,0); + _objectState[3] = Object(_id, kStringLamp,kStringLampDescription,NULLOBJECT,COMBINABLE,3,3,0); + _objectState[4] = Object(_id, kStringEyes,kStringEyesDescription,NULLOBJECT,NULLTYPE,4,4,0); + _objectState[5] = Object(_id, kStringWire,kStringDefaultDescription,CELL_WIRE,COMBINABLE|TAKE,6,6,0); + _objectState[6] = Object(_id, kStringSocket,kStringSocketDescription,SOCKET,COMBINABLE,5,5,0); + _objectState[7] = Object(_id, kStringMetalBlock,kStringMetalBlockDescription,MAGNET,TAKE|COMBINABLE,255,255,30); + _objectState[8] = Object(_id, kStringRobot,kStringRobotDescription,NULLOBJECT,NULLTYPE,255,255,0); + _objectState[9] = Object(_id, kStringTable,kStringTableDescription,CELL_TABLE,COMBINABLE,2,2,0); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); + virtual void animation(); + virtual void onEntrance(); +}; +class AxacussCorridor1 : public Room { +public: + AxacussCorridor1(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 16; + _id = CORRIDOR1; + _shown[0] = kShownTrue; + _shown[3] = kShownTrue; + _shown[4] = kShownTrue; + _shown[5] = kShownTrue; + _shown[13] = kShownTrue; + _shown[21] = kShownTrue; + _shown[23] = kShownTrue; + _shown[25] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,GUARD3,2); + _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR2,22); + } + + virtual void onEntrance(); +}; +class AxacussCorridor2 : public Room { +public: + AxacussCorridor2(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 16; + _id = CORRIDOR2; + _shown[0] = kShownTrue; + _shown[2] = kShownTrue; + _shown[3] = kShownTrue; + _shown[4] = kShownTrue; + _shown[5] = kShownTrue; + _shown[17] = kShownTrue; + _shown[21] = kShownTrue; + _shown[24] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR1,2); + _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR3,22); + _objectState[2] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,1,1,0,CORRIDOR4,14); + } + + virtual void onEntrance(); +}; +class AxacussCorridor3 : public Room { +public: + AxacussCorridor3(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 16; + _id = CORRIDOR3; + _shown[0] = kShownTrue; + _shown[3] = kShownTrue; + _shown[5] = kShownTrue; + _shown[19] = kShownTrue; + _shown[23] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR2,2); + } + + virtual void onEntrance(); +}; +class AxacussCorridor4 : public Room { +public: + AxacussCorridor4(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 16; + _id = CORRIDOR4; + _shown[0] = kShownTrue; + _shown[1] = kShownTrue; + _shown[2] = kShownTrue; + _shown[8] = kShownTrue; + _shown[9] = kShownTrue; + _shown[11] = kShownTrue; + _shown[15] = kShownTrue; + _shown[18] = kShownTrue; + _shown[20] = kShownTrue; + _shown[26] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,0,0,0,CORRIDOR2,10); + _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,1,1,0,GUARD,14); + _objectState[2] = Object(_id, kStringCellDoor,kStringCellDoorDescription,DOOR,EXIT|OPENABLE|OPENED|CLOSED,7,7,0,CELL,16); + _objectState[3] = Object(_id, kStringLaptop,kStringDefaultDescription,NEWSPAPER,TAKE,6,6,8); + _objectState[4] = Object(_id, kStringWristwatch,kStringDefaultDescription,WATCH,TAKE|COMBINABLE,255,255,8); + _objectState[5] = Object(_id, kStringTable,kStringDefaultDescription,TABLE,COMBINABLE,5,5,0); + } + + virtual void onEntrance(); + virtual void animation(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class AxacussCorridor5 : public Room { +public: + AxacussCorridor5(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 16; + _id = CORRIDOR5; + _shown[0] = kShownTrue; + _shown[3] = kShownTrue; + _shown[4] = kShownTrue; + _shown[5] = kShownTrue; + _shown[12] = kShownTrue; + _shown[22] = kShownTrue; + _shown[23] = kShownTrue; + _shown[24] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,DOOR,EXIT,2,2,0,NULLROOM,2); + _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR6,22); + + _dialog1[0] = kStringDialogAxacussCorridor5_1; + _dialog1[1] = kStringDialogAxacussCorridor5_2; + _dialog2[0] = kStringDialogAxacussCorridor5_3; + _dialog2[1] = kStringDialogAxacussCorridor5_4; + _dialog3[0] = kStringDialogAxacussCorridor5_5; + _dialog3[1] = kStringDialogAxacussCorridor5_6; + _dialog3[2] = kStringDialogAxacussCorridor5_7; + _dialog3[3] = kStringDialogAxacussCorridor5_7; + + _rows[0] = 1; + _rows[1] = 1; + _rows[2] = 1; + _rows[3] = 1; + _rows[4] = 0; + _rows[5] = 0; + } + + virtual void onEntrance(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + void stopInteract(int sum); + bool handleMoneyDialog(); + + // TODO: Change to 6, or change struct, and fix initialization + StringID _dialog1[2]; + StringID _dialog2[2]; + StringID _dialog3[4]; + + byte _rows[6]; +}; + +class AxacussCorridor6 : public Room { +public: + AxacussCorridor6(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 16; + _id = CORRIDOR6; + _shown[0] = kShownTrue; + _shown[3] = kShownTrue; + _shown[4] = kShownTrue; + _shown[5] = kShownTrue; + _shown[6] = kShownTrue; + _shown[22] = kShownTrue; + _shown[24] = kShownTrue; + _shown[25] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR5,2); + _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR7,22); + _objectState[2] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,OPENABLE|CLOSED,255,255,0,CORRIDOR8,13); + } + + virtual void onEntrance(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class AxacussCorridor7 : public Room { +public: + AxacussCorridor7(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 16; + _id = CORRIDOR7; + _shown[0] = kShownTrue; + _shown[3] = kShownTrue; + _shown[4] = kShownTrue; + _shown[5] = kShownTrue; + _shown[10] = kShownTrue; + _shown[21] = kShownTrue; + _shown[24] = kShownTrue; + _shown[25] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR6,2); + _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,GUARD,22); + } + + virtual void onEntrance(); +}; +class AxacussCorridor8 : public Room { +public: + AxacussCorridor8(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 16; + _id = CORRIDOR8; + _shown[0] = kShownTrue; + _shown[1] = kShownTrue; + _shown[4] = kShownTrue; + _shown[15] = kShownTrue; + _shown[20] = kShownTrue; + _shown[22] = kShownTrue; + _shown[28] = kShownTrue; + + _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE,0,0,0,CORRIDOR6,10); + _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,BCORRIDOR,22); + } + + virtual void onEntrance(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class AxacussCorridor9 : public Room { +public: + AxacussCorridor9(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 16; + _id = CORRIDOR9; + _shown[0] = kShownTrue; + _shown[1] = kShownTrue; + _shown[3] = kShownTrue; + _shown[14] = kShownTrue; + _shown[19] = kShownTrue; + _shown[23] = kShownTrue; + _shown[28] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,BCORRIDOR,2); + _objectState[1] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE,0,0,0,GUARD,10); + } + + virtual void onEntrance(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class AxacussBcorridor : public Room { +public: + AxacussBcorridor(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 6; + _id = BCORRIDOR; + _shown[0] = kShownTrue; + _shown[3] = kShownTrue; + + _objectState[0] = Object(_id, kStringPillar,kStringDefaultDescription,PILLAR1,NULLTYPE,4,4,0); + _objectState[1] = Object(_id, kStringPillar,kStringDefaultDescription,PILLAR2,NULLTYPE,5,5,0); + _objectState[2] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,6,6,0,CORRIDOR8,2); + _objectState[3] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,7,7,0,CORRIDOR9,22); + _objectState[4] = Object(_id, kStringDoor,kStringDoorDescription1,DOOR1,EXIT|OPENABLE|CLOSED|OCCUPIED,0,0,1,OFFICE_L1,6); + _objectState[5] = Object(_id, kStringDoor,kStringDoorDescription2,DOOR2,EXIT|OPENABLE|CLOSED|OCCUPIED,1,1,2,OFFICE_L2,16); + _objectState[6] = Object(_id, kStringDoor,kStringDoorDescription3,DOOR3,EXIT|OPENABLE|OPENED,2,2,3,OFFICE_R1,8); + _objectState[7] = Object(_id, kStringDoor,kStringDoorDescription4,DOOR4,EXIT|OPENABLE|CLOSED|OCCUPIED,3,3,4,OFFICE_R2,18); + } + + virtual void onEntrance(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; + +class AxacussIntersection : public Room { +public: + AxacussIntersection(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 40; + _id = GUARD; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit, kStringDefaultDescription, NULLOBJECT, EXIT, 255, 255, 0, CORRIDOR4, 21); + _objectState[1] = Object(_id, kStringCorridor, kStringDefaultDescription, NULLOBJECT, EXIT, 3, 3, 0, CORRIDOR7, 5); + _objectState[2] = Object(_id, kStringDoor, kStringDefaultDescription, DOOR, EXIT | OPENABLE, 1, 1, 6, CORRIDOR9, 3); + _objectState[3] = Object(_id, kStringAxacussan, kStringAxacussanDescription, GUARDIAN, TALK, 0, 0, 0); + _objectState[4] = Object(_id, kStringImage, kStringImageDescription2, NULLOBJECT, NULLTYPE, 2, 2, 0); + _objectState[5] = Object(_id, kStringMastercard, kStringMastercardDescription, MASTERKEYCARD, TAKE | COMBINABLE, 255, 255, 1); + + _dialogsX[0] = kStringDialogX1; + _dialogsX[1] = kStringDialogX2; + _dialogsX[2] = kStringDialogX3; + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + StringID _dialogsX[6]; +}; + +class AxacussExit : public Room { +public: + AxacussExit(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 42; + _id = GUARD3; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,CORRIDOR1,22); + _objectState[1] = Object(_id, kStringDoor,kStringDefaultDescription,NULLOBJECT,EXIT|OPENABLE|CLOSED,0,0,0,NULLROOM,20); + _objectState[2] = Object(_id, kStringDoor,kStringDefaultDescription,NULLOBJECT,EXIT|OPENABLE|CLOSED,1,1,0,NULLROOM,15); + _objectState[3] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE,2,2,11,OFFICE_L,0); + _objectState[4] = Object(_id, kStringLamp2,kStringDefaultDescription,LAMP,COMBINABLE,3,3,0); + _objectState[5] = Object(_id, kStringAxacussan,kStringDefaultDescription,GUARDIAN,TALK,5,5,0); + _objectState[6] = Object(_id, kStringImage,kStringGenericDescription5,NULLOBJECT,NULLTYPE,4,4,0); + + _dialogsX[0] = kStringDialogX1; + _dialogsX[1] = kStringDialogX2; + _dialogsX[2] = kStringDialogX3; + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + StringID _dialogsX[6]; +}; +class AxacussOffice1 : public Room { +public: + AxacussOffice1(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 7; + _id = OFFICE_L1; + _shown[0] = kShownTrue; + _shown[2] = kShownTrue; + _shown[7] = kShownTrue; + _shown[9] = kShownTrue; + _shown[16] = kShownTrue; + + _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|OPENED,6,6,9,BCORRIDOR,9); + _objectState[1] = Object(_id, kStringComputer,kStringDefaultDescription,COMPUTER,COMBINABLE,4,4,0); + _objectState[2] = Object(_id, kStringMoney,kStringMoneyDescription1,MONEY,TAKE,255,255,0); + _objectState[3] = Object(_id, kStringLocker,kStringLockerDescription,LOCKER,OPENABLE|CLOSED,5,5,0); + _objectState[4] = Object(_id, kStringLetter,kStringDefaultDescription,LETTER,UNNECESSARY,3,3,0); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class AxacussOffice2 : public Room { +public: + AxacussOffice2(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 7; + _id = OFFICE_L2; + _shown[0] = kShownTrue; + _shown[1] = kShownTrue; + _shown[9] = kShownTrue; + _shown[16] = kShownTrue; + + _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|OPENED,6,6,9,BCORRIDOR,9); + _objectState[1] = Object(_id, kStringComputer,kStringDefaultDescription,COMPUTER,COMBINABLE,4,4,0); + _objectState[2] = Object(_id, kStringCube,kStringGenericDescription6,NULLOBJECT,NULLTYPE,0,0,0); + _objectState[3] = Object(_id, kStringImage,kStringGenericDescription7,NULLOBJECT,NULLTYPE,1,1,0); + _objectState[4] = Object(_id, kStringStrangeThing,kStringGenericDescription8,NULLOBJECT,UNNECESSARY,2,2,0); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class AxacussOffice3 : public Room { +public: + AxacussOffice3(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 8; + _id = OFFICE_R1; + _shown[0] = kShownTrue; + _shown[1] = kShownTrue; + _shown[3] = kShownTrue; + + _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|OPENED,0,0,3,BCORRIDOR,5); + _objectState[1] = Object(_id, kStringComputer,kStringDefaultDescription,COMPUTER,COMBINABLE,4,4,0); + _objectState[2] = Object(_id, kStringImage,kStringImageDescription2,NULLOBJECT,UNNECESSARY,1,1,0); + _objectState[3] = Object(_id, kStringImage,kStringImageDescription2,PAINTING,UNNECESSARY,2,2,0); + _objectState[4] = Object(_id, kStringPlant,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,3,3,0); + _objectState[5] = Object(_id, kNoString,kStringDefaultDescription,MONEY,TAKE|COMBINABLE,255,255,0); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class AxacussOffice4 : public Room { +public: + AxacussOffice4(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 8; + _id = OFFICE_R2; + _shown[0] = kShownTrue; + _shown[2] = kShownTrue; + _shown[3] = kShownTrue; + + _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|OPENED,0,0,3,BCORRIDOR,5); + _objectState[1] = Object(_id, kStringComputer,kStringDefaultDescription,COMPUTER,COMBINABLE,4,4,0); + _objectState[2] = Object(_id, kStringStatue,kStringStatueDescription,NULLOBJECT,UNNECESSARY,6,6,0); + _objectState[3] = Object(_id, kStringPlant,kStringPlantDescription,NULLOBJECT,UNNECESSARY,5,5,0); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class AxacussOffice5 : public Room { +public: + AxacussOffice5(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 7; + _id = OFFICE_L; + _shown[0] = kShownTrue; + _shown[3] = kShownTrue; + _shown[5] = kShownTrue; + _shown[17] = kShownTrue; + + _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|OPENED,6,6,17,GUARD3,9); + _objectState[1] = Object(_id, kStringComputer,kStringComputerDescription,COMPUTER,COMBINABLE,4,4,0); + _objectState[2] = Object(_id, kStringGraffiti,kStringGraffitiDescription,NULLOBJECT,NULLTYPE,7,7,0); + _objectState[3] = Object(_id, kStringMoney,kStringMoneyDescription2,MONEY,TAKE,8,8,0); + } + + virtual void onEntrance(); + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class AxacussElevator : public Room { +public: + AxacussElevator(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 3; + _id = ELEVATOR; + _shown[0] = kShownTrue; + + _objectState[0] = Object(_id, kStringButton,kStringDefaultDescription,BUTTON1,PRESS,0,0,0); + _objectState[1] = Object(_id, kStringButton,kStringDefaultDescription,BUTTON2,PRESS,1,1,0); + _objectState[2] = Object(_id, kStringExit,kStringDefaultDescription,DOOR,EXIT,255,255,0,NULLROOM,22); + _objectState[3] = Object(_id, kStringJungle,kStringJungleDescription,JUNGLE,NULLTYPE,255,255,0,STATION,2); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class AxacussStation : public Room { +public: + AxacussStation(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 5; + _id = STATION; + _shown[0] = kShownTrue; + _objectState[0] = Object(_id, kStringSign,kStringDefaultDescription,STATION_SIGN,NULLTYPE,0,0,0); + _objectState[1] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|CLOSED,1,1,0,NULLROOM,7); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; +class AxacussSign : public Room { +public: + AxacussSign(SupernovaEngine *vm, GameManager *gm) { + _vm = vm; + _gm = gm; + + _fileNumber = 32; + _id = SIGN; + _shown[0] = kShownTrue; + _shown[1] = kShownTrue; + + _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,STATION,22); + _objectState[1] = Object(_id, kStringSlot,kStringDefaultDescription,STATION_SLOT,COMBINABLE,0,0,0); + } + + virtual bool interact(Action verb, Object &obj1, Object &obj2); +}; + +class Outro : public Room { +public: + Outro(SupernovaEngine *vm, GameManager *gm); + + virtual void onEntrance(); + virtual void animation(); + +private: + void animate(int filenumber, int section1, int section2, int duration); + void animate(int filenumber, int section1, int section2, int duration, MessagePosition position, + const char *text); + void animate(int filenumber, int section1, int section2, int section3, int section4, int duration, + MessagePosition position, const char *text); + + Common::String outroText; +}; + +} +#endif // SUPERNOVA_ROOMS_H diff --git a/engines/supernova/state.cpp b/engines/supernova/state.cpp new file mode 100644 index 0000000000..f7bf70f15d --- /dev/null +++ b/engines/supernova/state.cpp @@ -0,0 +1,2388 @@ +/* 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/system.h" +#include "graphics/palette.h" +#include "gui/message.h" +#include "supernova/supernova.h" +#include "supernova/state.h" +#include "graphics/cursorman.h" + +namespace Supernova { + +bool GameManager::serialize(Common::WriteStream *out) { + if (out->err()) + return false; + + // GameState + out->writeSint32LE(_state._time); + out->writeSint32LE(_state._timeSleep); + out->writeSint32LE(_state._timeAlarm); + out->writeSint32LE(_state._eventTime); + out->writeSint32LE(_state._eventCallback); + out->writeSint32LE(_state._arrivalDaysLeft); + out->writeSint32LE(_state._shipEnergyDaysLeft); + out->writeSint32LE(_state._landingModuleEnergyDaysLeft); + out->writeUint16LE(_state._greatFlag); + out->writeSint16LE(_state._timeRobot); + out->writeSint16LE(_state._money); + out->writeByte(_state._coins); + out->writeByte(_state._shoes); + out->writeByte(_state._origin); + out->writeByte(_state._destination); + out->writeByte(_state._language); + out->writeByte(_state._corridorSearch); + out->writeByte(_state._alarmOn); + out->writeByte(_state._terminalStripConnected); + out->writeByte(_state._terminalStripWire); + out->writeByte(_state._cableConnected); + out->writeByte(_state._powerOff); + out->writeByte(_state._dream); + for (int i = 0; i < 4; i++) + out->writeByte(_state._nameSeen[i]); + out->writeByte(_state._playerHidden); + + // Inventory + out->writeSint32LE(_inventory.getSize()); + out->writeSint32LE(_inventoryScroll); + for (int i = 0; i < _inventory.getSize(); ++i) { + Object *objectStateBegin = _rooms[_inventory.get(i)->_roomId]->getObject(0); + byte objectIndex = _inventory.get(i) - objectStateBegin; + out->writeSint32LE(_inventory.get(i)->_roomId); + out->writeSint32LE(objectIndex); + } + + // Rooms + out->writeByte(_currentRoom->getId()); + for (int i = 0; i < NUMROOMS; ++i) { + _rooms[i]->serialize(out); + } + + return !out->err(); +} + + +bool GameManager::deserialize(Common::ReadStream *in, int version) { + if (in->err()) + return false; + + // GameState + _state._time = in->readSint32LE(); + _state._timeSleep = in->readSint32LE(); + _state._timeAlarm = in->readSint32LE(); + _state._eventTime = in->readSint32LE(); + if (version >= 4) + _state._eventCallback = (EventFunction)in->readSint32LE(); + else + _state._eventCallback = kNoFn; + _state._arrivalDaysLeft = in->readSint32LE(); + _state._shipEnergyDaysLeft = in->readSint32LE(); + _state._landingModuleEnergyDaysLeft = in->readSint32LE(); + _state._greatFlag = in->readUint16LE(); + _state._timeRobot = in->readSint16LE(); + _state._money = in->readSint16LE(); + _vm->setGameString(kStringInventoryMoney, Common::String::format("%d Xa", _state._money)); + _state._coins = in->readByte(); + _state._shoes = in->readByte(); + if (version >= 6) + _state._origin = in->readByte(); + else + _state._origin = 0; + _state._destination = in->readByte(); + _state._language = in->readByte(); + _state._corridorSearch = in->readByte(); + _state._alarmOn = in->readByte(); + _state._terminalStripConnected = in->readByte(); + _state._terminalStripWire = in->readByte(); + _state._cableConnected = in->readByte(); + _state._powerOff = in->readByte(); + _state._dream = in->readByte(); + + for (int i = 0; i < 4; i++) { + if (version >= 7) + _state._nameSeen[i] = in->readByte(); + else + _state._nameSeen[i] = false; + } + + if (version >= 8) + _state._playerHidden = in->readByte(); + else + _state._playerHidden = false; + + _oldTime = g_system->getMillis(); + + // Inventory + int inventorySize = in->readSint32LE(); + _inventoryScroll = in->readSint32LE(); + _inventory.clear(); + for (int i = 0; i < inventorySize; ++i) { + RoomID objectRoom = static_cast<RoomID>(in->readSint32LE()); + int objectIndex = in->readSint32LE(); + _inventory.add(*_rooms[objectRoom]->getObject(objectIndex)); + } + + // Rooms + RoomID curRoomId = static_cast<RoomID>(in->readByte()); + for (int i = 0; i < NUMROOMS; ++i) { + _rooms[i]->deserialize(in, version); + } + changeRoom(curRoomId); + + // Some additional variables + _guiEnabled = true; + _animationEnabled = true; + + return !in->err(); +} + +void Inventory::add(Object &obj) { + if (_numObjects < kMaxCarry) { + _inventory[_numObjects++] = &obj; + obj.setProperty(CARRIED); + } + + if (getSize() > _inventoryScroll + 8) { + _inventoryScroll = getSize() - 8; + _inventoryScroll += _inventoryScroll % 2; + } +} + +void Inventory::remove(Object &obj) { + for (int i = 0; i < _numObjects; ++i) { + if (_inventory[i] == &obj) { + if (_inventoryScroll >= 2 && getSize() % 2) + _inventoryScroll -= 2; + + --_numObjects; + while (i < _numObjects) { + _inventory[i] = _inventory[i + 1]; + ++i; + } + obj.disableProperty(CARRIED); + } + } +} + +void Inventory::clear() { + for (int i = 0; i < _numObjects; ++i) + _inventory[i]->disableProperty(CARRIED); + _numObjects = 0; + _inventoryScroll = 0; +} + +Object *Inventory::get(int index) const { + if (index < _numObjects) + return _inventory[index]; + + return const_cast<Object *>(&Object::nullObject); +} + +Object *Inventory::get(ObjectID id) const { + for (int i = 0; i < _numObjects; ++i) { + if (_inventory[i]->_id == id) + return _inventory[i]; + } + + return const_cast<Object *>(&Object::nullObject); +} + + +GuiElement::GuiElement() + : _isHighlighted(false) + , _bgColorNormal(kColorWhite25) + , _bgColorHighlighted(kColorWhite44) + , _bgColor(kColorWhite25) + , _textColorNormal(kColorGreen) + , _textColorHighlighted(kColorLightGreen) + , _textColor(kColorGreen) +{ + _text[0] = '\0'; +} + +void GuiElement::setText(const char *text) { + strncpy(_text, text, sizeof(_text)); +} + +void GuiElement::setTextPosition(int x, int y) { + _textPosition = Common::Point(x, y); +} + +void GuiElement::setSize(int x1, int y1, int x2, int y2) { + this->left = x1; + this->top = y1; + this->right = x2; + this->bottom = y2; + + _textPosition = Common::Point(x1 + 1, y1 + 1); +} + +void GuiElement::setColor(int bgColor, int textColor, int bgColorHighlighted, int textColorHightlighted) { + _bgColor = bgColor; + _textColor = textColor; + _bgColorNormal = bgColor; + _textColorNormal = textColor; + _bgColorHighlighted = bgColorHighlighted; + _textColorHighlighted = textColorHightlighted; +} + +void GuiElement::setHighlight(bool isHighlighted) { + if (isHighlighted) { + _bgColor = _bgColorHighlighted; + _textColor = _textColorHighlighted; + } else { + _bgColor = _bgColorNormal; + _textColor = _textColorNormal; + } +} + +// Used by Look Watch (when it's fixed). Do not remove. +static Common::String timeToString(int msec) { + char s[9] = " 0:00:00"; + msec /= 1000; + s[7] = msec % 10 + '0'; + msec /= 10; + s[6] = msec % 6 + '0'; + msec /= 6; + s[4] = msec % 10 + '0'; + msec /= 10; + s[3] = msec % 6 + '0'; + msec /= 6; + s[1] = msec % 10 + '0'; + msec /= 10; + if (msec) + s[0] = msec + '0'; + + return Common::String(s); +} + +StringID GameManager::guiCommands[] = { + kStringCommandGo, kStringCommandLook, kStringCommandTake, kStringCommandOpen, kStringCommandClose, + kStringCommandPress, kStringCommandPull, kStringCommandUse, kStringCommandTalk, kStringCommandGive +}; + +StringID GameManager::guiStatusCommands[] = { + kStringStatusCommandGo, kStringStatusCommandLook, kStringStatusCommandTake, kStringStatusCommandOpen, kStringStatusCommandClose, + kStringStatusCommandPress, kStringStatusCommandPull, kStringStatusCommandUse, kStringStatusCommandTalk, kStringStatusCommandGive +}; + +GameManager::GameManager(SupernovaEngine *vm) + : _inventory(_inventoryScroll) + , _vm(vm) { + initRooms(); + changeRoom(INTRO); + initState(); + initGui(); +} + +GameManager::~GameManager() { + destroyRooms(); +} + +void GameManager::destroyRooms() { + delete _rooms[INTRO]; + delete _rooms[CORRIDOR]; + delete _rooms[HALL]; + delete _rooms[SLEEP]; + delete _rooms[COCKPIT]; + delete _rooms[AIRLOCK]; + delete _rooms[HOLD]; + delete _rooms[LANDINGMODULE]; + delete _rooms[GENERATOR]; + delete _rooms[OUTSIDE]; + delete _rooms[CABIN_R1]; + delete _rooms[CABIN_R2]; + delete _rooms[CABIN_R3]; + delete _rooms[CABIN_L1]; + delete _rooms[CABIN_L2]; + delete _rooms[CABIN_L3]; + delete _rooms[BATHROOM]; + + delete _rooms[ROCKS]; + delete _rooms[CAVE]; + delete _rooms[MEETUP]; + delete _rooms[ENTRANCE]; + delete _rooms[REST]; + delete _rooms[ROGER]; + delete _rooms[GLIDER]; + delete _rooms[MEETUP2]; + delete _rooms[MEETUP3]; + + delete _rooms[CELL]; + delete _rooms[CORRIDOR1]; + delete _rooms[CORRIDOR2]; + delete _rooms[CORRIDOR3]; + delete _rooms[CORRIDOR4]; + delete _rooms[CORRIDOR5]; + delete _rooms[CORRIDOR6]; + delete _rooms[CORRIDOR7]; + delete _rooms[CORRIDOR8]; + delete _rooms[CORRIDOR9]; + delete _rooms[BCORRIDOR]; + delete _rooms[GUARD]; + delete _rooms[GUARD3]; + delete _rooms[OFFICE_L1]; + delete _rooms[OFFICE_L2]; + delete _rooms[OFFICE_R1]; + delete _rooms[OFFICE_R2]; + delete _rooms[OFFICE_L]; + delete _rooms[ELEVATOR]; + delete _rooms[STATION]; + delete _rooms[SIGN]; + delete _rooms[OUTRO]; +} + + +void GameManager::initState() { + Object::setObjectNull(_currentInputObject); + Object::setObjectNull(_inputObject[0]); + Object::setObjectNull(_inputObject[1]); + _inputVerb = ACTION_WALK; + _processInput = false; + _guiEnabled = true; + _animationEnabled = true; + _roomBrightness = 255; + _mouseClicked = false; + _keyPressed = false; + _mouseX = -1; + _mouseY = -1; + _mouseField = -1; + _inventoryScroll = 0; + _oldTime = g_system->getMillis(); + _timerPaused = 0; + _timePaused = false; + _timer1 = 0; + _animationTimer = 0; + + _currentSentence = -1; + for (int i = 0 ; i < 6 ; ++i) { + _sentenceNumber[i] = -1; + _texts[i] = kNoString; + _rows[i] = 0; + _rowsStart[i] = 0; + } + + _state._time = ticksToMsec(916364); // 2 pm + _state._timeSleep = 0; + _state._timeAlarm = ticksToMsec(458182); // 7 am + _state._eventTime = kMaxTimerValue; + _state._eventCallback = kNoFn; + _state._arrivalDaysLeft = 2840; + _state._shipEnergyDaysLeft = 2135; + _state._landingModuleEnergyDaysLeft = 923; + _state._greatFlag = 0; + _state._timeRobot = 0; + _state._money = 0; + _state._coins = 0; + _state._shoes = 0; + _state._origin = 0; + _state._destination = 255; + _state._language = 0; + _state._corridorSearch = false; + _state._alarmOn = false; + _state._terminalStripConnected = false; + _state._terminalStripWire = false; + _state._cableConnected = false; + _state._powerOff = false; + _state._dream = false; + + _prevImgId = 0; +} + +void GameManager::initRooms() { + _rooms[INTRO] = new Intro(_vm, this); + _rooms[CORRIDOR] = new ShipCorridor(_vm, this); + _rooms[HALL] = new ShipHall(_vm, this); + _rooms[SLEEP] = new ShipSleepCabin(_vm, this); + _rooms[COCKPIT] = new ShipCockpit(_vm, this); + _rooms[AIRLOCK] = new ShipAirlock(_vm, this); + _rooms[HOLD] = new ShipHold(_vm, this); + _rooms[LANDINGMODULE] = new ShipLandingModule(_vm, this); + _rooms[GENERATOR] = new ShipGenerator(_vm, this); + _rooms[OUTSIDE] = new ShipOuterSpace(_vm, this); + _rooms[CABIN_R1] = new ShipCabinR1(_vm, this); + _rooms[CABIN_R2] = new ShipCabinR2(_vm, this); + _rooms[CABIN_R3] = new ShipCabinR3(_vm, this); + _rooms[CABIN_L1] = new ShipCabinL1(_vm, this); + _rooms[CABIN_L2] = new ShipCabinL2(_vm, this); + _rooms[CABIN_L3] = new ShipCabinL3(_vm, this); + _rooms[BATHROOM] = new ShipCabinBathroom(_vm, this); + + _rooms[ROCKS] = new ArsanoRocks(_vm, this); + _rooms[CAVE] = new ArsanoCave(_vm, this); + _rooms[MEETUP] = new ArsanoMeetup(_vm, this); + _rooms[ENTRANCE] = new ArsanoEntrance(_vm, this); + _rooms[REST] = new ArsanoRemaining(_vm, this); + _rooms[ROGER] = new ArsanoRoger(_vm, this); + _rooms[GLIDER] = new ArsanoGlider(_vm, this); + _rooms[MEETUP2] = new ArsanoMeetup2(_vm, this); + _rooms[MEETUP3] = new ArsanoMeetup3(_vm, this); + + _rooms[CELL] = new AxacussCell(_vm, this); + _rooms[CORRIDOR1] = new AxacussCorridor1(_vm, this); + _rooms[CORRIDOR2] = new AxacussCorridor2(_vm, this); + _rooms[CORRIDOR3] = new AxacussCorridor3(_vm, this); + _rooms[CORRIDOR4] = new AxacussCorridor4(_vm, this); + _rooms[CORRIDOR5] = new AxacussCorridor5(_vm, this); + _rooms[CORRIDOR6] = new AxacussCorridor6(_vm, this); + _rooms[CORRIDOR7] = new AxacussCorridor7(_vm, this); + _rooms[CORRIDOR8] = new AxacussCorridor8(_vm, this); + _rooms[CORRIDOR9] = new AxacussCorridor9(_vm, this); + _rooms[BCORRIDOR] = new AxacussBcorridor(_vm, this); + _rooms[GUARD] = new AxacussIntersection(_vm, this); + _rooms[GUARD3] = new AxacussExit(_vm, this); + _rooms[OFFICE_L1] = new AxacussOffice1(_vm, this); + _rooms[OFFICE_L2] = new AxacussOffice2(_vm, this); + _rooms[OFFICE_R1] = new AxacussOffice3(_vm, this); + _rooms[OFFICE_R2] = new AxacussOffice4(_vm, this); + _rooms[OFFICE_L] = new AxacussOffice5(_vm, this); + _rooms[ELEVATOR] = new AxacussElevator(_vm, this); + _rooms[STATION] = new AxacussStation(_vm, this); + _rooms[SIGN] = new AxacussSign(_vm, this); + _rooms[OUTRO] = new Outro(_vm, this); +} + +void GameManager::initGui() { + int commandButtonX = 0; + for (int i = 0; i < ARRAYSIZE(_guiCommandButton); ++i) { + const Common::String &text = _vm->getGameString(guiCommands[i]); + int width; + if (i < 9) + width = _vm->textWidth(text) + 2; + else + width = 320 - commandButtonX; + + _guiCommandButton[i].setSize(commandButtonX, 150, commandButtonX + width, 159); + _guiCommandButton[i].setText(text.c_str()); + _guiCommandButton[i].setColor(kColorWhite25, kColorDarkGreen, kColorWhite44, kColorGreen); + commandButtonX += width + 2; + } + + for (int i = 0; i < ARRAYSIZE(_guiInventory); ++i) { + int inventoryX = 136 * (i % 2); + int inventoryY = 161 + 10 * (i / 2); + + _guiInventory[i].setSize(inventoryX, inventoryY, inventoryX + 135, inventoryY + 9); + _guiInventory[i].setColor(kColorWhite25, kColorDarkRed, kColorWhite35, kColorRed); + } + _guiInventoryArrow[0].setSize(272, 161, 279, 180); + _guiInventoryArrow[0].setColor(kColorWhite25, kColorDarkRed, kColorWhite35, kColorRed); + _guiInventoryArrow[0].setText("\x82"); + _guiInventoryArrow[0].setTextPosition(273, 166); + _guiInventoryArrow[1].setSize(272, 181, 279, 200); + _guiInventoryArrow[1].setColor(kColorWhite25, kColorDarkRed, kColorWhite35, kColorRed); + _guiInventoryArrow[1].setText("\x83"); + _guiInventoryArrow[1].setTextPosition(273, 186); +} + + +void GameManager::processInput(Common::KeyState &state) { + _key = state; + + switch (state.keycode) { + case Common::KEYCODE_F1: + // help + break; + case Common::KEYCODE_F2: + // show game doc + break; + case Common::KEYCODE_F3: + // show game info + break; + case Common::KEYCODE_F4: + _vm->setTextSpeed(); + break; + case Common::KEYCODE_F5: + // load/save + break; + case Common::KEYCODE_x: + if (state.flags & Common::KBD_ALT) { + // quit game + GUI::MessageDialog *dialog = new GUI::MessageDialog("Quit Game?", "Quit", "Cancel"); + if (dialog->runModal() == GUI::kMessageOK) + _vm->quitGame(); + delete dialog; + + // TODO: Add original quit game message prompt + } + break; + default: + break; + } +} + +void GameManager::resetInputState() { + Object::setObjectNull(_inputObject[0]); + Object::setObjectNull(_inputObject[1]); + _inputVerb = ACTION_WALK; + _processInput = false; + _mouseClicked = false; + _keyPressed = false; + _key.reset(); + _mouseClickType = Common::EVENT_MOUSEMOVE; + + processInput(); +} + +void GameManager::processInput() { + enum { + onNone, + onObject, + onCmdButton, + onInventory, + onInventoryArrowUp, + onInventoryArrowDown + } mouseLocation; + + if (_mouseField >= 0 && _mouseField < 256) + mouseLocation = onObject; + else if (_mouseField >= 256 && _mouseField < 512) + mouseLocation = onCmdButton; + else if (_mouseField >= 512 && _mouseField < 768) + mouseLocation = onInventory; + else if (_mouseField == 768) + mouseLocation = onInventoryArrowUp; + else if (_mouseField == 769) + mouseLocation = onInventoryArrowDown; + else + mouseLocation = onNone; + + if (_mouseClickType == Common::EVENT_LBUTTONUP) { + if (_vm->_messageDisplayed) { + // Hide the message and consume the event + _vm->removeMessage(); + if (mouseLocation != onCmdButton) + return; + } + + switch(mouseLocation) { + case onObject: + case onInventory: + // Fallthrough + if (_inputVerb == ACTION_GIVE || _inputVerb == ACTION_USE) { + if (Object::isNullObject(_inputObject[0])) { + _inputObject[0] = _currentInputObject; + if (!_inputObject[0]->hasProperty(COMBINABLE)) + _processInput = true; + } else { + _inputObject[1] = _currentInputObject; + _processInput = true; + } + } else { + _inputObject[0] = _currentInputObject; + if (!Object::isNullObject(_currentInputObject)) + _processInput = true; + } + break; + case onCmdButton: + resetInputState(); + _inputVerb = static_cast<Action>(_mouseField - 256); + break; + case onInventoryArrowUp: + if (_inventoryScroll >= 2) + _inventoryScroll -= 2; + break; + case onInventoryArrowDown: + if (_inventoryScroll < _inventory.getSize() - ARRAYSIZE(_guiInventory)) + _inventoryScroll += 2; + break; + case onNone: + break; + } + + } else if (_mouseClickType == Common::EVENT_RBUTTONUP) { + if (_vm->_messageDisplayed) { + // Hide the message and consume the event + _vm->removeMessage(); + return; + } + + if (Object::isNullObject(_currentInputObject)) + return; + + if (mouseLocation == onObject || mouseLocation == onInventory) { + _inputObject[0] = _currentInputObject; + ObjectTypes type = _inputObject[0]->_type; + if (type & OPENABLE) + _inputVerb = (type & OPENED) ? ACTION_CLOSE : ACTION_OPEN; + else if (type & PRESS) + _inputVerb = ACTION_PRESS; + else if (type & TALK) + _inputVerb = ACTION_TALK; + else + _inputVerb = ACTION_LOOK; + + _processInput = true; + } + + } else if (_mouseClickType == Common::EVENT_MOUSEMOVE) { + int field = -1; + int click = -1; + + if ((_mouseY >= _guiCommandButton[0].top) && (_mouseY <= _guiCommandButton[0].bottom)) { + /* command row */ + field = 9; + while (_mouseX < _guiCommandButton[field].left - 1) + field--; + field += 256; + } else if ((_mouseX >= 283) && (_mouseX <= 317) && (_mouseY >= 163) && (_mouseY <= 197)) { + /* exit box */ + field = _exitList[(_mouseX - 283) / 7 + 5 * ((_mouseY - 163) / 7)]; + } else if ((_mouseY >= 161) && (_mouseX <= 270)) { + /* inventory box */ + field = (_mouseX + 1) / 136 + ((_mouseY - 161) / 10) * 2; + if (field + _inventoryScroll < _inventory.getSize()) + field += 512; + else + field = -1; + } else if ((_mouseY >= 161) && (_mouseX >= 271) && (_mouseX < 279)) { + /* inventory arrows */ + field = (_mouseY > 180) ? 769 : 768; + } else { + /* normal item */ + for (int i = 0; (_currentRoom->getObject(i)->_id != INVALIDOBJECT) && + (field == -1) && i < kMaxObject; i++) { + click = _currentRoom->getObject(i)->_click; + if (click != 255 && _vm->_currentImage) { + MSNImageDecoder::ClickField *clickField = _vm->_currentImage->_clickField; + do { + if ((_mouseX >= clickField[click].x1) && (_mouseX <= clickField[click].x2) && + (_mouseY >= clickField[click].y1) && (_mouseY <= clickField[click].y2)) + field = i; + + click = clickField[click].next; + } while ((click != 0) && (field == -1)); + } + } + } + + if (_mouseField != field) { + switch (mouseLocation) { + case onInventoryArrowUp: + case onInventoryArrowDown: + // Fallthrough + _guiInventoryArrow[_mouseField - 768].setHighlight(false); + break; + case onInventory: + _guiInventory[_mouseField - 512].setHighlight(false); + break; + case onCmdButton: + _guiCommandButton[_mouseField - 256].setHighlight(false); + break; + case onObject: + case onNone: + // Fallthrough + break; + } + + Object::setObjectNull(_currentInputObject); + + _mouseField = field; + if (_mouseField >= 0 && _mouseField < 256) + mouseLocation = onObject; + else if (_mouseField >= 256 && _mouseField < 512) + mouseLocation = onCmdButton; + else if (_mouseField >= 512 && _mouseField < 768) + mouseLocation = onInventory; + else if (_mouseField == 768) + mouseLocation = onInventoryArrowUp; + else if (_mouseField == 769) + mouseLocation = onInventoryArrowDown; + else + mouseLocation = onNone; + + switch (mouseLocation) { + case onInventoryArrowUp: + case onInventoryArrowDown: + // Fallthrough + _guiInventoryArrow[_mouseField - 768].setHighlight(true); + break; + case onInventory: + _guiInventory[_mouseField - 512].setHighlight(true); + _currentInputObject = _inventory.get(_mouseField - 512 + _inventoryScroll); + break; + case onCmdButton: + _guiCommandButton[_mouseField - 256].setHighlight(true); + break; + case onObject: + _currentInputObject = _currentRoom->getObject(_mouseField); + break; + case onNone: + break; + } + } + } +} + +void GameManager::corridorOnEntrance() { + if (_state._corridorSearch) + busted(0); +} + +void GameManager::telomat(int nr) { + static Common::String name[8] = { + "DR. ALAB HANSI", + "ALAB HANSI", + "SAVAL LUN", + "x", + "PROF. DR. UGNUL TSCHABB", + "UGNUL TSCHABB", + "ALGA HURZ LI", + "x" + }; + + static Common::String name2[4] = { + "Alab Hansi", + "Saval Lun", + "Ugnul Tschabb", + "Alga Hurz Li" + }; + + StringID dial1[4]; + dial1[0] = kStringTelomat1; + dial1[1] = kNoString; + dial1[2] = kStringTelomat3; + dial1[3] = kStringDialogSeparator; + + static byte rows1[3] = {1, 2, 1}; + + StringID dial2[4]; + dial2[0] = kStringTelomat4; + dial2[1] = kStringTelomat5; + dial2[2] = kStringTelomat6; + dial2[3] = kStringDialogSeparator; + + static byte rows2[4] = {1, 1, 1, 1}; + + _vm->renderBox(0, 0, 320, 200, kColorBlack); + _vm->renderText(kStringTelomat7, 100, 70, kColorGreen); + _vm->renderText(kStringTelomat8, 100, 81, kColorGreen); + _vm->renderText(kStringTelomat9, 100, 92, kColorGreen); + _vm->renderText(kStringTelomat10, 100, 103, kColorGreen); + _vm->renderText(kStringTelomat11, 100, 120, kColorDarkGreen); + Common::String input; + do { + getInput(); + + switch (_key.keycode) { + case Common::KEYCODE_2: { + _vm->renderBox(0, 0, 320, 200, kColorDarkBlue); + _vm->renderText(kStringTelomat12, 50, 80, kColorGreen); + _vm->renderText(kStringTelomat13, 50, 91, kColorGreen); + do + edit(input, 50, 105, 30); + while ((_key.keycode != Common::KEYCODE_RETURN) && (_key.keycode != Common::KEYCODE_ESCAPE)); + + if (_key.keycode == Common::KEYCODE_ESCAPE) { + _vm->renderBox(0, 0, 320, 200, kColorBlack); + _vm->renderRoom(*_currentRoom); + _vm->paletteBrightness(); + _guiEnabled = true; + drawMapExits(); + return; + } + + input.toUppercase(); + + int i = 0; + while ((i < 8) && (input != name[i])) + i++; + i >>= 1; + if (i == 4) { + _vm->renderText(kStringTelomat14, 50, 120, kColorGreen); + wait2(10); + _vm->renderBox(0, 0, 320, 200, kColorBlack); + _vm->renderRoom(*_currentRoom); + _vm->paletteBrightness(); + _guiEnabled = true; + drawMapExits(); + return; + } + + if ((i == nr) || _rooms[BCORRIDOR]->getObject(4 + i)->hasProperty(CAUGHT)) { + _vm->renderText(kStringTelomat15, 50, 120, kColorGreen); + wait2(10); + _vm->renderBox(0, 0, 320, 200, kColorBlack); + _vm->renderRoom(*_currentRoom); + _vm->paletteBrightness(); + _guiEnabled = true; + drawMapExits(); + return; + } + + _vm->renderText(kStringTelomat16, 50, 120, kColorGreen); + wait2(10); + _vm->renderBox(0, 0, 320, 200, kColorBlack); + _vm->renderRoom(*_currentRoom); + _vm->paletteBrightness(); + _vm->renderMessage(kStringTelomat17, kMessageTop, name2[i]); + waitOnInput(_timer1); + _vm->removeMessage(); + if (_state._nameSeen[nr]) { + Common::String string = _vm->getGameString(kStringTelomat2); + _vm->setGameString(kStringPlaceholder1, Common::String::format(string.c_str(), name2[nr].c_str())); + dial1[1] = kStringPlaceholder1; + _currentRoom->addSentence(1, 1); + } else + _currentRoom->removeSentence(1, 1); + + switch (dialog(3, rows1, dial1, 1)) { + case 1: _vm->renderMessage(kStringTelomat18, kMessageTop); + waitOnInput(_timer1); + _vm->removeMessage(); + if ((_state._destination == 255) && !_rooms[BCORRIDOR]->isSectionVisible(7)) { + _state._eventTime = _state._time + ticksToMsec(150); + _state._eventCallback = kGuardWalkFn; + _state._origin = i; + _state._destination = nr; + } + break; + case 0: _vm->renderMessage(kStringTelomat19, kMessageTop); + waitOnInput(_timer1); + _vm->removeMessage(); + if (dialog(4, rows2, dial2, 0) != 3) { + wait2(10); + say(kStringTelomat20); + } + _rooms[BCORRIDOR]->setSectionVisible(7, true); + _rooms[BCORRIDOR]->setSectionVisible(i + 1, true); + _state._eventTime = kMaxTimerValue; + _currentRoom->addSentence(0, 1); + } + _guiEnabled = true; + drawMapExits(); + return; + } + case Common::KEYCODE_1: + case Common::KEYCODE_3: + case Common::KEYCODE_4: + _vm->renderBox(0, 0, 320, 200, kColorDarkBlue); + _vm->renderText(kStringTelomat21, 100, 90, kColorGreen); + input = ""; + do + edit(input, 100, 105, 30); + while ((_key.keycode != Common::KEYCODE_RETURN) && (_key.keycode != Common::KEYCODE_ESCAPE)); + + if (_key.keycode == Common::KEYCODE_RETURN) { + _vm->renderText(kStringShipSleepCabin9, 100, 120, kColorGreen); + wait2(10); + } + case Common::KEYCODE_ESCAPE: + _vm->renderBox(0, 0, 320, 200, kColorBlack); + _vm->renderRoom(*_currentRoom); + _vm->paletteBrightness(); + _guiEnabled = true; + drawMapExits(); + return; + default: + break; + } + } while (true); +} + +void GameManager::startSearch() { + if ((_currentRoom->getId() >= CORRIDOR1) && (_currentRoom->getId() <= BCORRIDOR)) + busted(0); + + _state._corridorSearch = true; +} + +void GameManager::search(int time) { + _state._eventTime = _state._time + ticksToMsec(time); + _state._eventCallback = kSearchStartFn; +} + +void GameManager::guardNoticed() { + _vm->paletteFadeOut(); + Room *r = _currentRoom; + _currentRoom = _rooms[GUARD]; + _vm->setCurrentImage(40); + _vm->renderBox(0, 0, 320, 200, 0); + _vm->renderImage(0); + _vm->paletteFadeIn(); + _vm->renderImage(2); + reply(kStringGuardNoticed1, 2, 5); + wait2(2); + reply(kStringGuardNoticed2, 2, 5); + _vm->paletteFadeOut(); + _currentRoom->setSectionVisible(2, false); + _currentRoom->setSectionVisible(5, false); + _currentRoom = r; + _guiEnabled = true; + drawMapExits(); +} + +void GameManager::busted(int i) { + if (i > 0) + _vm->renderImage(i); + if (i == 0) { + if ((_currentRoom->getId() >= OFFICE_L1) && (_currentRoom->getId() <= OFFICE_R2)) { + if (_currentRoom->getId() < OFFICE_R1) + i = 10; + else + i = 5; + if (!_currentRoom->getObject(0)->hasProperty(OPENED)) { + _vm->renderImage(i - 1); + _vm->playSound(kAudioDoorOpen); + wait2(2); + } + _vm->renderImage(i); + wait2(3); + _vm->renderImage(i + 3); + _vm->playSound(kAudioVoiceHalt); + _vm->renderImage(i); + wait2(5); + if (_currentRoom->getId() == OFFICE_L2) + i = 13; + _vm->renderImage(i + 1); + wait2(3); + _vm->renderImage(i + 2); + shot(0, 0); + } else if (_currentRoom->getId() == BCORRIDOR) + _vm->renderImage(21); + else if (_currentRoom->isSectionVisible(4)) + _vm->renderImage(32); // below + else if (_currentRoom->isSectionVisible(2)) + _vm->renderImage(30); // right + else if (_currentRoom->isSectionVisible(1)) + _vm->renderImage(31); // left + else + _vm->renderImage(33); // above + } + _vm->playSound(kAudioVoiceHalt); + wait2(3); + shot(0, 0); +} + +void GameManager::novaScroll() { + static byte planet_f[6] = {0xeb,0xec,0xf0,0xed,0xf1,0xf2}; + static byte nova_f[13] = {0xea,0xe9,0xf5,0xf3,0xf7,0xf4,0xf6, + 0xf9,0xfb,0xfc,0xfd,0xfe,0xfa}; + static byte rgb[65][3] = { + { 5, 0, 0},{10, 0, 0},{15, 0, 0},{20, 0, 0},{25, 0, 0}, + {30, 0, 0},{35, 0, 0},{40, 0, 0},{45, 0, 0},{50, 0, 0}, + {55, 0, 0},{60, 0, 0},{63,10, 5},{63,20,10},{63,30,15}, + {63,40,20},{63,50,25},{63,60,30},{63,63,33},{63,63,30}, + {63,63,25},{63,63,20},{63,63,15},{63,63,10},{60,60,15}, + {57,57,20},{53,53,25},{50,50,30},{47,47,35},{43,43,40}, + {40,40,45},{37,37,50},{33,33,53},{30,30,56},{27,27,59}, + {23,23,61},{20,20,63},{21,25,63},{22,30,63},{25,35,63}, + {30,40,63},{35,45,63},{40,50,63},{45,55,63},{50,60,63}, + {55,63,63},{59,63,63},{63,63,63},{63,60,63},{60,50,60}, + {55,40,55},{50,30,50},{45,20,45},{40,10,40},{42,15,42}, + {45,20,45},{47,25,47},{50,30,50},{52,35,52},{55,40,55}, + {57,45,57},{60,50,60},{62,55,62},{63,60,63},{63,63,63}}; + + byte palette[768]; + _vm->_system->getPaletteManager()->grabPalette(palette, 0, 255); + + for (int t = 0; t < 65; ++t) { + for (int i = 0; i < 6; ++i) { + int idx = 3 * (planet_f[i] - 1); + for (int c = 0 ; c < 3 ; ++c) { + if (palette[idx+c] < rgb[t][c]) + palette[idx+c] = rgb[t][c]; + } + } + for (int cycle = 0; cycle < t && cycle < 13; ++cycle) { + int idx = 3 * (nova_f[cycle] - 1); + for (int c = 0 ; c < 3 ; ++c) + palette[idx + c] = rgb[t - cycle - 1][c]; + } + + _vm->_system->getPaletteManager()->setPalette(palette, 0, 255); + _vm->_system->updateScreen(); + _vm->_system->delayMillis(_vm->_delay); + } +} + +void GameManager::supernovaEvent() { + _vm->removeMessage(); + CursorMan.showMouse(false); + if (_currentRoom->getId() <= CAVE) { + _vm->renderMessage(kStringSupernova1); + waitOnInput(_timer1); + _vm->removeMessage(); + _vm->paletteFadeOut(); + changeRoom(MEETUP); + _rooms[AIRLOCK]->getObject(0)->disableProperty(OPENED); + _rooms[AIRLOCK]->setSectionVisible(3, true); + _rooms[AIRLOCK]->getObject(1)->setProperty(OPENED); + _rooms[AIRLOCK]->setSectionVisible(17, true); + _rooms[AIRLOCK]->setSectionVisible(6, false); + _vm->renderRoom(*_currentRoom); + _vm->paletteFadeIn(); + } + _vm->renderMessage(kStringSupernova2); + waitOnInput(_timer1); + _vm->removeMessage(); + _vm->setCurrentImage(26); + _vm->renderImage(0); + _vm->paletteBrightness(); + novaScroll(); + _vm->paletteFadeOut(); + _vm->renderBox(0, 0, 320, 200, kColorBlack); + _vm->_menuBrightness = 255; + _vm->paletteBrightness(); + + if (_currentRoom->getId() == GLIDER) { + _vm->renderMessage(kStringSupernova3); + waitOnInput(_timer1); + _vm->removeMessage(); + _vm->_menuBrightness = 0; + _vm->paletteBrightness(); + _vm->renderRoom(*_currentRoom); + _vm->paletteFadeIn(); + _vm->renderMessage(kStringSupernova4, kMessageTop); + waitOnInput(_timer1); + _vm->removeMessage(); + _vm->renderMessage(kStringSupernova5, kMessageTop); + waitOnInput(_timer1); + _vm->removeMessage(); + _vm->renderMessage(kStringSupernova6, kMessageTop); + waitOnInput(_timer1); + _vm->removeMessage(); + _vm->renderMessage(kStringSupernova7, kMessageTop); + waitOnInput(_timer1); + _vm->removeMessage(); + changeRoom(MEETUP2); + _rooms[MEETUP2]->setSectionVisible(1, true); + _rooms[MEETUP2]->removeSentence(0, 1); + _inventory.remove(*(_rooms[ROGER]->getObject(3))); + _inventory.remove(*(_rooms[ROGER]->getObject(7))); + _inventory.remove(*(_rooms[ROGER]->getObject(8))); + } else { + _vm->renderMessage(kStringSupernova8); + waitOnInput(_timer1); + _vm->removeMessage(); + _vm->_menuBrightness = 0; + _vm->paletteBrightness(); + changeRoom(MEETUP2); + if (_rooms[ROGER]->getObject(3)->hasProperty(CARRIED) && !_rooms[GLIDER]->isSectionVisible(5)) { + _rooms[MEETUP2]->setSectionVisible(1, true); + _rooms[MEETUP2]->setSectionVisible(12, true); + _rooms[MEETUP2]->getObject(1)->_click = 0; + _rooms[MEETUP2]->getObject(0)->_click = 1; + _rooms[MEETUP2]->removeSentence(0, 1); + } + _rooms[MEETUP2]->removeSentence(1, 1); + } + _rooms[AIRLOCK]->getObject(4)->setProperty(WORN); + _rooms[AIRLOCK]->getObject(5)->setProperty(WORN); + _rooms[AIRLOCK]->getObject(6)->setProperty(WORN); + _rooms[CAVE]->getObject(1)->_exitRoom = MEETUP2; + _guiEnabled = true; + CursorMan.showMouse(true); +} + +void GameManager::guardReturnedEvent() { + if (_currentRoom->getId() == GUARD) + busted(-1); + else if ((_currentRoom->getId() == CORRIDOR9) && (_currentRoom->isSectionVisible(27))) + busted(0); + + _rooms[GUARD]->setSectionVisible(1, false); + _rooms[GUARD]->getObject(3)->_click = 0; + _rooms[GUARD]->setSectionVisible(6, false); + _rooms[GUARD]->getObject(2)->disableProperty(OPENED); + _rooms[GUARD]->setSectionVisible(7, false); + _rooms[GUARD]->getObject(5)->_click = 255; + _rooms[CORRIDOR9]->setSectionVisible(27, false); + _rooms[CORRIDOR9]->setSectionVisible(28, true); + _rooms[CORRIDOR9]->getObject(1)->disableProperty(OPENED); +} + +void GameManager::walk(int imgId) { + if (_prevImgId) + _vm->renderImage(_prevImgId + 128); + _vm->renderImage(imgId); + _prevImgId = imgId; + wait2(3); +} + +void GameManager::guardWalkEvent() { + _prevImgId = 0; + bool behind = (!_rooms[BCORRIDOR]->getObject(_state._origin + 4)->hasProperty(OCCUPIED) || + _rooms[BCORRIDOR]->getObject(_state._origin + 4)->hasProperty(OPENED)); + _rooms[BCORRIDOR]->getObject(_state._origin + 4)->disableProperty(OCCUPIED); + if (_currentRoom == _rooms[BCORRIDOR]) { + if (_vm->_messageDisplayed) + _vm->removeMessage(); + + if (!behind) { + _vm->renderImage(_state._origin + 1); + _prevImgId = _state._origin + 1; + _vm->playSound(kAudioDoorOpen); + wait2(3); + } + + int imgId; + switch (_state._origin) { + case 0: + imgId = 11; + break; + case 1: + imgId = 16; + break; + case 2: + imgId = 15; + break; + case 3: + default: + imgId = 20; + break; + } + _vm->renderImage(imgId); + if (!behind) { + wait2(3); + _vm->renderImage(_prevImgId + 128); + _vm->playSound(kAudioDoorClose); + } + + _prevImgId = imgId; + wait2(3); + switch (_state._origin) { + case 0: + walk(12); + walk(13); + break; + case 1: + walk(17); + walk(18); + break; + case 2: + walk(14); + walk(13); + break; + case 3: + walk(19); + walk(18); + } + + if (!_state._playerHidden) { + if (_state._origin & 1) + walk(10); + else + walk(5); + busted(-1); + } + + if ((_state._origin & 1) && !(_state._destination & 1)) { + for (int i = 10; i >= 5; i--) + walk(i); + walk(13); + } else if (!(_state._origin & 1) && (_state._destination & 1)) { + for (int i = 5; i <= 10; i++) + walk(i); + walk(18); + } + + switch (_state._destination) { + case 0: + for (int i = 13; i >= 11; i--) + walk(i); + break; + case 1: + for (int i = 18; i >= 16; i--) + walk(i); + break; + case 2: + for (int i = 13; i <= 15; i++) + walk(i); + break; + case 3: + for (int i = 18; i <= 20; i++) + walk(i); + } + + if (behind) { + _vm->renderImage(_state._destination + 1); + _vm->playSound(kAudioDoorOpen); + wait2(3); + _vm->renderImage(_prevImgId + 128); + wait2(3); + _vm->renderImage(_state._destination + 1 + 128); + _vm->playSound(kAudioDoorClose); + _rooms[BCORRIDOR]->getObject(_state._destination + 4)->setProperty(OCCUPIED); + _state._destination = 255; + } else if (_rooms[BCORRIDOR]->isSectionVisible(_state._destination + 1)) { + _vm->renderImage(_prevImgId + 128); + _rooms[BCORRIDOR]->getObject(_state._destination + 4)->setProperty(OCCUPIED); + SWAP(_state._origin, _state._destination); + _state._eventTime = _state._time + ticksToMsec(60); + _state._eventCallback = kGuardWalkFn; + } else { + wait2(18); + SWAP(_state._origin, _state._destination); + _state._eventCallback = kGuardWalkFn; + } + } else if (behind) { + _rooms[BCORRIDOR]->getObject(_state._destination + 4)->setProperty(OCCUPIED); + if (_currentRoom == _rooms[OFFICE_L1 + _state._destination]) + busted(0); + _state._destination = 255; + } else if (_rooms[BCORRIDOR]->isSectionVisible(_state._destination + 1) && _rooms[OFFICE_L1 + _state._destination]->getObject(0)->hasProperty(OPENED)) { + _rooms[BCORRIDOR]->getObject(_state._destination + 4)->setProperty(OCCUPIED); + if (_currentRoom == _rooms[OFFICE_L1 + _state._destination]) + busted(0); + SWAP(_state._origin, _state._destination); + _state._eventTime = _state._time + ticksToMsec(60); + _state._eventCallback = kGuardWalkFn; + } else { + SWAP(_state._origin, _state._destination); + _state._eventCallback = kGuardWalkFn; + } +} + +void GameManager::taxiEvent() { + if (_currentRoom->getId() == SIGN) { + changeRoom(STATION); + _vm->renderRoom(*_currentRoom); + } + + _vm->renderImage(1); + _vm->renderImage(2); + _vm->playSound(kAudioRocks); + screenShake(); + _vm->renderImage(9); + _currentRoom->getObject(1)->setProperty(OPENED); + _vm->renderImage(1); + _currentRoom->setSectionVisible(2, false); + _vm->renderImage(3); + for (int i = 4; i <= 8; i++) { + wait2(2); + _vm->renderImage(invertSection(i - 1)); + _vm->renderImage(i); + } + _rooms[SIGN]->setSectionVisible(2, false); + _rooms[SIGN]->setSectionVisible(3, true); +} + +void GameManager::searchStartEvent() { + if ((_currentRoom >= _rooms[CORRIDOR1]) && (_currentRoom <= _rooms[BCORRIDOR])) + busted(0); + _state._corridorSearch = true; +} + +void GameManager::outro() { + _vm->playSoundMod(kMusicOutro); + _vm->paletteFadeOut(); + _vm->setCurrentImage(55); + _vm->renderImage(0); + _vm->paletteFadeIn(); + getInput(); + _vm->paletteFadeOut(); + _vm->_brightness = 1; + + Common::Event event; + event.type = Common::EVENT_RTL; + _vm->getEventManager()->pushEvent(event); +} + +void GameManager::great(uint number) { + if (number && (_state._greatFlag & (1 << number))) + return; + + _vm->playSound(kAudioSuccess); + _state._greatFlag |= 1 << number; +} + +bool GameManager::airless() { + return (_currentRoom->getId() == HOLD || + _currentRoom->getId() == LANDINGMODULE || + _currentRoom->getId() == GENERATOR || + _currentRoom->getId() == OUTSIDE || + _currentRoom->getId() == ROCKS || + _currentRoom->getId() == CAVE || + _currentRoom->getId() == MEETUP || + _currentRoom->getId() == MEETUP2 || + _currentRoom->getId() == MEETUP3 || + (_currentRoom->getId() == AIRLOCK && _rooms[AIRLOCK]->getObject(1)->hasProperty(OPENED))); +} + +void GameManager::sentence(int number, bool brightness) { + if (number < 0) + return; + _vm->renderBox(0, 141 + _rowsStart[number] * 10, 320, _rows[number] * 10 - 1, brightness ? kColorWhite44 : kColorWhite25); + if (_texts[_rowsStart[number]] == kStringDialogSeparator) + _vm->renderText(kStringConversationEnd, 1, 142 + _rowsStart[number] * 10, brightness ? kColorRed : kColorDarkRed); + else { + for (int r = _rowsStart[number]; r < _rowsStart[number] + _rows[number]; ++r) + _vm->renderText(_texts[r], 1, 142 + r * 10, brightness ? kColorGreen : kColorDarkGreen); + } +} + +void GameManager::say(StringID textId) { + Common::String str = _vm->getGameString(textId); + if (!str.empty()) + say(str.c_str()); +} + +void GameManager::say(const char *text) { + Common::String t(text); + char *row[6]; + Common::String::iterator p = t.begin(); + uint numRows = 0; + while (*p) { + row[numRows++] = p; + while ((*p != '\0') && (*p != '|')) { + ++p; + } + if (*p == '|') { + *p = 0; + ++p; + } + } + + _vm->renderBox(0, 138, 320, 62, kColorBlack); + _vm->renderBox(0, 141, 320, numRows * 10 - 1, kColorWhite25); + for (uint r = 0; r < numRows; ++r) + _vm->renderText(row[r], 1, 142 + r * 10, kColorDarkGreen); + waitOnInput((t.size() + 20) * _vm->_textSpeed / 10); + _vm->renderBox(0, 138, 320, 62, kColorBlack); +} + +void GameManager::reply(StringID textId, int aus1, int aus2) { + Common::String str = _vm->getGameString(textId); + if (!str.empty()) + reply(str.c_str(), aus1, aus2); +} + +void GameManager::reply(const char *text, int aus1, int aus2) { + if (*text != '|') + _vm->renderMessage(text, kMessageTop); + + for (int z = (strlen(text) + 20) * _vm->_textSpeed / 40; z > 0; --z) { + _vm->renderImage(aus1); + waitOnInput(2); + if (_keyPressed || _mouseClicked) + z = 1; + _vm->renderImage(aus2); + waitOnInput(2); + if (_keyPressed || _mouseClicked) + z = 1; + } + if (*text != '|') + _vm->removeMessage(); +} + +int GameManager::dialog(int num, byte rowLength[6], StringID text[6], int number) { + _vm->_allowLoadGame = false; + _guiEnabled = false; + + bool remove[6]; + for (int i = 0; i < 5; ++i) + remove[i] = _currentRoom->sentenceRemoved(i, number); + // The original does not initialize remove[5]!!! + // Set it to false/0. But maybe the loop above should use 6 instead of 5? + remove[5] = false; + + _vm->renderBox(0, 138, 320, 62, kColorBlack); + + for (int i = 0; i < 6 ; ++i) + _sentenceNumber[i] = -1; + + int r = 0, rq = 0; + for (int i = 0; i < num; ++i) { + if (!remove[i]) { + _rowsStart[i] = r; + _rows[i] = rowLength[i]; + for (int j = 0; j < _rows[i]; ++j, ++r, ++rq) { + _texts[r] = text[rq]; + _sentenceNumber[r] = i; + } + sentence(i, false); + } else + rq += rowLength[i]; + } + + _currentSentence = -1; + do { + mouseInput3(); + } while (_currentSentence == -1 && !_vm->shouldQuit()); + + _vm->renderBox(0, 138, 320, 62, kColorBlack); + + if (number && _texts[_rowsStart[_currentSentence]] != kStringDialogSeparator) + _currentRoom->removeSentence(_currentSentence, number); + + _guiEnabled = true; + _vm->_allowLoadGame = true; + + return _currentSentence; +} + +void GameManager::mousePosDialog(int x, int y) { + int a = y < 141 ? -1 : _sentenceNumber[(y - 141) / 10]; + if (a != _currentSentence) { + sentence(_currentSentence, false); + _currentSentence = a; + sentence(_currentSentence, true); + } +} + +void GameManager::turnOff() { + if (_state._powerOff) + return; + + _state._powerOff = true; + roomBrightness(); +} + +void GameManager::turnOn() { + if (!_state._powerOff) + return; + + _state._powerOff = false; + _vm->_brightness = 255; + _rooms[SLEEP]->setSectionVisible(1, false); + _rooms[SLEEP]->setSectionVisible(2, false); + _rooms[COCKPIT]->setSectionVisible(22, false); +} + +void GameManager::takeObject(Object &obj) { + if (obj.hasProperty(CARRIED)) + return; + + if (obj._section != 0) + _vm->renderImage(obj._section); + obj._click = obj._click2 = 255; + _inventory.add(obj); +} + +void GameManager::drawCommandBox() { + for (int i = 0; i < ARRAYSIZE(_guiCommandButton); ++i) { + _vm->renderBox(_guiCommandButton[i].left, + _guiCommandButton[i].top, + _guiCommandButton[i].width(), + _guiCommandButton[i].height(), + _guiCommandButton[i]._bgColor); + _vm->renderText(_guiCommandButton[i]._text, + _guiCommandButton[i]._textPosition.x, + _guiCommandButton[i]._textPosition.y, + _guiCommandButton[i]._textColor); + } +} + +void GameManager::drawInventory() { + for (int i = 0; i < ARRAYSIZE(_guiInventory); ++i) { + _vm->renderBox(_guiInventory[i].left, + _guiInventory[i].top, + _guiInventory[i].width(), + _guiInventory[i].height(), + _guiInventory[i]._bgColor); + + _vm->renderText(_inventory.get(i + _inventoryScroll)->_name, + _guiInventory[i]._textPosition.x, + _guiInventory[i]._textPosition.y, + _guiInventory[i]._textColor); + } + + _vm->renderBox(_guiInventoryArrow[0].left, + _guiInventoryArrow[0].top, + _guiInventoryArrow[0].width(), + _guiInventoryArrow[0].height(), + _guiInventoryArrow[0]._bgColor); + _vm->renderBox(_guiInventoryArrow[1].left, + _guiInventoryArrow[1].top, + _guiInventoryArrow[1].width(), + _guiInventoryArrow[1].height(), + _guiInventoryArrow[1]._bgColor); + if (_inventory.getSize() > ARRAYSIZE(_guiInventory)) { + if (_inventoryScroll != 0) { + _vm->renderText(_guiInventoryArrow[0]._text, + _guiInventoryArrow[0]._textPosition.x, + _guiInventoryArrow[0]._textPosition.y, + _guiInventoryArrow[0]._textColor); + } + if (_inventoryScroll + ARRAYSIZE(_guiInventory) < _inventory.getSize()) { + _vm->renderText(_guiInventoryArrow[1]._text, + _guiInventoryArrow[1]._textPosition.x, + _guiInventoryArrow[1]._textPosition.y, + _guiInventoryArrow[1]._textColor); + } + } +} + +uint16 GameManager::getKeyInput(bool blockForPrintChar) { + while (!_vm->shouldQuit()) { + _vm->updateEvents(); + if (_keyPressed) { + if (blockForPrintChar) { + if (Common::isPrint(_key.keycode) || + _key.keycode == Common::KEYCODE_BACKSPACE || + _key.keycode == Common::KEYCODE_DELETE || + _key.keycode == Common::KEYCODE_RETURN || + _key.keycode == Common::KEYCODE_SPACE || + _key.keycode == Common::KEYCODE_ESCAPE || + _key.keycode == Common::KEYCODE_UP || + _key.keycode == Common::KEYCODE_DOWN || + _key.keycode == Common::KEYCODE_LEFT || + _key.keycode == Common::KEYCODE_RIGHT) { + if (_key.flags & Common::KBD_SHIFT) + return toupper(_key.ascii); + else + return tolower(_key.ascii); + } + } else { + return _key.ascii; + } + } + g_system->updateScreen(); + g_system->delayMillis(_vm->_delay); + } + return 0; +} + +Common::EventType GameManager::getMouseInput() { + while (!_vm->shouldQuit()) { + _vm->updateEvents(); + if (_mouseClicked) + return _mouseClickType; + g_system->updateScreen(); + g_system->delayMillis(_vm->_delay); + } + return Common::EVENT_INVALID; +} + +void GameManager::getInput() { + while (!_vm->shouldQuit()) { + _vm->updateEvents(); + if (_mouseClicked || _keyPressed) + break; + g_system->updateScreen(); + g_system->delayMillis(_vm->_delay); + } +} + +void GameManager::mouseInput3() { + do { + _vm->updateEvents(); + mousePosDialog(_mouseX, _mouseY); + g_system->updateScreen(); + g_system->delayMillis(_vm->_delay); + } while (!_mouseClicked && !_vm->shouldQuit()); +} + +void GameManager::roomBrightness() { + _roomBrightness = 255; + if ((_currentRoom->getId() != OUTSIDE) && (_currentRoom->getId() < ROCKS) && _state._powerOff) + _roomBrightness = 153; + else if (_currentRoom->getId() == CAVE) + _roomBrightness = 0; + else if ((_currentRoom->getId() == GUARD3) && _state._powerOff) + _roomBrightness = 0; + + if (_vm->_brightness != 0) + _vm->_brightness = _roomBrightness; + + _vm->paletteBrightness(); +} + +void GameManager::changeRoom(RoomID id) { + _currentRoom = _rooms[id]; + _newRoom = true; +} + +void GameManager::wait2(int ticks) { + int32 end = _state._time + ticksToMsec(ticks); + do { + g_system->delayMillis(_vm->_delay); + _vm->updateEvents(); + g_system->updateScreen(); + } while (_state._time < end && !_vm->shouldQuit()); +} + +void GameManager::waitOnInput(int ticks) { + int32 end = _state._time + ticksToMsec(ticks); + do { + g_system->delayMillis(_vm->_delay); + _vm->updateEvents(); + g_system->updateScreen(); + } while (_state._time < end && !_vm->shouldQuit() && !_keyPressed && !_mouseClicked); +} + +bool GameManager::waitOnInput(int ticks, Common::KeyCode &keycode) { + keycode = Common::KEYCODE_INVALID; + int32 end = _state._time + ticksToMsec(ticks); + do { + g_system->delayMillis(_vm->_delay); + _vm->updateEvents(); + g_system->updateScreen(); + if (_keyPressed) { + keycode = _key.keycode; + _key.reset(); + return true; + } else if (_mouseClicked) + return true; + } while (_state._time < end && !_vm->shouldQuit()); + return false; +} + +void GameManager::setAnimationTimer(int ticks) { + _animationTimer = ticksToMsec(ticks); +} + +void GameManager::handleTime() { + if (_timerPaused) + return; + int32 newTime = g_system->getMillis(); + int32 delta = newTime - _oldTime; + _state._time += delta; + if (_state._time > 86400000) { + _state._time -= 86400000; // 24h wrap around + _state._alarmOn = (_state._timeAlarm > _state._time); + } + if (_animationTimer > delta) + _animationTimer -= delta; + else + _animationTimer = 0; + + _oldTime = newTime; +} + +void GameManager::pauseTimer(bool pause) { + if (pause == _timerPaused) + return; + + if (pause) { + _timerPaused = true; + int32 delta = g_system->getMillis() - _oldTime; + _timePaused = _state._time + delta; + } else { + _state._time = _timePaused; + _oldTime = g_system->getMillis(); + _timerPaused = false; + } +} + +void GameManager::loadTime() { + pauseTimer(false); +} + +void GameManager::saveTime() { + pauseTimer(true); +} + +void GameManager::screenShake() { + for (int i = 0; i < 12; ++i) { + _vm->_system->setShakePos(8); + wait2(1); + _vm->_system->setShakePos(0); + wait2(1); + } +} + +void GameManager::shock() { + _vm->playSound(kAudioShock); + dead(kStringShock); +} + +void GameManager::showMenu() { + _vm->renderBox(0, 138, 320, 62, 0); + _vm->renderBox(0, 140, 320, 9, kColorWhite25); + drawCommandBox(); + _vm->renderBox(281, 161, 39, 39, kColorWhite25); + drawInventory(); +} + +void GameManager::drawMapExits() { +// TODO: Preload _exitList on room entry instead on every call + _vm->renderBox(281, 161, 39, 39, kColorWhite25); + + for (int i = 0; i < 25; i++) + _exitList[i] = -1; + for (int i = 0; i < kMaxObject; i++) { + if (_currentRoom->getObject(i)->hasProperty(EXIT)) { + byte r = _currentRoom->getObject(i)->_direction; + _exitList[r] = i; + int x = 284 + 7 * (r % 5); + int y = 164 + 7 * (r / 5); + _vm->renderBox(x, y, 5, 5, kColorDarkRed); + } + } +} + +void GameManager::animationOff() { + _animationEnabled = false; +} + +void GameManager::animationOn() { + _animationEnabled = true; +} + +void GameManager::edit(Common::String &input, int x, int y, uint length) { + bool isEditing = true; + uint cursorIndex = input.size(); + // NOTE: Pixels for char needed = kFontWidth + 2px left and right side bearing + int overdrawWidth = ((int)((length + 1) * (kFontWidth + 2)) > (kScreenWidth - x)) ? + kScreenWidth - x : (length + 1) * (kFontWidth + 2); + + while (isEditing) { + _vm->_textCursorX = x; + _vm->_textCursorY = y; + _vm->_textColor = kColorWhite99; + _vm->renderBox(x, y - 1, overdrawWidth, 9, kColorDarkBlue); + for (uint i = 0; i < input.size(); ++i) { + // Draw char highlight depending on cursor position + if (i == cursorIndex) { + _vm->renderBox(_vm->_textCursorX, y - 1, _vm->textWidth(input[i]), 9, kColorWhite99); + _vm->_textColor = kColorDarkBlue; + _vm->renderText(input[i]); + _vm->_textColor = kColorWhite99; + } else + _vm->renderText(input[i]); + } + + if (cursorIndex == input.size()) { + _vm->renderBox(_vm->_textCursorX + 1, y - 1, 6, 9, kColorDarkBlue); + _vm->renderBox(_vm->_textCursorX , y - 1, 1, 9, kColorWhite99); + } + + getKeyInput(true); + if (_vm->shouldQuit()) + break; + switch (_key.keycode) { + case Common::KEYCODE_RETURN: + case Common::KEYCODE_ESCAPE: + isEditing = false; + break; + case Common::KEYCODE_UP: + case Common::KEYCODE_DOWN: + cursorIndex = input.size(); + break; + case Common::KEYCODE_LEFT: + if (cursorIndex != 0) + --cursorIndex; + break; + case Common::KEYCODE_RIGHT: + if (cursorIndex != input.size()) + ++cursorIndex; + break; + case Common::KEYCODE_DELETE: + if (cursorIndex != input.size()) + input.deleteChar(cursorIndex); + break; + case Common::KEYCODE_BACKSPACE: + if (cursorIndex != 0) { + --cursorIndex; + input.deleteChar(cursorIndex); + } + break; + default: + if (Common::isPrint(_key.ascii) && input.size() < length) { + input.insertChar(_key.ascii, cursorIndex); + ++cursorIndex; + } + break; + } + } +} + +void GameManager::shot(int a, int b) { + if (a) + _vm->renderImage(a); + _vm->playSound(kAudioGunShot); + wait2(2); + if (b) + _vm->renderImage(b); + wait2(2); + if (a) + _vm->renderImage(a); + _vm->playSound(kAudioGunShot); + wait2(2); + if (b) + _vm->renderImage(b); + + dead(kStringShot); +} + +void GameManager::takeMoney(int amount) { + Object *moneyObject = _rooms[INTRO]->getObject(4); + _state._money += amount; + _vm->setGameString(kStringInventoryMoney, Common::String::format("%d Xa", _state._money)); + + if (_state._money > 0) { + takeObject(*moneyObject); + if (amount > 0) + great(0); + } else { + _inventory.remove(*moneyObject); + } +} + +void GameManager::drawStatus() { + int index = static_cast<int>(_inputVerb); + _vm->renderBox(0, 140, 320, 9, kColorWhite25); + _vm->renderText(_vm->getGameString(guiStatusCommands[index]), 1, 141, kColorDarkGreen); + + if (Object::isNullObject(_inputObject[0])) + _vm->renderText(_currentInputObject->_name); + else { + _vm->renderText(_inputObject[0]->_name); + if (_inputVerb == ACTION_GIVE) + _vm->renderText(kPhrasalVerbParticleGiveTo); + else if (_inputVerb == ACTION_USE) + _vm->renderText(kPhrasalVerbParticleUseWith); + + _vm->renderText(_currentInputObject->_name); + } +} + +void GameManager::openLocker(const Room *room, Object *obj, Object *lock, int section) { + _vm->renderImage(section); + obj->setProperty(OPENED); + lock->_click = 255; + SWAP(obj->_click, obj->_click2); +} + +void GameManager::closeLocker(const Room *room, Object *obj, Object *lock, int section) { + if (!obj->hasProperty(OPENED)) + _vm->renderMessage(kStringCloseLocker_1); + else { + _vm->renderImage(invertSection(section)); + obj->disableProperty(OPENED); + lock->_click = lock->_click2; + SWAP(obj->_click, obj->_click2); + } +} + +void GameManager::dead(StringID messageId) { + _vm->paletteFadeOut(); + _guiEnabled = false; + _vm->setCurrentImage(11); + _vm->renderImage(0); + _vm->renderMessage(messageId); + _vm->playSound(kAudioDeath); + _vm->paletteFadeIn(); + getInput(); + _vm->paletteFadeOut(); + _vm->removeMessage(); + + // TODO: Load screen + destroyRooms(); + initRooms(); + initState(); + initGui(); + _inventory.clear(); + changeRoom(CABIN_R3); + g_system->fillScreen(kColorBlack); + _vm->paletteFadeIn(); + + _guiEnabled = true; +} + +int GameManager::invertSection(int section) { + if (section < 128) + section += 128; + else + section -= 128; + + return section; +} + +bool GameManager::isHelmetOff() { + Object *helmet = _inventory.get(HELMET); + if (helmet && helmet->hasProperty(WORN)) { + _vm->renderMessage(kStringIsHelmetOff_1); + return false; + } + + return true; +} + +bool GameManager::genericInteract(Action verb, Object &obj1, Object &obj2) { + if ((verb == ACTION_USE) && (obj1._id == SCHNUCK)) { + if (isHelmetOff()) { + takeObject(obj1); + _vm->renderMessage(kStringGenericInteract_1); + _inventory.remove(obj1); + } + } else if ((verb == ACTION_USE) && (obj1._id == EGG)) { + if (isHelmetOff()) { + takeObject(obj1); + if (obj1.hasProperty(OPENED)) + _vm->renderMessage(kStringGenericInteract_1); + else + _vm->renderMessage(kStringGenericInteract_2); + + _inventory.remove(obj1); + } + } else if ((verb == ACTION_OPEN) && (obj1._id == EGG)) { + takeObject(obj1); + if (obj1.hasProperty(OPENED)) + _vm->renderMessage(kStringGenericInteract_3); + else { + takeObject(*_rooms[ENTRANCE]->getObject(8)); + _vm->renderMessage(kStringGenericInteract_4); + obj1.setProperty(OPENED); + } + } else if ((verb == ACTION_USE) && (obj1._id == PILL)) { + if (isHelmetOff()) { + _vm->renderMessage(kStringGenericInteract_5); + great(0); + _inventory.remove(obj1); + _state._language = 2; + takeObject(*_rooms[ENTRANCE]->getObject(17)); + } + } else if ((verb == ACTION_LOOK) && (obj1._id == PILL_HULL) && + (_state._language == 2)) { + _vm->renderMessage(kStringGenericInteract_6); + _state._language = 1; + } else if ((verb == ACTION_OPEN) && (obj1._id == WALLET)) { + if (!_rooms[ROGER]->getObject(3)->hasProperty(CARRIED)) + _vm->renderMessage(kStringGenericInteract_7); + else if (_rooms[ROGER]->getObject(7)->hasProperty(CARRIED)) + _vm->renderMessage(kStringGenericInteract_8); + else { + _vm->renderMessage(kStringGenericInteract_9); + takeObject(*_rooms[ROGER]->getObject(7)); + takeObject(*_rooms[ROGER]->getObject(8)); + } + } else if ((verb == ACTION_LOOK) && (obj1._id == NEWSPAPER)) { + _vm->renderMessage(kStringGenericInteract_10); + waitOnInput(_timer1); + _vm->removeMessage(); + _vm->renderMessage(kStringGenericInteract_11); + waitOnInput(_timer1); + _vm->removeMessage(); + _vm->setCurrentImage(2); + _vm->renderImage(0); + _vm->setColor63(40); + getInput(); + _vm->renderRoom(*_currentRoom); + roomBrightness(); + _vm->renderMessage(kStringGenericInteract_12); + } else if ((verb == ACTION_LOOK) && (obj1._id == KEYCARD2)) { + _vm->renderMessage(obj1._description); + obj1._description = kStringKeycard2Description2; + } else if ((verb == ACTION_LOOK) && (obj1._id == WATCH)) + _vm->renderMessage(kStringGenericInteract_13, kMessageNormal, timeToString(_state._time), timeToString(_state._timeAlarm)); + else if ((verb == ACTION_PRESS) && (obj1._id == WATCH)) { + bool validInput = true; + int hours = 0; + int minutes = 0; + + animationOff(); + _vm->saveScreen(88, 87, 144, 24); + _vm->renderBox(88, 87, 144, 24, kColorWhite35); + _vm->renderText(kStringGenericInteract_14, 91, 90, kColorWhite99); + Common::String input; + do { + validInput = true; + input.clear(); + _vm->renderBox(91, 99, 138, 9, kColorDarkBlue); + edit(input, 91, 100, 5); + + int seperator = -1; + for (uint i = 0; i < input.size(); ++i) { + if (input[i] == ':') { + seperator = i; + break; + } + } + if ((seperator == -1) || (seperator > 2)) { + validInput = false; + continue; + } + + int decimalPlace = 1; + for (int i = 0; i < seperator; ++i) { + if (Common::isDigit(input[i])) { + hours = hours * decimalPlace + (input[i] - '0'); + decimalPlace *= 10; + } else { + validInput = false; + break; + } + } + decimalPlace = 1; + for (uint i = seperator + 1; i < input.size(); ++i) { + if (Common::isDigit(input[i])) { + minutes = minutes * decimalPlace + (input[i] - '0'); + decimalPlace *= 10; + } else { + validInput = false; + break; + } + } + if ((hours > 23) || (minutes > 59)) + validInput = false; + + animationOn(); + } while (!validInput && (_key.keycode != Common::KEYCODE_ESCAPE)); + + _vm->restoreScreen(); + if (_key.keycode != Common::KEYCODE_ESCAPE) { + _state._timeAlarm = (hours * 60 + minutes) * 60 * 1000; + _state._alarmOn = (_state._timeAlarm > _state._time); + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, TERMINALSTRIP, WIRE)) { + Room *r = _rooms[CABIN_L3]; + if (!r->getObject(8)->hasProperty(CARRIED)) { + if (r->isSectionVisible(26)) + _vm->renderMessage(kStringTakeMessage); + else + return false; + } else { + r->getObject(8)->_name = kStringWireAndClip; + r = _rooms[HOLD]; + _inventory.remove(*r->getObject(2)); + _state._terminalStripConnected = true; + _state._terminalStripWire = true; + _vm->renderMessage(kStringOk); + } + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, TERMINALSTRIP, SPOOL)) { + Room *r = _rooms[CABIN_L2]; + takeObject(*r->getObject(9)); + r->getObject(9)->_name = kSringSpoolAndClip; + r = _rooms[HOLD]; + _inventory.remove(*r->getObject(2)); + _state._terminalStripConnected = true; + _vm->renderMessage(kStringOk); + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, WIRE, SPOOL)) { + Room *r = _rooms[CABIN_L3]; + if (!_state._terminalStripConnected) { + if (r->isSectionVisible(26)) + _vm->renderMessage(kStringCable3); + else + return false; + } else { + if (!r->getObject(8)->hasProperty(CARRIED)) + _vm->renderMessage(kStringTakeMessage); + else { + r = _rooms[CABIN_L2]; + takeObject(*r->getObject(9)); + r = _rooms[CABIN_L3]; + r->getObject(8)->_name = kStringGeneratorWire; + r = _rooms[CABIN_L2]; + _inventory.remove(*r->getObject(9)); + _state._cableConnected = true; + _vm->renderMessage(kStringOk); + } + } + } else if ((verb == ACTION_USE) && (obj1._id == SUIT)) { + takeObject(obj1); + if ((_currentRoom->getId() >= ENTRANCE) && (_currentRoom->getId() <= ROGER)) { + if (obj1.hasProperty(WORN)) { + _vm->renderMessage(kStringGenericInteract_15); + _rooms[AIRLOCK]->getObject(4)->disableProperty(WORN); + _rooms[AIRLOCK]->getObject(5)->disableProperty(WORN); + _rooms[AIRLOCK]->getObject(6)->disableProperty(WORN); + } else + _vm->renderMessage(kStringGenericInteract_16); + } else { + if (obj1.hasProperty(WORN)) { + Room *r = _rooms[AIRLOCK]; + if (r->getObject(4)->hasProperty(WORN)) + _vm->renderMessage(kStringGenericInteract_17); + else if (r->getObject(6)->hasProperty(WORN)) + _vm->renderMessage(kStringGenericInteract_18); + else { + obj1.disableProperty(WORN); + _vm->renderMessage(kStringGenericInteract_19); + } + } else { + obj1.setProperty(WORN); + _vm->renderMessage(kStringGenericInteract_20); + } + } + } else if ((verb == ACTION_USE) && (obj1._id == HELMET)) { + takeObject(obj1); + if ((_currentRoom->getId() >= ENTRANCE) && (_currentRoom->getId() <= ROGER)) { + if (obj1.hasProperty(WORN)) { + _vm->renderMessage(kStringGenericInteract_21); + _rooms[AIRLOCK]->getObject(4)->disableProperty(WORN); + _rooms[AIRLOCK]->getObject(5)->disableProperty(WORN); + _rooms[AIRLOCK]->getObject(6)->disableProperty(WORN); + } else + _vm->renderMessage(kStringGenericInteract_22); + } else if (obj1.hasProperty(WORN)) { + obj1.disableProperty(WORN); + _vm->renderMessage(kStringGenericInteract_24); + getInput(); + if (airless()) + dead(kStringGenericInteract_23); + } else { + Room *r = _rooms[AIRLOCK]; + if (r->getObject(5)->hasProperty(WORN)) { + obj1.setProperty(WORN); + _vm->renderMessage(kStringGenericInteract_25); + } else + _vm->renderMessage(kStringGenericInteract_26); + } + } else if ((verb == ACTION_USE) && (obj1._id == LIFESUPPORT)) { + takeObject(obj1); + if ((_currentRoom->getId() >= ENTRANCE) && (_currentRoom->getId() <= ROGER)) { + if (obj1.hasProperty(WORN)) { + _vm->renderMessage(kStringGenericInteract_21); + _rooms[AIRLOCK]->getObject(4)->disableProperty(WORN); + _rooms[AIRLOCK]->getObject(5)->disableProperty(WORN); + _rooms[AIRLOCK]->getObject(6)->disableProperty(WORN); + } else + _vm->renderMessage(kStringGenericInteract_22); + } else if (obj1.hasProperty(WORN)) { + obj1.disableProperty(WORN); + _vm->renderMessage(kStringGenericInteract_28); + getInput(); + if (airless()) + dead(kStringGenericInteract_27); + } else { + Room *r = _rooms[AIRLOCK]; + if (r->getObject(5)->hasProperty(WORN)) { + obj1.setProperty(WORN); + _vm->renderMessage(kStringGenericInteract_29); + } else + _vm->renderMessage(kStringGenericInteract_26); + } + } else if ((verb == ACTION_WALK) && (obj1._id == BATHROOM_DOOR)) { + _rooms[BATHROOM]->getObject(2)->_exitRoom = _currentRoom->getId(); + return false; + } else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, WIRE, SOCKET)) + _vm->renderMessage(kStringGenericInteract_30); + else if ((verb == ACTION_LOOK) && (obj1._id == BOOK2)) { + _vm->renderMessage(kStringGenericInteract_31); + waitOnInput(_timer1); + _vm->removeMessage(); + _vm->renderMessage(kStringGenericInteract_32); + } else + return false; + + return true; +} + +void GameManager::handleInput() { + bool validCommand = genericInteract(_inputVerb, *_inputObject[0], *_inputObject[1]); + if (!validCommand) + validCommand = _currentRoom->interact(_inputVerb, *_inputObject[0], *_inputObject[1]); + if (!validCommand) { + switch (_inputVerb) { + case ACTION_LOOK: + _vm->renderMessage(_inputObject[0]->_description); + break; + + case ACTION_WALK: + if (_inputObject[0]->hasProperty(CARRIED)) { + // You already carry this. + _vm->renderMessage(kStringGenericInteract_33); + } else if (!_inputObject[0]->hasProperty(EXIT)) { + // You're already there. + _vm->renderMessage(kStringGenericInteract_34); + } else if (_inputObject[0]->hasProperty(OPENABLE) && !_inputObject[0]->hasProperty(OPENED)) { + // This is closed + _vm->renderMessage(kStringShipHold9); + } else + changeRoom(_inputObject[0]->_exitRoom); + + break; + + case ACTION_TAKE: + if (_inputObject[0]->hasProperty(OPENED)) { + // You already have that + _vm->renderMessage(kStringGenericInteract_35); + } else if (_inputObject[0]->hasProperty(UNNECESSARY)) { + // You do not need that. + _vm->renderMessage(kStringGenericInteract_36); + } else if (!_inputObject[0]->hasProperty(TAKE)) { + // You can't take that. + _vm->renderMessage(kStringGenericInteract_37); + } else + takeObject(*_inputObject[0]); + + break; + + case ACTION_OPEN: + if (!_inputObject[0]->hasProperty(OPENABLE)) { + // This can't be opened + _vm->renderMessage(kStringGenericInteract_38); + } else if (_inputObject[0]->hasProperty(OPENED)) { + // This is already opened. + _vm->renderMessage(kStringGenericInteract_39); + } else if (_inputObject[0]->hasProperty(CLOSED)) { + // This is locked. + _vm->renderMessage(kStringGenericInteract_40); + } else { + _vm->renderImage(_inputObject[0]->_section); + _inputObject[0]->setProperty(OPENED); + byte i = _inputObject[0]->_click; + _inputObject[0]->_click = _inputObject[0]->_click2; + _inputObject[0]->_click2 = i; + _vm->playSound(kAudioDoorOpen); + } + break; + + case ACTION_CLOSE: + if (!_inputObject[0]->hasProperty(OPENABLE) || + (_inputObject[0]->hasProperty(CLOSED) && + _inputObject[0]->hasProperty(OPENED))) { + // This can't be closed. + _vm->renderMessage(kStringGenericInteract_41); + } else if (!_inputObject[0]->hasProperty(OPENED)) { + // This is already closed. + _vm->renderMessage(kStringCloseLocker_1); + } else { + _vm->renderImage(invertSection(_inputObject[0]->_section)); + _inputObject[0]->disableProperty(OPENED); + byte i = _inputObject[0]->_click; + _inputObject[0]->_click = _inputObject[0]->_click2; + _inputObject[0]->_click2 = i; + _vm->playSound(kAudioDoorClose); + } + break; + + case ACTION_GIVE: + if (_inputObject[0]->hasProperty(CARRIED)) { + // Better keep it! + _vm->renderMessage(kStringGenericInteract_42); + } + break; + + default: + // This is not possible. + _vm->renderMessage(kStringGenericInteract_43); + } + } +} + +void GameManager::executeRoom() { + if (_processInput && !_vm->_messageDisplayed && _guiEnabled) { + handleInput(); + if (_mouseClicked) { + Common::Event event; + event.type = Common::EVENT_MOUSEMOVE; + event.mouse = Common::Point(0, 0); + _vm->getEventManager()->pushEvent(event); + event.type = Common::EVENT_MOUSEMOVE; + event.mouse = Common::Point(_mouseX, _mouseY); + _vm->getEventManager()->pushEvent(event); + } + + resetInputState(); + } + + if (_guiEnabled) { + if (!_vm->_messageDisplayed) { + g_system->fillScreen(kColorBlack); + _vm->renderRoom(*_currentRoom); + } + drawMapExits(); + drawInventory(); + drawStatus(); + drawCommandBox(); + } + + roomBrightness(); + if (_vm->_brightness == 0) + _vm->paletteFadeIn(); + + if (!_currentRoom->hasSeen() && _newRoom) { + _newRoom = false; + _currentRoom->onEntrance(); + } +} + +void GameManager::guardShot() { + _vm->renderImage(2); + _vm->renderImage(5); + wait2(3); + _vm->renderImage(2); + + _vm->playSound(kAudioVoiceHalt); + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) + wait2(1); + + _vm->renderImage(5); + wait2(5); + _vm->renderImage(3); + wait2(3); + + shot(4, 3); +} + +void GameManager::guard3Shot() { + _vm->renderImage(1); + wait2(3); + _vm->playSound(kAudioVoiceHalt); // 46/0 + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) + wait2(1); + + wait2(5); + _vm->renderImage(2); + wait2(3); + shot(3,2); +} + +void GameManager::alarm() { + if (_rooms[INTRO]->getObject(2)->hasProperty(CARRIED)) { + alarmSound(); + if (_currentRoom->getId() == GUARD) + guardShot(); + else if (_currentRoom->getId() == CORRIDOR4 || _currentRoom->getId() == CORRIDOR7) { + guardNoticed(); + _state._corridorSearch = true; + } else if (_currentRoom->getId() == GUARD3) + guard3Shot(); + else if (_currentRoom->getId() == CORRIDOR1) + busted(33); + } else { + if (_currentRoom->getId() == CORRIDOR2 || _currentRoom->getId() == CORRIDOR4 || + _currentRoom->getId() == GUARD || _currentRoom->getId() == CORRIDOR7 || + _currentRoom->getId() == CELL) + { + alarmSound(); + if (_currentRoom->getId() == GUARD) + guardShot(); + guardNoticed(); + if (_currentRoom->getId() == CORRIDOR4) + _state._corridorSearch = true; + } + _rooms[GUARD]->setSectionVisible(1, true); + _rooms[GUARD]->getObject(3)->_click = 255; + if (!_rooms[GUARD]->getObject(5)->hasProperty(CARRIED)) { + _rooms[GUARD]->setSectionVisible(7, true); + _rooms[GUARD]->getObject(5)->_click = 4; + } + _state._eventTime = _state._time + ticksToMsec(180); + _state._eventCallback = kGuardReturnedFn; + } +} + +void GameManager::alarmSound() { + animationOff(); + _vm->removeMessage(); + _vm->renderMessage(kStringAlarm); + + int32 end = _state._time + ticksToMsec(_timer1); + do { + _vm->playSound(kAudioAlarm); + while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle)) { + g_system->delayMillis(_vm->_delay); + _vm->updateEvents(); + g_system->updateScreen(); + } + } while (_state._time < end && !_vm->shouldQuit()); + + _vm->removeMessage(); + animationOn(); +} + +} diff --git a/engines/supernova/state.h b/engines/supernova/state.h new file mode 100644 index 0000000000..bb0b933b00 --- /dev/null +++ b/engines/supernova/state.h @@ -0,0 +1,234 @@ +/* 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 SUPERNOVA_STATE_H +#define SUPERNOVA_STATE_H + +#include "common/rect.h" +#include "common/keyboard.h" +#include "supernova/rooms.h" + +namespace Supernova { + +const int32 kMaxTimerValue = 0x7FFFFFFF; + +enum EventFunction { kNoFn, kSupernovaFn, kGuardReturnedFn, kGuardWalkFn, kTaxiFn, kSearchStartFn }; + +struct GameState { + int32 _time; + int32 _timeSleep; + int32 _timeAlarm; + int32 _eventTime; + EventFunction _eventCallback; + int32 _arrivalDaysLeft; + int32 _shipEnergyDaysLeft; + int32 _landingModuleEnergyDaysLeft; + uint16 _greatFlag; + int16 _timeRobot; + int16 _money; + byte _coins; + byte _shoes; + byte _origin; + byte _destination; + byte _language; + bool _corridorSearch; + bool _alarmOn; + bool _terminalStripConnected; + bool _terminalStripWire; + bool _cableConnected; + bool _powerOff; + bool _dream; + bool _nameSeen[4]; + bool _playerHidden; +}; + +class Inventory { +public: + Inventory(int &inventoryScroll) + : _numObjects(0) + , _inventoryScroll(inventoryScroll) + {} + + void add(Object &obj); + void remove(Object &obj); + void clear(); + Object *get(int index) const; + Object *get(ObjectID id) const; + int getSize() const { return _numObjects; } + +private: + Object *_inventory[kMaxCarry]; + int &_inventoryScroll; + int _numObjects; +}; + +class GuiElement : public Common::Rect { +public: + GuiElement(); + + void setSize(int x1, int y1, int x2, int y2); + void setText(const char *text); + void setTextPosition(int x, int y); + void setColor(int bgColor, int textColor, int bgColorHighlighted, int textColorHightlighted); + void setHighlight(bool isHighlighted); + + Common::Point _textPosition; + char _text[128]; + int _bgColor; + int _textColor; + int _bgColorNormal; + int _bgColorHighlighted; + int _textColorNormal; + int _textColorHighlighted; + bool _isHighlighted; +}; + +class GameManager { +public: + GameManager(SupernovaEngine *vm); + ~GameManager(); + + void processInput(Common::KeyState &state); + void processInput(); + void executeRoom(); + bool serialize(Common::WriteStream *out); + bool deserialize(Common::ReadStream *in, int version); + + static StringID guiCommands[]; + static StringID guiStatusCommands[]; + SupernovaEngine *_vm; + Common::KeyState _key; + Common::EventType _mouseClickType; + bool _mouseClicked; + bool _keyPressed; + int _mouseX; + int _mouseY; + int _mouseField; + Room *_currentRoom; + bool _newRoom; + Room *_rooms[NUMROOMS]; + Inventory _inventory; + GameState _state; + bool _processInput; + bool _guiEnabled; + bool _animationEnabled; + byte _roomBrightness; + Action _inputVerb; + Object *_currentInputObject; + Object *_inputObject[2]; + bool _waitEvent; + int32 _oldTime; + uint _timePaused; + bool _timerPaused; + int32 _timer1; + int32 _animationTimer; + int _inventoryScroll; + int _exitList[25]; + GuiElement _guiCommandButton[10]; + GuiElement _guiInventory[8]; + GuiElement _guiInventoryArrow[2]; + // 0 PC Speaker | 1 SoundBlaster | 2 No Sound + int _soundDevice; + // Dialog + int _currentSentence; + int _sentenceNumber[6]; + StringID _texts[6]; + byte _rows[6]; + byte _rowsStart[6]; + + void takeObject(Object &obj); + + void initState(); + void initRooms(); + void destroyRooms(); + void initGui(); + bool genericInteract(Action verb, Object &obj1, Object &obj2); + bool isHelmetOff(); + void great(uint number); + bool airless(); + void shock(); + Common::EventType getMouseInput(); + uint16 getKeyInput(bool blockForPrintChar = false); + void getInput(); + void mouseInput3(); + void wait2(int ticks); + void waitOnInput(int ticks); + bool waitOnInput(int ticks, Common::KeyCode &keycode); + void turnOff(); + void turnOn(); + void screenShake(); + void roomBrightness(); + void showMenu(); + void animationOff(); + void animationOn(); + void openLocker(const Room *room, Object *obj, Object *lock, int section); + void closeLocker(const Room *room, Object *obj, Object *lock, int section); + void edit(Common::String &input, int x, int y, uint length); + int invertSection(int section); + void drawMapExits(); + void drawStatus(); + void drawCommandBox(); + void drawInventory(); + void changeRoom(RoomID id); + void resetInputState(); + void handleInput(); + void handleTime(); + void pauseTimer(bool pause); + void loadTime(); + void saveTime(); + void setAnimationTimer(int ticks); + void dead(StringID messageId); + int dialog(int num, byte rowLength[6], StringID text[6], int number); + void sentence(int number, bool brightness); + void say(StringID textId); + void say(const char *text); + void reply(StringID textId, int aus1, int aus2); + void reply(const char *text, int aus1, int aus2); + void mousePosDialog(int x, int y); + void shot(int a, int b); + void takeMoney(int amount); + void search(int time); + void startSearch(); + void guardNoticed(); + void busted(int i); + void corridorOnEntrance(); + void telomat(int number); + void novaScroll(); + void supernovaEvent(); + void guardReturnedEvent(); + void walk(int a); + void guardWalkEvent(); + void taxiEvent(); + void searchStartEvent(); + void outro(); + void guardShot(); + void guard3Shot(); + void alarm(); + void alarmSound(); + +private: + int _prevImgId; +}; + +} + +#endif // SUPERNOVA_STATE_H diff --git a/engines/supernova/supernova.cpp b/engines/supernova/supernova.cpp new file mode 100644 index 0000000000..a9f29748f9 --- /dev/null +++ b/engines/supernova/supernova.cpp @@ -0,0 +1,1156 @@ +/* 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/mods/protracker.h" +#include "common/config-manager.h" +#include "common/debug.h" +#include "common/debug-channels.h" +#include "common/endian.h" +#include "common/error.h" +#include "common/events.h" +#include "common/file.h" +#include "common/fs.h" +#include "common/memstream.h" +#include "common/savefile.h" +#include "common/str.h" +#include "common/system.h" +#include "common/translation.h" +#include "engines/util.h" +#include "graphics/cursorman.h" +#include "graphics/surface.h" +#include "graphics/screen.h" +#include "graphics/palette.h" +#include "graphics/thumbnail.h" +#include "gui/saveload.h" + +#include "supernova/supernova.h" +#include "supernova/state.h" + +namespace Supernova { + +const AudioInfo audioInfo[kAudioNumSamples] = { + {44, 0, -1}, + {45, 0, -1}, + {46, 0, 2510}, + {46, 2510, 4020}, + {46, 4020, -1}, + {47, 0, 24010}, + {47, 24010, -1}, + {48, 0, 2510}, + {48, 2510, 10520}, + {48, 10520, 13530}, + {48, 13530, -1}, + {50, 0, 12786}, + {50, 12786, -1}, + {51, 0, -1}, + {53, 0, -1}, + {54, 0, 8010}, + {54, 8010, 24020}, + {54, 24020, 30030}, + {54, 30030, 31040}, + {54, 31040, -1} +}; + +const Object Object::nullObject; + +ObjectType operator|(ObjectType a, ObjectType b) { + return static_cast<ObjectType>(+a | +b); +} + +ObjectType operator&(ObjectType a, ObjectType b) { + return static_cast<ObjectType>(+a & +b); +} + +ObjectType operator^(ObjectType a, ObjectType b) { + return static_cast<ObjectType>(+a ^ +b); +} + +ObjectType &operator|=(ObjectType &a, ObjectType b) { + return a = a | b; +} + +ObjectType &operator&=(ObjectType &a, ObjectType b) { + return a = a & b; +} + +ObjectType &operator^=(ObjectType &a, ObjectType b) { + return a = a ^ b; +} + +SupernovaEngine::SupernovaEngine(OSystem *syst) + : Engine(syst) + , _console(NULL) + , _gm(NULL) + , _currentImage(NULL) + , _soundMusicIntro(NULL) + , _soundMusicOutro(NULL) + , _rnd("supernova") + , _brightness(255) + , _menuBrightness(255) + , _delay(33) + , _textSpeed(kTextSpeed[2]) + , _screenWidth(320) + , _screenHeight(200) + , _messageDisplayed(false) + , _allowLoadGame(true) + , _allowSaveGame(true) +{ +// const Common::FSNode gameDataDir(ConfMan.get("path")); +// SearchMan.addSubDirectoryMatching(gameDataDir, "sound"); + + if (ConfMan.hasKey("textspeed")) + _textSpeed = ConfMan.getInt("textspeed"); + + // setup engine specific debug channels + DebugMan.addDebugChannel(kDebugGeneral, "general", "Supernova general debug channel"); +} + +SupernovaEngine::~SupernovaEngine() { + DebugMan.clearAllDebugChannels(); + + delete _currentImage; + delete _console; + delete _gm; + delete _soundMusicIntro; + delete _soundMusicOutro; +} + +Common::Error SupernovaEngine::run() { + Graphics::ModeList modes; + modes.push_back(Graphics::Mode(320, 200)); + modes.push_back(Graphics::Mode(640, 480)); + initGraphicsModes(modes); + initGraphics(_screenWidth, _screenHeight); + + Common::Error status = loadGameStrings(); + if (status.getCode() != Common::kNoError) + return status; + + _gm = new GameManager(this); + _console = new Console(this, _gm); + + initData(); + initPalette(); + + CursorMan.replaceCursor(_mouseNormal, 16, 16, 0, 0, kColorCursorTransparent); + CursorMan.replaceCursorPalette(initVGAPalette, 0, 16); + CursorMan.showMouse(true); + + setTotalPlayTime(0); + + int saveSlot = ConfMan.getInt("save_slot"); + if (saveSlot >= 0) { + if (loadGameState(saveSlot).getCode() != Common::kNoError) + error("Failed to load save game from slot %i", saveSlot); + } + + while (!shouldQuit()) { + uint32 start = _system->getMillis(); + updateEvents(); + _gm->executeRoom(); + _console->onFrame(); + _system->updateScreen(); + int end = _delay - (_system->getMillis() - start); + if (end > 0) + _system->delayMillis(end); + } + + stopSound(); + + return Common::kNoError; +} + +void SupernovaEngine::updateEvents() { + _gm->handleTime(); + if (_gm->_animationEnabled && !_messageDisplayed && _gm->_animationTimer == 0) + _gm->_currentRoom->animation(); + + if (_gm->_state._eventCallback != kNoFn && _gm->_state._time >= _gm->_state._eventTime) { + _allowLoadGame = false; + _allowSaveGame = false; + _gm->_state._eventTime = kMaxTimerValue; + EventFunction fn = _gm->_state._eventCallback; + _gm->_state._eventCallback = kNoFn; + switch (fn) { + case kNoFn: + break; + case kSupernovaFn: + _gm->supernovaEvent(); + break; + case kGuardReturnedFn: + _gm->guardReturnedEvent(); + break; + case kGuardWalkFn: + _gm->guardWalkEvent(); + break; + case kTaxiFn: + _gm->taxiEvent(); + break; + case kSearchStartFn: + _gm->searchStartEvent(); + break; + } + _allowLoadGame = true; + _allowSaveGame = true; + return; + } + + if (_gm->_state._alarmOn && _gm->_state._timeAlarm <= _gm->_state._time) { + _gm->_state._alarmOn = false; + _gm->alarm(); + return; + } + + _gm->_mouseClicked = false; + _gm->_keyPressed = false; + Common::Event event; + while (g_system->getEventManager()->pollEvent(event)) { + switch (event.type) { + case Common::EVENT_KEYDOWN: + _gm->_keyPressed = true; + if (event.kbd.keycode == Common::KEYCODE_d && + (event.kbd.flags & Common::KBD_CTRL)) { + _console->attach(); + } + if (event.kbd.keycode == Common::KEYCODE_x && + (event.kbd.flags & Common::KBD_CTRL)) { + // TODO: Draw exit box + } + + _gm->processInput(event.kbd); + break; + + case Common::EVENT_LBUTTONUP: + // fallthrough + case Common::EVENT_RBUTTONUP: + if (_gm->_currentRoom->getId() != INTRO && _mixer->isSoundHandleActive(_soundHandle)) + return; + _gm->_mouseClicked = true; + // fallthrough + case Common::EVENT_MOUSEMOVE: + _gm->_mouseClickType = event.type; + _gm->_mouseX = event.mouse.x; + _gm->_mouseY = event.mouse.y; + if (_gm->_guiEnabled) + _gm->processInput(); + break; + + default: + break; + } + } +} + +bool SupernovaEngine::hasFeature(EngineFeature f) const { + switch (f) { + case kSupportsRTL: + return true; + case kSupportsLoadingDuringRuntime: + return true; + case kSupportsSavingDuringRuntime: + return true; + default: + return false; + } +} + +void SupernovaEngine::pauseEngineIntern(bool pause) { + _mixer->pauseAll(pause); + _gm->pauseTimer(pause); +} + +Common::Error SupernovaEngine::loadGameStrings() { + Common::String cur_lang = ConfMan.get("language"); + Common::String string_id("TEXT"); + + // Note: we don't print any warning or errors here if we cannot find the file + // or the format is not as expected. We will get those warning when reading the + // strings anyway (actually the engine will even refuse to start). + Common::File f; + if (!f.open(SUPERNOVA_DAT)) { + Common::String msg = Common::String::format(_("Unable to locate the '%s' engine data file."), SUPERNOVA_DAT); + GUIErrorMessage(msg); + return Common::kReadingFailed; + } + + // Validate the data file header + char id[5], lang[5]; + id[4] = lang[4] = '\0'; + f.read(id, 3); + if (strncmp(id, "MSN", 3) != 0) { + Common::String msg = Common::String::format(_("The '%s' engine data file is corrupt."), SUPERNOVA_DAT); + GUIErrorMessage(msg); + return Common::kReadingFailed; + } + + int version = f.readByte(); + if (version != SUPERNOVA_DAT_VERSION) { + Common::String msg = Common::String::format( + _("Incorrect version of the '%s' engine data file found. Expected %d but got %d."), + SUPERNOVA_DAT, SUPERNOVA_DAT_VERSION, version); + GUIErrorMessage(msg); + return Common::kReadingFailed; + } + + while (!f.eos()) { + f.read(id, 4); + f.read(lang, 4); + uint32 size = f.readUint32LE(); + if (f.eos()) + break; + if (string_id == id && cur_lang == lang) { + while (size > 0) { + Common::String s; + char ch; + while ((ch = (char)f.readByte()) != '\0') + s += ch; + _gameStrings.push_back(s); + size -= s.size() + 1; + } + return Common::kNoError; + } else + f.skip(size); + } + + Common::Language l = Common::parseLanguage(cur_lang); + Common::String msg = Common::String::format(_("Unable to locate the text for %s language in '%s' engine data file."), Common::getLanguageDescription(l), SUPERNOVA_DAT); + GUIErrorMessage(msg); + return Common::kReadingFailed; +} + +void SupernovaEngine::initData() { + // Sound + // Note: + // - samples start with a header of 6 bytes: 01 SS SS 00 AD 00 + // where SS SS (LE uint16) is the size of the sound sample + 2 + // - samples end with a footer of 4 bytes: 00 00 + // Skip those in the buffer + Common::File file; + + for (int i = 0; i < kAudioNumSamples; ++i) { + if (!file.open(Common::String::format("msn_data.%03d", audioInfo[i]._filenumber))) { + error("File %s could not be read!", file.getName()); + } + + if (audioInfo[i]._offsetEnd == -1) { + file.seek(0, SEEK_END); + _soundSamples[i]._length = file.pos() - audioInfo[i]._offsetStart - 10; + } else { + _soundSamples[i]._length = audioInfo[i]._offsetEnd - audioInfo[i]._offsetStart - 10; + } + _soundSamples[i]._buffer = new byte[_soundSamples[i]._length]; + file.seek(audioInfo[i]._offsetStart + 6); + file.read(_soundSamples[i]._buffer, _soundSamples[i]._length); + file.close(); + } + + _soundMusicIntro = convertToMod("msn_data.049"); + _soundMusicOutro = convertToMod("msn_data.052"); + + // Cursor + const uint16 *bufferNormal = reinterpret_cast<const uint16 *>(mouseNormal); + const uint16 *bufferWait = reinterpret_cast<const uint16 *>(mouseWait); + for (uint i = 0; i < sizeof(mouseNormal) / 4; ++i) { + for (uint bit = 0; bit < 16; ++bit) { + uint mask = 0x8000 >> bit; + uint bitIndex = i * 16 + bit; + + _mouseNormal[bitIndex] = (READ_LE_UINT16(bufferNormal + i) & mask) ? kColorCursorTransparent : kColorBlack; + if (READ_LE_UINT16(bufferNormal + i + 16) & mask) + _mouseNormal[bitIndex] = kColorLightRed; + _mouseWait[bitIndex] = (READ_LE_UINT16(bufferWait + i) & mask) ? kColorCursorTransparent : kColorBlack; + if (READ_LE_UINT16(bufferWait + i + 16) & mask) + _mouseWait[bitIndex] = kColorLightRed; + } + } +} + +void SupernovaEngine::initPalette() { + _system->getPaletteManager()->setPalette(initVGAPalette, 0, 256); +} + +void SupernovaEngine::playSound(AudioIndex sample) { + if (sample > kAudioNumSamples - 1) + return; + + Audio::SeekableAudioStream *audioStream = Audio::makeRawStream( + _soundSamples[sample]._buffer, _soundSamples[sample]._length, + 11931, Audio::FLAG_UNSIGNED | Audio::FLAG_LITTLE_ENDIAN, DisposeAfterUse::NO); + stopSound(); + _mixer->playStream(Audio::Mixer::kPlainSoundType, &_soundHandle, audioStream); +} + +void SupernovaEngine::stopSound() { + if (_mixer->isSoundHandleActive(_soundHandle)) + _mixer->stopHandle(_soundHandle); +} + +void SupernovaEngine::playSoundMod(int filenumber) +{ + Audio::AudioStream *audioStream; + if (filenumber == 49) + audioStream = Audio::makeProtrackerStream(_soundMusicIntro); + else if (filenumber == 52) + audioStream = Audio::makeProtrackerStream(_soundMusicOutro); + else + return; + + stopSound(); + _mixer->playStream(Audio::Mixer::kMusicSoundType, &_soundHandle, audioStream, + -1, Audio::Mixer::kMaxChannelVolume, 0); +} + +void SupernovaEngine::renderImageSection(int section) { + // Note: inverting means we are removing the section. So we should get the rect for that + // section but draw the background (section 0) instead. + bool invert = false; + if (section > 128) { + section -= 128; + invert = true; + } + if (!_currentImage || section > _currentImage->_numSections - 1) + return; + + Common::Rect sectionRect(_currentImage->_section[section].x1, + _currentImage->_section[section].y1, + _currentImage->_section[section].x2 + 1, + _currentImage->_section[section].y2 + 1) ; + if (_currentImage->_filenumber == 1 || _currentImage->_filenumber == 2) { + sectionRect.setWidth(640); + sectionRect.setHeight(480); + if (_screenWidth != 640) { + _screenWidth = 640; + _screenHeight = 480; + initGraphics(_screenWidth, _screenHeight); + } + } else { + if (_screenWidth != 320) { + _screenWidth = 320; + _screenHeight = 200; + initGraphics(_screenWidth, _screenHeight); + } + } + + uint offset = 0; + int pitch = sectionRect.width(); + if (invert) { + pitch = _currentImage->_pitch; + offset = _currentImage->_section[section].y1 * pitch + _currentImage->_section[section].x1; + section = 0; + } + + _system->copyRectToScreen(static_cast<const byte *>(_currentImage->_sectionSurfaces[section]->getPixels()) + offset, + pitch, + sectionRect.left, sectionRect.top, + sectionRect.width(), sectionRect.height()); +} + +void SupernovaEngine::renderImage(int section) { + if (!_currentImage) + return; + + bool sectionVisible = true; + + if (section > 128) { + sectionVisible = false; + section -= 128; + } + + _gm->_currentRoom->setSectionVisible(section, sectionVisible); + + do { + if (sectionVisible) + renderImageSection(section); + else + renderImageSection(section + 128); + section = _currentImage->_section[section].next; + } while (section != 0); +} + +bool SupernovaEngine::setCurrentImage(int filenumber) { + if (_currentImage && _currentImage->_filenumber == filenumber) + return true; + + delete _currentImage; + _currentImage = new MSNImageDecoder(); + if (!_currentImage->init(filenumber)) { + delete _currentImage; + _currentImage = NULL; + return false; + } + + _system->getPaletteManager()->setPalette(_currentImage->getPalette(), 16, 239); + paletteBrightness(); + return true; +} + +void SupernovaEngine::saveScreen(int x, int y, int width, int height) { + _screenBuffer.push(x, y, width, height); +} + +void SupernovaEngine::restoreScreen() { + _screenBuffer.restore(); +} + +void SupernovaEngine::renderRoom(Room &room) { + if (room.getId() == INTRO) + return; + + if (setCurrentImage(room.getFileNumber())) { + for (int i = 0; i < _currentImage->_numSections; ++i) { + int section = i; + if (room.isSectionVisible(section)) { + do { + renderImageSection(section); + section = _currentImage->_section[section].next; + } while (section != 0); + } + } + } +} + +int SupernovaEngine::textWidth(const uint16 key) { + char text[2]; + text[0] = key & 0xFF; + text[1] = 0; + return textWidth(text); +} + +int SupernovaEngine::textWidth(const char *text) { + int charWidth = 0; + while (*text != '\0') { + byte c = *text++; + if (c < 32) { + continue; + } else if (c == 225) { + c = 35; + } + + for (uint i = 0; i < 5; ++i) { + if (font[c - 32][i] == 0xff) { + break; + } + ++charWidth; + } + ++charWidth; + } + + return charWidth; +} + +void SupernovaEngine::renderMessage(const char *text, MessagePosition position) { + Common::String t(text); + char *row[20]; + Common::String::iterator p = t.begin(); + uint numRows = 0; + int rowWidthMax = 0; + int x = 0; + int y = 0; + byte textColor = 0; + + while (*p != '\0') { + row[numRows] = p; + ++numRows; + while ((*p != '\0') && (*p != '|')) { + ++p; + } + if (*p == '|') { + *p = '\0'; + ++p; + } + } + for (uint i = 0; i < numRows; ++i) { + int rowWidth = textWidth(row[i]); + if (rowWidth > rowWidthMax) + rowWidthMax = rowWidth; + } + + switch (position) { + case kMessageNormal: + x = 160 - rowWidthMax / 2; + textColor = kColorWhite99; + break; + case kMessageTop: + x = 160 - rowWidthMax / 2; + textColor = kColorLightYellow; + break; + case kMessageCenter: + x = 160 - rowWidthMax / 2; + textColor = kColorLightRed; + break; + case kMessageLeft: + x = 3; + textColor = kColorLightYellow; + break; + case kMessageRight: + x = 317 - rowWidthMax; + textColor = kColorLightGreen; + break; + } + + if (position == kMessageNormal) { + y = 70 - ((numRows * 9) / 2); + } else if (position == kMessageTop) { + y = 5; + } else { + y = 142; + } + + int message_columns = x - 3; + int message_rows = y - 3; + int message_width = rowWidthMax + 6; + int message_height = numRows * 9 + 5; + saveScreen(message_columns, message_rows, message_width, message_height); + renderBox(message_columns, message_rows, message_width, message_height, kColorWhite35); + for (uint i = 0; i < numRows; ++i) { + renderText(row[i], x, y, textColor); + y += 9; + } + + _messageDisplayed = true; + _gm->_timer1 = (Common::strnlen(text, 512) + 20) * _textSpeed / 10; +} + +void SupernovaEngine::removeMessage() { + if (_messageDisplayed) { + restoreScreen(); + _messageDisplayed = false; + } +} + +void SupernovaEngine::renderText(const char *text, int x, int y, byte color) { + Graphics::Surface *screen = _system->lockScreen(); + byte *cursor = static_cast<byte *>(screen->getBasePtr(x, y)); + const byte *basePtr = cursor; + + byte c; + while ((c = *text++) != '\0') { + if (c < 32) { + continue; + } else if (c == 225) { + c = 128; + } + + for (uint i = 0; i < 5; ++i) { + if (font[c - 32][i] == 0xff) { + break; + } + + byte *ascentLine = cursor; + for (byte j = font[c - 32][i]; j != 0; j >>= 1) { + if (j & 1) { + *cursor = color; + } + cursor += kScreenWidth; + } + cursor = ++ascentLine; + } + ++cursor; + } + _system->unlockScreen(); + + uint numChars = cursor - basePtr; + uint absPosition = y * kScreenWidth + x + numChars; + _textCursorX = absPosition % kScreenWidth; + _textCursorY = absPosition / kScreenWidth; + _textColor = color; +} + +void SupernovaEngine::renderText(const uint16 character, int x, int y, byte color) { + char text[2]; + text[0] = character & 0xFF; + text[1] = 0; + renderText(text, x, y, color); +} + +void SupernovaEngine::renderText(const char *text) { + renderText(text, _textCursorX, _textCursorY, _textColor); +} + +void SupernovaEngine::renderText(const uint16 character) { + char text[2]; + text[0] = character & 0xFF; + text[1] = 0; + renderText(text, _textCursorX, _textCursorY, _textColor); +} + +void SupernovaEngine::renderBox(int x, int y, int width, int height, byte color) { + Graphics::Surface *screen = _system->lockScreen(); + screen->fillRect(Common::Rect(x, y, x + width, y + height), color); + _system->unlockScreen(); +} + +void SupernovaEngine::paletteBrightness() { + byte palette[768]; + + _system->getPaletteManager()->grabPalette(palette, 0, 255); + for (uint i = 0; i < 48; ++i) { + palette[i] = (initVGAPalette[i] * _menuBrightness) >> 8; + } + for (uint i = 0; i < 717; ++i) { + const byte *imagePalette; + if (_currentImage && _currentImage->getPalette()) { + imagePalette = _currentImage->getPalette(); + } else { + imagePalette = palette + 48; + } + palette[i + 48] = (imagePalette[i] * _brightness) >> 8; + } + _system->getPaletteManager()->setPalette(palette, 0, 255); +} + +void SupernovaEngine::paletteFadeOut() { + while (_menuBrightness > 10) { + _menuBrightness -= 10; + if (_brightness > _menuBrightness) + _brightness = _menuBrightness; + paletteBrightness(); + _system->updateScreen(); + _system->delayMillis(_delay); + } + _menuBrightness = 0; + _brightness = 0; + paletteBrightness(); + _system->updateScreen(); +} + +void SupernovaEngine::paletteFadeIn() { + while (_menuBrightness < 245) { + if (_brightness < _gm->_roomBrightness) + _brightness += 10; + _menuBrightness += 10; + paletteBrightness(); + _system->updateScreen(); + _system->delayMillis(_delay); + } + _menuBrightness = 255; + _brightness = _gm->_roomBrightness; + paletteBrightness(); + _system->updateScreen(); +} + +void SupernovaEngine::setColor63(byte value) { + byte color[3] = {value, value, value}; + _system->getPaletteManager()->setPalette(color, 63, 1); +} + +void SupernovaEngine::setTextSpeed() { + const Common::String& textSpeedString = getGameString(kStringTextSpeed); + int stringWidth = textWidth(textSpeedString); + int textX = (320 - stringWidth) / 2; + int textY = 100; + stringWidth += 4; + int boxX = stringWidth > 110 ? (320 - stringWidth) / 2 : 105; + int boxY = 97; + int boxWidth = stringWidth > 110 ? stringWidth : 110; + int boxHeight = 27; + + _gm->animationOff(); + _gm->saveTime(); + saveScreen(boxX, boxY, boxWidth, boxHeight); + + renderBox(boxX, boxY, boxWidth, boxHeight, kColorBlue); + renderText(textSpeedString, textX, textY, kColorWhite99); // Text speed + + // Find the closest index in kTextSpeed for the current _textSpeed. + // Important note: values in kTextSpeed decrease with the index. + int speedIndex = 0; + while (speedIndex < 4 && _textSpeed < (kTextSpeed[speedIndex] + kTextSpeed[speedIndex+1]) / 2) + ++speedIndex; + + char nbString[2]; + nbString[1] = 0; + for (int i = 0; i < 5; ++i) { + byte color = i == speedIndex ? kColorWhite63 : kColorWhite35; + renderBox(110 + 21 * i, 111, 16, 10, color); + + nbString[0] = '1' + i; + renderText(nbString, 115 + 21 * i, 112, kColorWhite99); + } + do { + _gm->getInput(); + int key = _gm->_keyPressed ? _gm->_key.keycode : Common::KEYCODE_INVALID; + if (!_gm->_keyPressed && _gm->_mouseClicked && _gm->_mouseY >= 111 && _gm->_mouseY < 121 && (_gm->_mouseX + 16) % 21 < 16) + key = Common::KEYCODE_0 - 5 + (_gm->_mouseX + 16) / 21; + if (key == Common::KEYCODE_ESCAPE) + break; + else if (key >= Common::KEYCODE_1 && key <= Common::KEYCODE_5) { + speedIndex = key - Common::KEYCODE_1; + _textSpeed = kTextSpeed[speedIndex]; + ConfMan.setInt("textspeed", _textSpeed); + break; + } + } while (!shouldQuit()); + _gm->resetInputState(); + + restoreScreen(); + _gm->loadTime(); + _gm->animationOn(); +} + +Common::MemoryReadStream *SupernovaEngine::convertToMod(const char *filename, int version) { + // MSN format + struct { + uint16 seg; + uint16 start; + uint16 end; + uint16 loopStart; + uint16 loopEnd; + char volume; + char dummy[5]; + } instr2[22]; + int nbInstr2; // 22 for version1, 15 for version 2 + int16 songLength; + char arrangement[128]; + int16 patternNumber; + int32 note2[28][64][4]; + + nbInstr2 = ((version == 1) ? 22 : 15); + + Common::File msnFile; + msnFile.open(filename); + if (!msnFile.isOpen()) { + warning("Data file '%s' not found", msnFile.getName()); + return NULL; + } + + for (int i = 0 ; i < nbInstr2 ; ++i) { + instr2[i].seg = msnFile.readUint16LE(); + instr2[i].start = msnFile.readUint16LE(); + instr2[i].end = msnFile.readUint16LE(); + instr2[i].loopStart = msnFile.readUint16LE(); + instr2[i].loopEnd = msnFile.readUint16LE(); + instr2[i].volume = msnFile.readByte(); + msnFile.read(instr2[i].dummy, 5); + } + songLength = msnFile.readSint16LE(); + msnFile.read(arrangement, 128); + patternNumber = msnFile.readSint16LE(); + for (int p = 0 ; p < patternNumber ; ++p) { + for (int n = 0 ; n < 64 ; ++n) { + for (int k = 0 ; k < 4 ; ++k) { + note2[p][n][k] = msnFile.readSint32LE(); + } + } + } + + /* MOD format */ + struct { + char iname[22]; + uint16 length; + char finetune; + char volume; + uint16 loopStart; + uint16 loopLength; + } instr[31]; + int32 note[28][64][4]; + + // We can't recover some MOD effects since several of them are mapped to 0. + // Assume the MSN effect of value 0 is Arpeggio (MOD effect of value 0). + const char invConvEff[8] = {0, 1, 2, 3, 10, 12, 13 ,15}; + + // Reminder from convertToMsn + // 31 30 29 28 27 26 25 24 - 23 22 21 20 19 18 17 16 - 15 14 13 12 11 10 09 08 - 07 06 05 04 03 02 01 00 + // h h h h g g g g f f f f e e e e d d d d c c c c b b b b a a a a + // + // MSN: + // hhhh (4 bits) Cleared to 0 + // dddd c (5 bits) Sample index | after mapping through convInstr + // ccc (3 bits) Effect type | after mapping through convEff + // bbbb aaaa (8 bits) Effect value | unmodified + // gggg ffff eeee (12 bits) Sample period | unmodified + // + // MS2: + // hhhh (4 bits) Cleared to 0 + // dddd (4 bits) Sample index | after mapping through convInstr + // cccc (4 bits) Effect type | unmodified + // bbbb aaaa (8 bits) Effect value | unmodified + // gggg ffff eeee (12 bits) Sample period | transformed (0xE000 / p) - 256 + // + // MOD: + // hhhh dddd (8 bits) Sample index + // cccc (4 bits) Effect type for this channel/division + // bbbb aaaa (8 bits) Effect value + // gggg ffff eeee (12 bits) Sample period + + // Can we recover the instruments mapping? I don't think so as part of the original instrument index is cleared. + // And it doesn't really matter as long as we are consistent. + // However we need to make sure 31 (or 15 in MS2) is mapped to 0 in MOD. + // We just add 1 to all other values, and this means a 1 <-> 1 mapping for the instruments + for (int p = 0; p < patternNumber; ++p) { + for (int n = 0; n < 64; ++n) { + for (int k = 0; k < 4; ++k) { + int32* l = &(note[p][n][k]); + *l = note2[p][n][k]; + int32 i = 0; + if (nbInstr2 == 22) { // version 1 + i = ((*l & 0xF800) >> 11); + int32 e = ((*l & 0x0700) >> 8); + int32 e1 = invConvEff[e]; + *l &= 0x0FFF00FF; + *l |= (e1 << 8); + } else { // version 2 + int32 h = (*l >> 16); + i = ((*l & 0xF000) >> 12); + *l &= 0x00000FFF; + if (h) + h = 0xE000 / (h + 256); + *l |= (h << 16); + if (i == 15) + i = 31; + } + + // Add back index in note + if (i != 31) { + ++i; + *l |= ((i & 0x0F) << 12); + *l |= ((i & 0xF0) << 24); + } + } + } + } + + for (int i = 0; i < 31; ++i) { + // iname is not stored in the mod file. Just set it to 'instrument#' + // finetune is not stored either. Assume 0. + memset(instr[i].iname, 0, 22); + sprintf(instr[i].iname, "instrument%d", i+1); + instr[i].length = 0; + instr[i].finetune = 0; + instr[i].volume = 0; + instr[i].loopStart = 0; + instr[i].loopLength = 0; + + if (i < nbInstr2) { + instr[i].length = ((instr2[i].end - instr2[i].start) >> 1); + instr[i].loopStart = ((instr2[i].loopStart - instr2[i].start) >> 1); + instr[i].loopLength = (( instr2[i].loopEnd - instr2[i].loopStart) >> 1); + instr[i].volume = instr2[i].volume; + } + } + + // The ciaaSpeed is kind of useless and not present in the MSN file. + // Traditionally 0x78 in SoundTracker. Was used in NoiseTracker as a restart point. + // ProTracker uses 0x7F. FastTracker uses it as a restart point, whereas ScreamTracker 3 uses 0x7F like ProTracker. + // You can use this to roughly detect which tracker made a MOD, and detection gets more accurate for more obscure MOD types. + char ciaaSpeed = 0x7F; + + // The mark cannot be recovered either. Since we have 4 channels and 31 instrument it can be either ID='M.K.' or ID='4CHN'. + // Assume 'M.K.' + const char mark[4] = { 'M', '.', 'K', '.' }; + + Common::MemoryWriteStreamDynamic buffer(DisposeAfterUse::NO); + + buffer.write(msnFile.getName(), 19); + buffer.writeByte(0); + + for (int i = 0 ; i < 31 ; ++i) { + buffer.write(instr[i].iname, 22); + buffer.writeUint16BE(instr[i].length); + buffer.writeByte(instr[i].finetune); + buffer.writeByte(instr[i].volume); + buffer.writeUint16BE(instr[i].loopStart); + buffer.writeUint16BE(instr[i].loopLength); + } + buffer.writeByte((char)songLength); + buffer.writeByte(ciaaSpeed); + buffer.write(arrangement, 128); + buffer.write(mark, 4); + + for (int p = 0 ; p < patternNumber ; ++p) { + for (int n = 0 ; n < 64 ; ++n) { + for (int k = 0 ; k < 4 ; ++k) { +// buffer.writeUint32BE(*((uint32*)(note[p][n]+k))); + buffer.writeSint32BE(note[p][n][k]); + } + } + } + + uint nb; + char buf[4096]; + while ((nb = msnFile.read(buf, 4096)) > 0) + buffer.write(buf, nb); + + return new Common::MemoryReadStream(buffer.getData(), buffer.size(), DisposeAfterUse::YES); +} + +bool SupernovaEngine::canLoadGameStateCurrently() { + return _allowLoadGame; +} + +Common::Error SupernovaEngine::loadGameState(int slot) { + return (loadGame(slot) ? Common::kNoError : Common::kReadingFailed); +} + +bool SupernovaEngine::canSaveGameStateCurrently() { + // Do not allow saving when either _allowSaveGame, _animationEnabled or _guiEnabled is false + return _allowSaveGame && _gm->_animationEnabled && _gm->_guiEnabled; +} + +Common::Error SupernovaEngine::saveGameState(int slot, const Common::String &desc) { + return (saveGame(slot, desc) ? Common::kNoError : Common::kWritingFailed); +} + +bool SupernovaEngine::loadGame(int slot) { + if (slot < 0) + return false; + + Common::String filename = Common::String::format("msn_save.%03d", slot); + Common::InSaveFile *savefile = _saveFileMan->openForLoading(filename); + if (!savefile) + return false; + + uint saveHeader = savefile->readUint32LE(); + if (saveHeader != SAVEGAME_HEADER) { + warning("No header found in '%s'", filename.c_str()); + delete savefile; + return false; //Common::kUnknownError + } + + byte saveVersion = savefile->readByte(); + // Save version 1 was used during development and is no longer supported + if (saveVersion > SAVEGAME_VERSION || saveVersion == 1) { + warning("Save game version %i not supported", saveVersion); + delete savefile; + return false; //Common::kUnknownError; + } + + // Make sure no message is displayed as this would otherwise delay the + // switch to the new location until a mouse click. + removeMessage(); + + int descriptionSize = savefile->readSint16LE(); + savefile->skip(descriptionSize); + savefile->skip(6); + setTotalPlayTime(savefile->readUint32LE() * 1000); + Graphics::skipThumbnail(*savefile); + _gm->deserialize(savefile, saveVersion); + + if (saveVersion >= 5) { + _menuBrightness = savefile->readByte(); + _brightness = savefile->readByte(); + } else { + _menuBrightness = _brightness = 255; + } + + delete savefile; + + return true; +} + +bool SupernovaEngine::saveGame(int slot, const Common::String &description) { + if (slot < 0) + return false; + + Common::String filename = Common::String::format("msn_save.%03d", slot); + Common::OutSaveFile *savefile = _saveFileMan->openForSaving(filename); + if (!savefile) + return false; + + savefile->writeUint32LE(SAVEGAME_HEADER); + savefile->writeByte(SAVEGAME_VERSION); + + TimeDate currentDate; + _system->getTimeAndDate(currentDate); + uint32 saveDate = (currentDate.tm_mday & 0xFF) << 24 | ((currentDate.tm_mon + 1) & 0xFF) << 16 | ((currentDate.tm_year + 1900) & 0xFFFF); + uint16 saveTime = (currentDate.tm_hour & 0xFF) << 8 | ((currentDate.tm_min) & 0xFF); + + savefile->writeSint16LE(description.size() + 1); + savefile->write(description.c_str(), description.size() + 1); + savefile->writeUint32LE(saveDate); + savefile->writeUint16LE(saveTime); + savefile->writeUint32LE(getTotalPlayTime() / 1000); + Graphics::saveThumbnail(*savefile); + _gm->serialize(savefile); + + savefile->writeByte(_menuBrightness); + savefile->writeByte(_brightness); + + savefile->finalize(); + delete savefile; + + return true; +} + +void SupernovaEngine::errorTempSave(bool saving) { + GUIErrorMessage(saving + ? "Failed to save temporary game state. Make sure your save game directory is set in ScummVM and that you can write to it." + : "Failed to load temporary game state."); + error("Unrecoverable error"); +} + +ScreenBufferStack::ScreenBufferStack() + : _last(_buffer) { +} + +void ScreenBufferStack::push(int x, int y, int width, int height) { + if (_last == ARRAYEND(_buffer)) + return; + + Graphics::Surface* screenSurface = g_system->lockScreen(); + + if (x < 0) { + width += x; + x = 0; + } + if (x + width > screenSurface->w) + width = screenSurface->w - x; + + if (y < 0) { + height += y; + y = 0; + } + if (y + height > screenSurface->h) + height = screenSurface->h - y; + + _last->_pixels = new byte[width * height]; + byte *pixels = _last->_pixels; + const byte *screen = static_cast<const byte *>(screenSurface->getBasePtr(x, y)); + for (int i = 0; i < height; ++i) { + Common::copy(screen, screen + width, pixels); + screen += screenSurface->pitch; + pixels += width; + } + g_system->unlockScreen(); + + _last->_x = x; + _last->_y = y; + _last->_width = width; + _last->_height = height; + + ++_last; +} + +void ScreenBufferStack::restore() { + if (_last == _buffer) + return; + + --_last; + g_system->lockScreen()->copyRectToSurface( + _last->_pixels, _last->_width, _last->_x, _last->_y, + _last->_width, _last->_height); + g_system->unlockScreen(); + + delete[] _last->_pixels; +} + +} diff --git a/engines/supernova/supernova.h b/engines/supernova/supernova.h new file mode 100644 index 0000000000..90ea884f0b --- /dev/null +++ b/engines/supernova/supernova.h @@ -0,0 +1,218 @@ +/* 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 SUPERNOVA_SUPERNOVA_H +#define SUPERNOVA_SUPERNOVA_H + +#include "audio/audiostream.h" +#include "audio/mixer.h" +#include "audio/decoders/raw.h" +#include "common/array.h" +#include "common/events.h" +#include "common/random.h" +#include "common/scummsys.h" +#include "engines/engine.h" +#include "common/file.h" +#include "common/memstream.h" + +#include "supernova/console.h" +#include "supernova/graphics.h" +#include "supernova/msn_def.h" +#include "supernova/rooms.h" + + +namespace Supernova { + +#define SAVEGAME_HEADER MKTAG('M','S','N','1') +#define SAVEGAME_VERSION 8 + +#define SUPERNOVA_DAT "supernova.dat" +#define SUPERNOVA_DAT_VERSION 1 + + +struct ScreenBuffer { + ScreenBuffer() + : _x(0) + , _y(0) + , _width(0) + , _height(0) + , _pixels(NULL) + {} + + byte *_pixels; + int _x; + int _y; + int _width; + int _height; +}; +class ScreenBufferStack { +public: + ScreenBufferStack(); + + void push(int x, int y, int width, int height); + void restore(); + +private: + ScreenBuffer _buffer[8]; + ScreenBuffer *_last; +}; + +struct SoundSample { + SoundSample() + : _buffer(NULL) + , _length(0) + {} + + ~SoundSample() { + delete[] _buffer; + } + + byte *_buffer; + int _length; +}; + +class SupernovaEngine : public Engine { +public: + explicit SupernovaEngine(OSystem *syst); + ~SupernovaEngine(); + + virtual Common::Error run(); + + Common::RandomSource _rnd; + GameManager *_gm; + Console *_console; + Audio::SoundHandle _soundHandle; + ScreenBufferStack _screenBuffer; + byte _mouseNormal[256]; + byte _mouseWait[256]; + MSNImageDecoder *_currentImage; + SoundSample _soundSamples[kAudioNumSamples]; + Common::MemoryReadStream *_soundMusicIntro; + Common::MemoryReadStream *_soundMusicOutro; + int _screenWidth; + int _screenHeight; + bool _allowLoadGame; + bool _allowSaveGame; + Common::StringArray _gameStrings; + Common::String _nullString; + + byte _menuBrightness; + byte _brightness; + uint _delay; + bool _messageDisplayed; + int _textSpeed; + int _textCursorX; + int _textCursorY; + int _textColor; + + int textWidth(const char *text); + int textWidth(const uint16 key); + Common::Error loadGameStrings(); + void initData(); + void initPalette(); + void paletteFadeIn(); + void paletteFadeOut(); + void paletteBrightness(); + void updateEvents(); + void playSound(AudioIndex sample); + void playSoundMod(int filenumber); + void stopSound(); + void renderImageSection(int section); + void renderImage(int section); + bool setCurrentImage(int filenumber); + void saveScreen(int x, int y, int width, int height); + void restoreScreen(); + void renderRoom(Room &room); + void renderMessage(const char *text, MessagePosition position = kMessageNormal); + void removeMessage(); + void renderText(const char *text, int x, int y, byte color); + void renderText(const uint16 character, int x, int y, byte color); + void renderText(const char *text); + void renderText(const uint16 character); + void renderBox(int x, int y, int width, int height, byte color); + void setColor63(byte value); + bool loadGame(int slot); + bool saveGame(int slot, const Common::String &description); + void errorTempSave(bool saving); + void setTextSpeed(); + + const Common::String &getGameString(int idx) const { + if (idx < 0 || idx >= (int)_gameStrings.size()) + return _nullString; + return _gameStrings[idx]; + } + + void setGameString(int idx, const Common::String &string) { + if (idx < 0) + return; + while ((int)_gameStrings.size() <= idx) + _gameStrings.push_back(Common::String()); + _gameStrings[idx] = string; + } + + int textWidth(const Common::String &text) { + if (text.empty()) + return 0; + return textWidth(text.c_str()); + } + void renderMessage(StringID stringId, MessagePosition position = kMessageNormal, Common::String var1 = "", Common::String var2 = "") { + Common::String text = getGameString(stringId); + if (!var1.empty()) { + if (!var2.empty()) + text = Common::String::format(text.c_str(), var1.c_str(), var2.c_str()); + else + text = Common::String::format(text.c_str(), var1.c_str()); + } + renderMessage(text, position); + } + void renderMessage(const Common::String &text, MessagePosition position = kMessageNormal) { + if (!text.empty()) + renderMessage(text.c_str(), position); + } + void renderText(StringID stringId, int x, int y, byte color) { + renderText(getGameString(stringId), x, y, color); + } + void renderText(const Common::String &text, int x, int y, byte color) { + if (!text.empty()) + renderText(text.c_str(), x, y, color); + } + void renderText(StringID stringId) { + renderText(getGameString(stringId)); + } + void renderText(const Common::String &text) { + if (!text.empty()) + renderText(text.c_str()); + } + + Common::MemoryReadStream *convertToMod(const char *filename, int version = 1); + + virtual Common::Error loadGameState(int slot); + virtual bool canLoadGameStateCurrently(); + virtual Common::Error saveGameState(int slot, const Common::String &desc); + virtual bool canSaveGameStateCurrently(); + virtual bool hasFeature(EngineFeature f) const; + virtual void pauseEngineIntern(bool pause); +}; + +} + +#endif diff --git a/engines/xeen/character.cpp b/engines/xeen/character.cpp index 7e36e54190..b2cf11d0cb 100644 --- a/engines/xeen/character.cpp +++ b/engines/xeen/character.cpp @@ -702,7 +702,7 @@ void Character::clear() { _tempAge = 0; Common::fill(&_skills[0], &_skills[18], 0); Common::fill(&_awards[0], &_awards[128], 0); - Common::fill(&_spells[0], &_spells[39], 0); + Common::fill(&_spells[0], &_spells[39], false); _lloydMap = 0; _hasSpells = false; _currentSpell = 0; @@ -1192,13 +1192,6 @@ int Character::itemScan(int itemId) const { if (mIndex == itemId) result += Res.ELEMENTAL_RESISTENCES[item._material]; } - - if (itemId == 9) { - result += Res.ARMOR_STRENGTHS[item._id]; - if (item._material >= 37 && item._material <= 58) { - result += Res.METAL_LAC[item._material - 37]; - } - } } } @@ -1294,7 +1287,7 @@ void Character::setValue(int id, uint value) { // Set condition if (value == 16) { // Clear all the conditions - Common::fill(&_conditions[CURSED], &_conditions[NO_CONDITION], false); + clearConditions(); } else if (value == 6) { _conditions[value] = 1; } else { @@ -1792,7 +1785,14 @@ void Character::addHitPoints(int amount) { } void Character::subtractHitPoints(int amount) { - Sound &sound = *Party::_vm->_sound; + Debugger &debugger = *g_vm->_debugger; + Sound &sound = *g_vm->_sound; + + // If invincibility is turned on in the debugger, ignore all damage + if (debugger._invincible) + return; + + // Subtract the given HP amount _currentHp -= amount; bool flag = _currentHp <= 10; @@ -1854,4 +1854,8 @@ int Character::getClassCategory() const { } } +void Character::clearConditions() { + Common::fill(&_conditions[CURSED], &_conditions[NO_CONDITION], false); +} + } // End of namespace Xeen diff --git a/engines/xeen/character.h b/engines/xeen/character.h index 54e8d1a37c..1e13c36260 100644 --- a/engines/xeen/character.h +++ b/engines/xeen/character.h @@ -334,7 +334,7 @@ public: int _tempAge; int _skills[18]; int _awards[128]; - int _spells[MAX_SPELLS_PER_CLASS]; + bool _spells[MAX_SPELLS_PER_CLASS]; int _lloydMap; Common::Point _lloydPosition; bool _hasSpells; @@ -529,6 +529,11 @@ public: * Returns a category index for a character, used such for indexing into spell data */ int getClassCategory() const; + + /** + * Clears the character of any currently set conditions + */ + void clearConditions(); }; } // End of namespace Xeen diff --git a/engines/xeen/combat.cpp b/engines/xeen/combat.cpp index 6a0aa20169..8900d13e9e 100644 --- a/engines/xeen/combat.cpp +++ b/engines/xeen/combat.cpp @@ -98,7 +98,7 @@ Combat::Combat(XeenEngine *vm): _vm(vm), _missVoc("miss.voc"), _pow1Voc("pow1.vo Common::fill(&_monsterScale[0], &_monsterScale[12], 0); Common::fill(&_elemPow[0], &_elemPow[12], ELEM_FIRE); Common::fill(&_elemScale[0], &_elemScale[12], 0); - Common::fill(&_shooting[0], &_shooting[8], 0); + Common::fill(&_shootingRow[0], &_shootingRow[MAX_PARTY_COUNT], 0); Common::fill(&_monsterMap[0][0], &_monsterMap[32][32], 0); Common::fill(&_monsterMoved[0], &_monsterMoved[MAX_NUM_MONSTERS], false); Common::fill(&_rangeAttacking[0], &_rangeAttacking[MAX_NUM_MONSTERS], false); @@ -135,7 +135,12 @@ void Combat::clearBlocked() { Common::fill(_charsBlocked, _charsBlocked + PARTY_AND_MONSTERS, false); } +void Combat::clearShooting() { + Common::fill(_shootingRow, _shootingRow + MAX_PARTY_COUNT, 0); +} + void Combat::giveCharDamage(int damage, DamageType attackType, int charIndex) { + Interface &intf = *_vm->_interface; Party &party = *_vm->_party; Scripts &scripts = *_vm->_scripts; Sound &sound = *_vm->_sound; @@ -224,7 +229,7 @@ void Combat::giveCharDamage(int damage, DamageType attackType, int charIndex) { // Draw the attack effect on the character sprite sound.playFX(fx); - _powSprites.draw(0, frame, Common::Point(Res.CHAR_FACES_X[selectedIndex1], 150)); + intf._charPowSprites.draw(0, frame, Common::Point(Res.CHAR_FACES_X[selectedIndex1], 150)); windows[33].update(); // Reduce damage if power shield active, and set it zero @@ -263,6 +268,7 @@ loop: } void Combat::doCharDamage(Character &c, int charNum, int monsterDataIndex) { + Debugger &debugger = *g_vm->_debugger; EventsManager &events = *_vm->_events; Interface &intf = *_vm->_interface; Map &map = *_vm->_map; @@ -430,7 +436,12 @@ void Combat::doCharDamage(Character &c, int charNum, int monsterDataIndex) { break; } - c.subtractHitPoints(damage); + if (debugger._invincible) + // Invincibility mode is on, so reset conditions that were set + c.clearConditions(); + else + // Standard gameplay, deal out the damage + c.subtractHitPoints(damage); } events.ipause(2); @@ -564,7 +575,7 @@ void Combat::monstersAttack() { sound.playFX(ATTACK_TYPE_FX[monsterData->_attackType]); for (int charNum = 0; charNum < MAX_PARTY_COUNT; ++charNum) { - if (!_shooting[charNum]) + if (!_shootingRow[charNum]) continue; if (map._isOutdoors) { @@ -577,7 +588,7 @@ void Combat::monstersAttack() { outdoorList._attackImgs3[charNum]._sprites = nullptr; outdoorList._attackImgs4[charNum]._sprites = nullptr; - switch (_shooting[charNum]) { + switch (_shootingRow[charNum]) { case 1: outdoorList._attackImgs1[charNum]._sprites = &_powSprites; break; @@ -598,7 +609,7 @@ void Combat::monstersAttack() { indoorList._attackImgs3[charNum]._sprites = nullptr; indoorList._attackImgs4[charNum]._sprites = nullptr; - switch (_shooting[charNum]) { + switch (_shootingRow[charNum]) { case 1: indoorList._attackImgs1[charNum]._sprites = &_powSprites; break; @@ -657,12 +668,15 @@ void Combat::setupMonsterAttack(int monsterDataIndex, const Common::Point &pt) { if (result != 1) { for (int charNum = 0; charNum < MAX_PARTY_COUNT; ++charNum) { - if (!_shooting[charNum]) { - _shooting[charNum] = COMBAT_SHOOTING[result - 1]; + if (!_shootingRow[charNum]) { + _shootingRow[charNum] = COMBAT_SHOOTING[result - 1]; + break; } } } } + + break; } } } @@ -753,7 +767,7 @@ void Combat::endAttack() { } } - Common::fill(&_shooting[0], &_shooting[MAX_PARTY_COUNT], false); + clearShooting(); } void Combat::monsterOvercome() { @@ -801,7 +815,7 @@ void Combat::doMonsterTurn(int monsterId) { return; monster._frame = 8; - monster._fieldA = 3; + monster._postAttackDelay = 3; monster._field9 = 0; intf.draw3d(true); intf.draw3d(true); @@ -922,9 +936,11 @@ void Combat::doMonsterTurn(int monsterId) { } else { int v = _vm->getRandomNumber(1, 20); if (v == 1) { + // Critical Save sound.playFX(6); } else { if (v == 20) + // Critical failure doCharDamage(c, charNum, monsterId); v += monsterData._hitChance / 4 + _vm->getRandomNumber(1, monsterData._hitChance); @@ -1070,8 +1086,8 @@ void Combat::setupCombatParty() { void Combat::setSpeedTable() { Map &map = *_vm->_map; Common::Array<int> charSpeeds; - bool hasSpeed = _whosSpeed != -1 && _whosSpeed < (int)_speedTable.size(); - int oldSpeed = hasSpeed ? _speedTable[_whosSpeed] : 0; + bool hasSpeed = _whosSpeed != -1; + int oldSpeed = hasSpeed && _whosSpeed < (int)_speedTable.size() ? _speedTable[_whosSpeed] : 0; // Set up speeds for party membres int maxSpeed = 0; @@ -1107,18 +1123,23 @@ void Combat::setSpeedTable() { if (hasSpeed) { if (_speedTable[_whosSpeed] != oldSpeed) { - for (uint idx = 0; idx < charSpeeds.size(); ++idx) { - if (oldSpeed == _speedTable[idx]) { - _whosSpeed = idx; + for (_whosSpeed = 0; _whosSpeed < (int)charSpeeds.size(); ++_whosSpeed) { + if (oldSpeed == _speedTable[_whosSpeed]) break; - } } + + if (_whosSpeed == (int)charSpeeds.size()) + error("Could not reset next speedy character. Beep beep."); } } } bool Combat::allHaveGone() const { - for (uint idx = 0; idx < _charsGone.size(); ++idx) { + int monsCount = (_attackMonsters[0] != -1 ? 1 : 0) + + (_attackMonsters[1] != -1 ? 1 : 0) + + (_attackMonsters[2] != -1 ? 1 : 0); + + for (uint idx = 0; idx < (_combatParty.size() + monsCount); ++idx) { if (!_charsGone[idx]) { if (idx >= _combatParty.size()) { return false; @@ -1192,7 +1213,6 @@ void Combat::attack(Character &c, RangeType rangeType) { _vm->getRandomNumber(1, 100 + _oldCharacter->getCurrentLevel())) { if (_monsterDamage != 0) { attack2(damage, rangeType); - setSpeedTable(); } else { switch (_damageType) { case DT_SLEEP: @@ -1206,18 +1226,15 @@ void Combat::attack(Character &c, RangeType rangeType) { && !monsterSavingThrow(monsterDataIndex)) { damage = MIN(monster._hp, 50); attack2(damage, RT_ALL); - setSpeedTable(); } break; case DT_HOLYWORD: if (monsterData._monsterType == MONSTER_UNDEAD) { attack2(monster._hp, RT_ALL); - setSpeedTable(); } break; case DT_MASS_DISTORTION: attack2(MAX(monster._hp / 2, 1), RT_ALL); - setSpeedTable(); break; case DT_UNDEAD: if (monsterData._monsterType == MONSTER_UNDEAD) @@ -1225,7 +1242,6 @@ void Combat::attack(Character &c, RangeType rangeType) { else rangeType = RT_ALL; attack2(damage, rangeType); - setSpeedTable(); break; case DT_BEASTMASTER: if ((monsterData._monsterType == MONSTER_ANIMAL || monsterData._monsterType == MONSTER_HUMANOID) @@ -1240,7 +1256,6 @@ void Combat::attack(Character &c, RangeType rangeType) { case DT_GOLEMSTOPPER: if (monsterData._monsterType == MONSTER_GOLEM) { attack2(100, rangeType); - setSpeedTable(); } break; case DT_HYPNOTIZE: @@ -1252,12 +1267,10 @@ void Combat::attack(Character &c, RangeType rangeType) { case DT_INSECT_SPRAY: if (monsterData._monsterType == MONSTER_INSECT) { attack2(25, rangeType); - setSpeedTable(); } break; case DT_MAGIC_ARROW: attack2(8, rangeType); - setSpeedTable(); break; default: break; @@ -1271,13 +1284,13 @@ void Combat::attack(Character &c, RangeType rangeType) { for (uint charIndex = 0; charIndex < party._activeParty.size(); ++charIndex) { Character &ch = party._activeParty[charIndex]; - if (_shooting[charIndex] && !_missedShot[charIndex]) { + if (_shootingRow[charIndex] && !_missedShot[charIndex]) { if (!hitMonster(ch, rangeType)) { ++_missedShot[charIndex]; } else { damage = _monsterDamage ? _monsterDamage : _weaponDamage; - _shooting[charIndex] = 0; - attack2(damage, rangeType); + _shootingRow[charIndex] = 0; + attack2(damage, RT_HIT); if (map._isOutdoors) { intf._outdoorList._attackImgs1[charIndex]._scale = 0; @@ -1374,8 +1387,9 @@ void Combat::attack(Character &c, RangeType rangeType) { } attack2(damage, rangeType); - setSpeedTable(); } + + setSpeedTable(); } void Combat::attack2(int damage, RangeType rangeType) { @@ -1415,7 +1429,7 @@ void Combat::attack2(int damage, RangeType rangeType) { _charsArray1[_monsterIndex] = 3; _monPow[_monsterIndex] = _damageType == DT_PHYSICAL && (rangeType == 3 || rangeType == 0); monster._frame = 11; - monster._fieldA = 5; + monster._postAttackDelay = 5; } int monsterResist = getMonsterResistence(rangeType); @@ -1723,7 +1737,7 @@ int Combat::getMonsterResistence(RangeType rangeType) { MonsterStruct &monsterData = *monster._monsterData; int resistence = 0, damage = 0; - if (rangeType != RT_SINGLE && rangeType != RT_3) { + if (rangeType != RT_SINGLE && rangeType != RT_HIT) { switch (_damageType) { case DT_PHYSICAL: resistence = monsterData._phsyicalResistence; @@ -1815,7 +1829,7 @@ void Combat::rangedAttack(PowType powNum) { if (_damageType == DT_POISON_VOLLEY) { _damageType = DT_POISON; _shootType = ST_1; - Common::fill(&_shooting[0], &_shooting[6], 1); + Common::fill(&_shootingRow[0], &_shootingRow[MAX_ACTIVE_PARTY], 1); } else if (powNum == POW_ARROW) { _shootType = ST_1; bool flag = false; @@ -1824,12 +1838,12 @@ void Combat::rangedAttack(PowType powNum) { for (uint idx = 0; idx < party._activeParty.size(); ++idx) { Character &c = party._activeParty[idx]; if (c.hasMissileWeapon()) { - _shooting[idx] = 1; + _shootingRow[idx] = 1; flag = true; } } } else { - _shooting[0] = 1; + _shootingRow[0] = 1; flag = true; } @@ -1840,7 +1854,7 @@ void Combat::rangedAttack(PowType powNum) { sound.playFX(49); } else { - _shooting[0] = 1; + _shootingRow[0] = 1; _shootType = ST_0; } @@ -1865,7 +1879,7 @@ void Combat::rangedAttack(PowType powNum) { } for (uint idx = 0; idx < party._activeParty.size(); ++idx) { - if (_shooting[idx]) { + if (_shootingRow[idx]) { if (map._isOutdoors) { intf._outdoorList._attackImgs1[idx]._scale = 0; intf._outdoorList._attackImgs2[idx]._scale = 4; @@ -1892,7 +1906,7 @@ void Combat::rangedAttack(PowType powNum) { ++_monsterIndex; for (uint monIdx = 0; monIdx < attackMonsters.size(); ++monIdx, ++_monsterIndex) { - Common::fill(&_missedShot[0], &_missedShot[8], false); + Common::fill(&_missedShot[0], &_missedShot[MAX_PARTY_COUNT], false); _monster2Attack = attackMonsters[monIdx]; attack(*_oldCharacter, RT_GROUP); attackedFlag = true; @@ -1942,7 +1956,7 @@ void Combat::rangedAttack(PowType powNum) { ++_monsterIndex; for (uint monIdx = 0; monIdx < attackMonsters.size(); ++monIdx, ++_monsterIndex) { - Common::fill(&_missedShot[0], &_missedShot[8], false); + Common::fill(&_missedShot[0], &_missedShot[MAX_PARTY_COUNT], false); _monster2Attack = attackMonsters[monIdx]; attack(*_oldCharacter, RT_GROUP); attackedFlag = true; @@ -1992,7 +2006,7 @@ void Combat::rangedAttack(PowType powNum) { ++_monsterIndex; for (uint monIdx = 0; monIdx < attackMonsters.size(); ++monIdx, ++_monsterIndex) { - Common::fill(&_missedShot[0], &_missedShot[8], false); + Common::fill(&_missedShot[0], &_missedShot[MAX_PARTY_COUNT], false); _monster2Attack = attackMonsters[monIdx]; attack(*_oldCharacter, RT_GROUP); attackedFlag = true; @@ -2042,7 +2056,7 @@ void Combat::rangedAttack(PowType powNum) { ++_monsterIndex; for (uint monIdx = 0; monIdx < attackMonsters.size(); ++monIdx, ++_monsterIndex) { - Common::fill(&_missedShot[0], &_missedShot[8], false); + Common::fill(&_missedShot[0], &_missedShot[MAX_PARTY_COUNT], false); _monster2Attack = attackMonsters[monIdx]; attack(*_oldCharacter, RT_GROUP); attackedFlag = true; @@ -2057,8 +2071,9 @@ void Combat::rangedAttack(PowType powNum) { finished: endAttack(); + done: - Common::fill(&_shooting[0], &_shooting[MAX_PARTY_COUNT], 0); + clearShooting(); _monster2Attack = monster2Attack; _monsterIndex = monsterIndex; party.giveTreasure(); diff --git a/engines/xeen/combat.h b/engines/xeen/combat.h index fc7f9ed0dc..015f41e6a1 100644 --- a/engines/xeen/combat.h +++ b/engines/xeen/combat.h @@ -58,7 +58,7 @@ enum ElementalCategory { }; enum RangeType { - RT_SINGLE = 0, RT_GROUP = 1, RT_ALL = 2, RT_3 = 3 + RT_SINGLE = 0, RT_GROUP = 1, RT_ALL = 2, RT_HIT = 3 }; enum ShootType { @@ -116,7 +116,7 @@ public: int _elemScale[PARTY_AND_MONSTERS]; int _missedShot[8]; Common::Array<int> _speedTable; - int _shooting[8]; + int _shootingRow[8]; int _globalCombat; int _whosTurn; bool _itemFlag; @@ -155,6 +155,11 @@ public: */ void clearBlocked(); + /** + * Clear the list of ros projectiles are on headed for part members + */ + void clearShooting(); + void giveCharDamage(int damage, DamageType attackType, int charIndex); /** diff --git a/engines/xeen/debugger.cpp b/engines/xeen/debugger.cpp index 68d2c0cbd4..42f61b02b5 100644 --- a/engines/xeen/debugger.cpp +++ b/engines/xeen/debugger.cpp @@ -44,14 +44,17 @@ static int strToInt(const char *s) { /*------------------------------------------------------------------------*/ -Debugger::Debugger(XeenEngine *vm) : GUI::Debugger(), _vm(vm) { +Debugger::Debugger(XeenEngine *vm) : GUI::Debugger(), _vm(vm), + _invincible(false) { registerCmd("continue", WRAP_METHOD(Debugger, cmdExit)); registerCmd("spell", WRAP_METHOD(Debugger, cmdSpell)); + registerCmd("spells", WRAP_METHOD(Debugger, cmdSpells)); registerCmd("dump", WRAP_METHOD(Debugger, cmdDump)); registerCmd("gold", WRAP_METHOD(Debugger, cmdGold)); registerCmd("gems", WRAP_METHOD(Debugger, cmdGems)); registerCmd("map", WRAP_METHOD(Debugger, cmdMap)); registerCmd("pos", WRAP_METHOD(Debugger, cmdPos)); + registerCmd("invincible", WRAP_METHOD(Debugger, cmdInvincible)); _spellId = -1; } @@ -87,6 +90,21 @@ bool Debugger::cmdSpell(int argc, const char **argv) { return true; } +bool Debugger::cmdSpells(int argc, const char **argv) { + Party &party = *_vm->_party; + + for (uint charIdx = 0; charIdx < party._activeParty.size(); ++charIdx) { + Character &c = party._activeParty[charIdx]; + Common::fill(c._spells, c._spells + MAX_SPELLS_PER_CLASS, true); + c._currentSp = 9999; + } + + party._gems += 1000; + + debugPrintf("Spells given to party.\n"); + return true; +} + bool Debugger::cmdDump(int argc, const char **argv) { File f; @@ -178,4 +196,10 @@ bool Debugger::cmdPos(int argc, const char **argv) { } } +bool Debugger::cmdInvincible(int argc, const char **argv) { + _invincible = (argc < 2) || strcmp(argv[1], "off"); + debugPrintf("Invincibility is %s\n", _invincible ? "on" : "off"); + return true; +} + } // End of namespace Xeen diff --git a/engines/xeen/debugger.h b/engines/xeen/debugger.h index 5916419ce8..b7e1f1c325 100644 --- a/engines/xeen/debugger.h +++ b/engines/xeen/debugger.h @@ -35,15 +35,53 @@ private: XeenEngine *_vm; int _spellId; + /** + * Casts a spell + */ bool cmdSpell(int argc, const char **argv); + + /** + * Gives all the characters a full spellbook + */ + bool cmdSpells(int argc, const char **argv); + + /** + * Dumps a resource to a file + */ bool cmdDump(int argc, const char **argv); + + /** + * Gives gold to the party or bank + */ bool cmdGold(int argc, const char **argv); + + /** + * Gives gems to the party or bank + */ bool cmdGems(int argc, const char **argv); + + /** + * Jumps to a given map, and optionally a given position + */ bool cmdMap(int argc, const char **argv); + + /** + * Changes the party's position in the current map + */ bool cmdPos(int argc, const char **argv); + + /** + * Flags whether to make the party invincible + */ + bool cmdInvincible(int argc, const char **argv); +public: + bool _invincible; public: Debugger(XeenEngine *vm); + /** + * Updates the debugger window if active + */ void update(); }; diff --git a/engines/xeen/detection.cpp b/engines/xeen/detection.cpp index df3df4ffa7..f59f7c8b2c 100644 --- a/engines/xeen/detection.cpp +++ b/engines/xeen/detection.cpp @@ -95,11 +95,14 @@ public: bool XeenMetaEngine::hasFeature(MetaEngineFeature f) const { return - (f == kSupportsListSaves) || + (f == kSupportsListSaves) || (f == kSupportsLoadingDuringStartup) || (f == kSupportsDeleteSave) || (f == kSavesSupportMetaInfo) || - (f == kSavesSupportThumbnail); + (f == kSavesSupportCreationDate) || + (f == kSavesSupportPlayTime) || + (f == kSavesSupportThumbnail) || + (f == kSimpleSavesNames); } bool Xeen::XeenEngine::hasFeature(EngineFeature f) const { @@ -147,7 +150,8 @@ SaveStateList XeenMetaEngine::listSaves(const char *target) const { Xeen::SavesManager::readSavegameHeader(in, header); saveList.push_back(SaveStateDescriptor(slot, header._saveName)); - header._thumbnail->free(); + if (header._thumbnail) + header._thumbnail->free(); delete header._thumbnail; delete in; } diff --git a/engines/xeen/dialogs_party.cpp b/engines/xeen/dialogs_party.cpp index 64f57d62e8..226776c7d3 100644 --- a/engines/xeen/dialogs_party.cpp +++ b/engines/xeen/dialogs_party.cpp @@ -1031,7 +1031,7 @@ bool PartyDialog::saveCharacter(Character &c, int classId, if (Res.NEW_CHARACTER_SPELLS[c._class][idx] != -1) { c._hasSpells = true; c._currentSpell = Res.NEW_CHARACTER_SPELLS[c._class][idx]; - c._spells[c._currentSpell] = 1; + c._spells[c._currentSpell] = true; } } diff --git a/engines/xeen/dialogs_spells.cpp b/engines/xeen/dialogs_spells.cpp index bdd4940146..ab0347e869 100644 --- a/engines/xeen/dialogs_spells.cpp +++ b/engines/xeen/dialogs_spells.cpp @@ -237,7 +237,7 @@ Character *SpellsDialog::execute(ButtonContainer *priorDialog, Character *c, int if (Confirm::show(_vm, msg, castingCopy + 1)) { if (party.subtract(CONS_GOLD, spellCost, WHERE_PARTY, WT_FREEZE_WAIT)) { - ++c->_spells[spellIndex]; + c->_spells[spellIndex] = true; sound.stopSound(); intf._overallFrame = 0; sound.playSound(isDarkCc ? "guild12.voc" : "parrot2.voc", 1); diff --git a/engines/xeen/files.cpp b/engines/xeen/files.cpp index 912c9533d8..86fb3fc3e3 100644 --- a/engines/xeen/files.cpp +++ b/engines/xeen/files.cpp @@ -66,42 +66,35 @@ void BaseCCArchive::loadIndex(Common::SeekableReadStream &stream) { // Decrypt the index int seed = 0xac; for (int i = 0; i < count * 8; ++i, seed += 0x67) { - rawIndex[i] = (byte)(((rawIndex[i] << 2 | rawIndex[i] >> 6) + seed) & 0xff); + rawIndex[i] = (byte)((((rawIndex[i] << 2) | (rawIndex[i] >> 6)) + seed) & 0xff); } // Extract the index data into entry structures - _index.reserve(count); + _index.resize(count); const byte *entryP = &rawIndex[0]; - for (int i = 0; i < count; ++i, entryP += 8) { + for (int idx = 0; idx < count; ++idx, entryP += 8) { CCEntry entry; entry._id = READ_LE_UINT16(entryP); entry._offset = READ_LE_UINT32(entryP + 2) & 0xffffff; entry._size = READ_LE_UINT16(entryP + 5); assert(!entryP[7]); - _index.push_back(entry); + _index[idx] = entry; } delete[] rawIndex; } void BaseCCArchive::saveIndex(Common::WriteStream &stream) { - // First caclculate file offsets for each resource, since replaced resources - // will shift file offsets for even the succeeding unchanged resources - for (uint idx = 1, pos = _index[0]._offset + _index[0]._size; idx < _index.size(); ++idx) { - _index[idx]._offset = pos; - pos += _index[idx]._size; - } - // Fill up the data for the index entries into a raw data block - byte data[8]; byte *rawIndex = new byte[_index.size() * 8]; + byte b; byte *entryP = rawIndex; for (uint i = 0; i < _index.size(); ++i, entryP += 8) { CCEntry &entry = _index[i]; WRITE_LE_UINT16(&entryP[0], entry._id); - WRITE_LE_UINT32(&entryP[2], entry._offset); + WRITE_LE_UINT32(&entryP[2], entry._writeOffset); WRITE_LE_UINT16(&entryP[5], entry._size); entryP[7] = 0; } @@ -109,8 +102,11 @@ void BaseCCArchive::saveIndex(Common::WriteStream &stream) { // Encrypt the index int seed = 0xac; for (uint i = 0; i < _index.size() * 8; ++i, seed += 0x67) { - byte b = (seed - rawIndex[i]) && 0xff; - rawIndex[i] = ((b >> 2) & 0x3f) | ((b & 3) << 6); + b = (rawIndex[i] - seed) & 0xff; + b = (byte)((b >> 2) | (b << 6)); + + assert(rawIndex[i] == (byte)((((b << 2) | (b >> 6)) + seed) & 0xff)); + rawIndex[i] = b; } // Write out the number of entries and the encrypted index data @@ -253,6 +249,14 @@ void FileManager::setGameCc(int ccMode) { _isDarkCc = ccMode != 0; } +void FileManager::load(Common::SeekableReadStream &stream) { + setGameCc(stream.readByte()); +} + +void FileManager::save(Common::WriteStream &s) { + s.writeByte(_isDarkCc ? 1 : 0); +} + /*------------------------------------------------------------------------*/ CCArchive *File::_xeenCc; @@ -297,7 +301,7 @@ bool File::open(const Common::String &filename, int ccMode) { int oldMode = files._isDarkCc ? 1 : 0; files.setGameCc(ccMode); - File::open(filename); + File::open(filename, *_currentArchive); files.setGameCc(oldMode); return true; @@ -482,13 +486,26 @@ void SaveArchive::save(Common::WriteStream &s) { OutFile chr("maze.chr", this); XeenSerializer sChr(nullptr, &chr); _party->_roster.synchronize(sChr); + chr.finalize(); OutFile pty("maze.pty", this); Common::Serializer sPty(nullptr, &pty); _party->synchronize(sPty); + pty.finalize(); + + // First caclculate new offsets and total filesize + _dataSize = _index.size() * 8 + 2; + for (uint idx = 0; idx < _index.size(); ++idx) { + _index[idx]._writeOffset = (idx == 0) ? _dataSize : + _index[idx - 1]._writeOffset + _index[idx - 1]._size; + _dataSize += _index[idx]._size; + } + + s.writeUint32LE(_dataSize); // Save out the index - saveIndex(s); + SubWriteStream dataStream(&s); + saveIndex(dataStream); // Save out each resource in turn for (uint idx = 0; idx < _index.size(); ++idx) { @@ -498,7 +515,8 @@ void SaveArchive::save(Common::WriteStream &s) { entry->read(data, entry->size()); // Write it out to the savegame - s.write(data, entry->size()); + assert(dataStream.pos() == _index[idx]._writeOffset); + dataStream.write(data, entry->size()); delete[] data; delete entry; } diff --git a/engines/xeen/files.h b/engines/xeen/files.h index b528658566..086bb00f27 100644 --- a/engines/xeen/files.h +++ b/engines/xeen/files.h @@ -62,10 +62,11 @@ class SavesManager; */ struct CCEntry { uint16 _id; - uint32 _offset; + int _offset; uint16 _size; + int _writeOffset; - CCEntry() : _id(0), _offset(0), _size(0) {} + CCEntry() : _id(0), _offset(0), _size(0), _writeOffset(0) {} CCEntry(uint16 id, uint32 offset, uint32 size) : _id(id), _offset(offset), _size(size) { } @@ -93,6 +94,16 @@ public: * @param ccMode 0=Clouds, 1=Dark Side */ void setGameCc(int ccMode); + + /** + * Loads a save archive from a stream + */ + void load(Common::SeekableReadStream &stream); + + /** + * Saves a save archive to a savegame + */ + void save(Common::WriteStream &s); }; /** @@ -175,6 +186,30 @@ public: static bool exists(const Common::String &filename, int ccMode); }; +/** + * SubWriteStream provides a way of compartmentalizing writing to a subsection of + * a file. This is primarily useful for the pos() function which can, for example, + * be used in asserts to ensure writing is being done at the correct offset within + * the bounds of the structure being written. +*/ +class SubWriteStream : virtual public Common::WriteStream { +protected: + Common::WriteStream *_parentStream; + uint32 _begin; + DisposeAfterUse::Flag _disposeAfterUse; +public: + SubWriteStream(Common::WriteStream *parentStream) : + _parentStream(parentStream), _begin(parentStream->pos()) { + } + + virtual uint32 write(const void *dataPtr, uint32 dataSize) { + return _parentStream->write(dataPtr, dataSize); + } + virtual bool flush() { return _parentStream->flush(); } + virtual void finalize() {} + virtual int32 pos() const { return _parentStream->pos() - _begin; } +}; + class StringArray : public Common::StringArray { public: StringArray() {} diff --git a/engines/xeen/interface.cpp b/engines/xeen/interface.cpp index b9f1e2bb2c..5d667e3a2c 100644 --- a/engines/xeen/interface.cpp +++ b/engines/xeen/interface.cpp @@ -39,6 +39,10 @@ namespace Xeen { +enum { + SCENE_WINDOW = 11, SCENE_WIDTH = 216, SCENE_HEIGHT = 132 +}; + PartyDrawer::PartyDrawer(XeenEngine *vm): _vm(vm) { _restoreSprites.load("restorex.icn"); _hpSprites.load("hpbars.icn"); @@ -136,7 +140,7 @@ Interface::Interface(XeenEngine *vm) : ButtonContainer(vm), InterfaceScene(vm), _buttonsLoaded = false; _obscurity = OBSCURITY_NONE; _steppingFX = 0; - _falling = false; + _falling = FALL_NONE; _blessedUIFrame = 0; _powerShieldUIFrame = 0; _holyBonusUIFrame = 0; @@ -151,27 +155,6 @@ Interface::Interface(XeenEngine *vm) : ButtonContainer(vm), InterfaceScene(vm), _upDoorText = false; _tillMove = 0; Common::fill(&_charFX[0], &_charFX[MAX_ACTIVE_PARTY], 0); - - initDrawStructs(); -} - -void Interface::initDrawStructs() { - _mainList[0] = DrawStruct(7, 232, 74); - _mainList[1] = DrawStruct(0, 235, 75); - _mainList[2] = DrawStruct(2, 260, 75); - _mainList[3] = DrawStruct(4, 286, 75); - _mainList[4] = DrawStruct(6, 235, 96); - _mainList[5] = DrawStruct(8, 260, 96); - _mainList[6] = DrawStruct(10, 286, 96); - _mainList[7] = DrawStruct(12, 235, 117); - _mainList[8] = DrawStruct(14, 260, 117); - _mainList[9] = DrawStruct(16, 286, 117); - _mainList[10] = DrawStruct(20, 235, 148); - _mainList[11] = DrawStruct(22, 260, 148); - _mainList[12] = DrawStruct(24, 286, 148); - _mainList[13] = DrawStruct(26, 235, 169); - _mainList[14] = DrawStruct(28, 260, 169); - _mainList[15] = DrawStruct(30, 286, 169); } void Interface::setup() { @@ -181,6 +164,8 @@ void Interface::setup() { _blessSprites.load("bless.icn"); _charPowSprites.load("charpow.icn"); _uiSprites.load("inn.icn"); + _stdIcons.load("main.icn"); + _combatIcons.load("combat.icn"); Party &party = *_vm->_party; party.loadActiveParty(); @@ -190,7 +175,6 @@ void Interface::setup() { void Interface::startup() { Resources &res = *_vm->_resources; Windows &windows = *_vm->_windows; - _iconSprites.load("main.icn"); animate3d(); if (_vm->_map->_isOutdoors) { @@ -204,50 +188,50 @@ void Interface::startup() { res._globalSprites.draw(windows[1], 5, Common::Point(232, 9)); drawParty(false); - - _mainList[0]._sprites = &res._globalSprites; - for (int i = 1; i < 16; ++i) - _mainList[i]._sprites = &_iconSprites; - setMainButtons(); _tillMove = false; } void Interface::mainIconsPrint() { + Resources &res = *_vm->_resources; Windows &windows = *_vm->_windows; windows[38].close(); windows[12].close(); - windows[0].drawList(_mainList, 16); + + res._globalSprites.draw(0, 7, Common::Point(232, 74)); + drawButtons(&windows[0]); windows[34].update(); } -void Interface::setMainButtons(bool combatMode) { +void Interface::setMainButtons(IconsMode mode) { clearButtons(); - - addButton(Common::Rect(235, 75, 259, 95), Common::KEYCODE_s, &_iconSprites); - addButton(Common::Rect(260, 75, 284, 95), Common::KEYCODE_c, &_iconSprites); - addButton(Common::Rect(286, 75, 310, 95), Common::KEYCODE_r, &_iconSprites); - addButton(Common::Rect(235, 96, 259, 116), Common::KEYCODE_b, &_iconSprites); - addButton(Common::Rect(260, 96, 284, 116), Common::KEYCODE_d, &_iconSprites); - addButton(Common::Rect(286, 96, 310, 116), Common::KEYCODE_v, &_iconSprites); - addButton(Common::Rect(235, 117, 259, 137), Common::KEYCODE_m, &_iconSprites); - addButton(Common::Rect(260, 117, 284, 137), Common::KEYCODE_i, &_iconSprites); - addButton(Common::Rect(286, 117, 310, 137), Common::KEYCODE_q, &_iconSprites); - addButton(Common::Rect(109, 137, 122, 147), Common::KEYCODE_TAB, &_iconSprites); - addButton(Common::Rect(235, 148, 259, 168), Common::KEYCODE_LEFT, &_iconSprites); - addButton(Common::Rect(260, 148, 284, 168), Common::KEYCODE_UP, &_iconSprites); - addButton(Common::Rect(286, 148, 310, 168), Common::KEYCODE_RIGHT, &_iconSprites); - addButton(Common::Rect(235, 169, 259, 189), (Common::KBD_CTRL << 16) |Common::KEYCODE_LEFT, &_iconSprites); - addButton(Common::Rect(260, 169, 284, 189), Common::KEYCODE_DOWN, &_iconSprites); - addButton(Common::Rect(286, 169, 310, 189), (Common::KBD_CTRL << 16) | Common::KEYCODE_RIGHT, &_iconSprites); + _iconsMode = mode; + SpriteResource *spr = mode == ICONS_COMBAT ? &_combatIcons : &_stdIcons; + + addButton(Common::Rect(235, 75, 259, 95), Common::KEYCODE_s, spr); + addButton(Common::Rect(260, 75, 284, 95), Common::KEYCODE_c, spr); + addButton(Common::Rect(286, 75, 310, 95), Common::KEYCODE_r, spr); + addButton(Common::Rect(235, 96, 259, 116), Common::KEYCODE_b, spr); + addButton(Common::Rect(260, 96, 284, 116), Common::KEYCODE_d, spr); + addButton(Common::Rect(286, 96, 310, 116), Common::KEYCODE_v, spr); + addButton(Common::Rect(235, 117, 259, 137), Common::KEYCODE_m, spr); + addButton(Common::Rect(260, 117, 284, 137), Common::KEYCODE_i, spr); + addButton(Common::Rect(286, 117, 310, 137), Common::KEYCODE_q, spr); + addButton(Common::Rect(109, 137, 122, 147), Common::KEYCODE_TAB, spr); + addButton(Common::Rect(235, 148, 259, 168), Common::KEYCODE_LEFT, spr); + addButton(Common::Rect(260, 148, 284, 168), Common::KEYCODE_UP, spr); + addButton(Common::Rect(286, 148, 310, 168), Common::KEYCODE_RIGHT, spr); + addButton(Common::Rect(235, 169, 259, 189), (Common::KBD_CTRL << 16) |Common::KEYCODE_LEFT, spr); + addButton(Common::Rect(260, 169, 284, 189), Common::KEYCODE_DOWN, spr); + addButton(Common::Rect(286, 169, 310, 189), (Common::KBD_CTRL << 16) | Common::KEYCODE_RIGHT, spr); addButton(Common::Rect(236, 11, 308, 69), Common::KEYCODE_EQUALS); addButton(Common::Rect(239, 27, 312, 37), Common::KEYCODE_1); addButton(Common::Rect(239, 37, 312, 47), Common::KEYCODE_2); addButton(Common::Rect(239, 47, 312, 57), Common::KEYCODE_3); addPartyButtons(_vm); - if (combatMode) { + if (mode == ICONS_COMBAT) { _buttons[0]._value = Common::KEYCODE_f; _buttons[1]._value = Common::KEYCODE_c; _buttons[2]._value = Common::KEYCODE_a; @@ -659,7 +643,7 @@ void Interface::doStepCode() { // We can fly, we can.. oh wait, we can't! damage = 100; party._damageType = DT_PHYSICAL; - _falling = true; + _falling = FALL_IN_PROGRESS; break; case SURFTYPE_DESERT: // Without navigation skills, simulate getting lost by adding extra time @@ -669,7 +653,7 @@ void Interface::doStepCode() { case SURFTYPE_CLOUD: if (!party._levitateCount) { party._damageType = DT_PHYSICAL; - _falling = true; + _falling = FALL_IN_PROGRESS; damage = 100; } break; @@ -678,9 +662,9 @@ void Interface::doStepCode() { } if (_vm->_files->_isDarkCc && party._gameFlags[1][118]) { - _falling = false; + _falling = FALL_NONE; } else { - if (_falling) + if (_falling != FALL_NONE) startFalling(false); if ((party._mazePosition.x & 16) || (party._mazePosition.y & 16)) { @@ -712,32 +696,19 @@ void Interface::startFalling(bool flag) { bool isDarkCc = _vm->_files->_isDarkCc; if (isDarkCc && party._gameFlags[1][118]) { - _falling = 0; + _falling = FALL_NONE; return; } - _falling = false; + _falling = FALL_NONE; draw3d(true); - _falling = 2; + _falling = FALL_START; draw3d(false); - if (flag) { - if (!isDarkCc || party._fallMaze != 0) { - party._mazeId = party._fallMaze; - party._mazePosition = party._fallPosition; - } - } - - _falling = true; - map.load(party._mazeId); - if (flag) { - if (((party._mazePosition.x & 16) || (party._mazePosition.y & 16)) && - map._isOutdoors) { - map.getNewMaze(); - } - } - - if (isDarkCc) { + if (flag && (!isDarkCc || party._fallMaze != 0)) { + party._mazeId = party._fallMaze; + party._mazePosition = party._fallPosition; + } else if (!isDarkCc) { switch (party._mazeId - 25) { case 0: case 26: @@ -908,14 +879,22 @@ void Interface::startFalling(bool flag) { } } - _flipGround ^= 1; - draw3d(true); - int tempVal = scripts._v2; - scripts._v2 = 0; - combat.giveCharDamage(party._fallDamage, DT_PHYSICAL, 0); - scripts._v2 = tempVal; + _falling = FALL_IN_PROGRESS; + map.load(party._mazeId); - _flipGround ^= 1; + if (flag) { + if (map._isOutdoors && ((party._mazePosition.x & 16) || (party._mazePosition.y & 16))) + map.getNewMaze(); + + _flipGround ^= 1; + draw3d(true); + int tempVal = scripts._v2; + scripts._v2 = 0; + combat.giveCharDamage(party._fallDamage, DT_PHYSICAL, 0); + + scripts._v2 = tempVal; + _flipGround ^= 1; + } } bool Interface::checkMoveDirection(int key) { @@ -1240,12 +1219,11 @@ void Interface::draw3d(bool updateFlag, bool pauseFlag) { Combat &combat = *_vm->_combat; EventsManager &events = *_vm->_events; Party &party = *_vm->_party; - Screen &screen = *_vm->_screen; Scripts &scripts = *_vm->_scripts; Windows &windows = *_vm->_windows; events.timeMark5(); - if (windows[11]._enabled) + if (windows[SCENE_WINDOW]._enabled) return; _flipUIFrame = (_flipUIFrame + 1) % 4; @@ -1266,11 +1244,11 @@ void Interface::draw3d(bool updateFlag, bool pauseFlag) { // Handle any darkness-based oscurity obscureScene(_obscurity); - if (_falling == 1) + if (_falling == FALL_IN_PROGRESS) handleFalling(); - if (_falling == 2) { - screen.saveBackground(1); + if (_falling == FALL_START) { + setupFallSurface(true); } assembleBorder(); @@ -1301,14 +1279,19 @@ void Interface::draw3d(bool updateFlag, bool pauseFlag) { } void Interface::handleFalling() { + EventsManager &events = *g_vm->_events; Party &party = *_vm->_party; + Screen &screen = *_vm->_screen; Sound &sound = *_vm->_sound; Windows &windows = *_vm->_windows; Window &w = windows[3]; - saveFall(); + // Set the bottom half of the fall surface (area that is being fallen to) + setupFallSurface(false); + + // Update character faces and start scream for (uint idx = 0; idx < party._activeParty.size(); ++idx) { - party._activeParty[idx]._faceSprites->draw(windows[0], 4, + party._activeParty[idx]._faceSprites->draw(0, 4, Common::Point(Res.CHAR_FACES_X[idx], 150)); } @@ -1316,45 +1299,42 @@ void Interface::handleFalling() { sound.playFX(11); sound.playSound("scream.voc"); - for (int idx = 0, incr = 2; idx < 133; ++incr, idx += incr) { - fall(idx); + // Fall down to the ground + #define YINDEX (SCENE_HEIGHT / 2) + const int Y_LIST[] = { + SCENE_HEIGHT, SCENE_HEIGHT - 5, SCENE_HEIGHT, SCENE_HEIGHT - 3, SCENE_HEIGHT + }; + for (int idx = 1; idx < YINDEX + 5; ++idx) { + fall((idx < YINDEX) ? idx * 2 : Y_LIST[idx - YINDEX]); assembleBorder(); w.update(); - } + screen.update(); + g_system->delayMillis(5); - fall(132); - assembleBorder(); - w.update(); - - sound.stopSound(); - sound.playSound("unnh.voc"); - sound.playFX(31); - - fall(127); - assembleBorder(); - w.update(); - - fall(132); - assembleBorder(); - w.update(); - - fall(129); - assembleBorder(); - w.update(); - - fall(132); - assembleBorder(); - w.update(); + if (idx == YINDEX) { + sound.stopSound(); + sound.playSound("unnh.voc"); + sound.playFX(31); + } + } shake(10); + + _falling = FALL_NONE; + drawParty(true); } -void Interface::saveFall() { - // TODO +void Interface::setupFallSurface(bool isTop) { + Window &w = (*g_vm->_windows)[SCENE_WINDOW]; + + if (_fallSurface.empty()) + _fallSurface.create(SCENE_WIDTH, SCENE_HEIGHT * 2); + _fallSurface.blitFrom(w, w.getBounds(), Common::Point(0, isTop ? 0 : SCENE_HEIGHT)); } -void Interface::fall(int v) { - // TODO +void Interface::fall(int yp) { + Window &w = (*g_vm->_windows)[SCENE_WINDOW]; + w.blitFrom(_fallSurface, Common::Rect(0, yp, SCENE_WIDTH, yp + SCENE_HEIGHT), Common::Point(8, 8)); } void Interface::shake(int time) { @@ -1487,12 +1467,9 @@ void Interface::doCombat() { combat._combatMode = COMBATMODE_2; _vm->_mode = MODE_COMBAT; - _iconSprites.load("combat.icn"); - for (int idx = 1; idx < 16; ++idx) - _mainList[idx]._sprites = &_iconSprites; - // Set the combat buttons - setMainButtons(true); + IconsMode oldMode = _iconsMode; + setMainButtons(ICONS_COMBAT); mainIconsPrint(); combat._combatParty.clear(); @@ -1501,7 +1478,7 @@ void Interface::doCombat() { combat._charsArray1[0] = 0; combat._charsArray1[1] = 0; combat._charsArray1[2] = 0; - combat._monstersAttacking = 0; + combat._monstersAttacking = false; combat._partyRan = false; // Set up the combat party @@ -1537,8 +1514,8 @@ void Interface::doCombat() { // Write out the description of the monsters being battled w.writeString(combat.getMonsterDescriptions()); - _iconSprites.draw(0, 32, Common::Point(233, combat._monsterIndex * 10 + 27), - 0x8010000); + _combatIcons.draw(0, 32, Common::Point(233, combat._monsterIndex * 10 + 27), + SPRFLAG_800, 1); w.update(); // Wait for keypress @@ -1637,7 +1614,9 @@ void Interface::doCombat() { nextChar(); if (_vm->_mode == MODE_1) { - warning("TODO: loss of treasure"); + party._treasure._gems = 0; + party._treasure._gold = 0; + party._treasure._hasItems = false; party.moveToRunLocation(); breakFlag = true; } @@ -1699,7 +1678,9 @@ void Interface::doCombat() { for (uint idx = 0; idx < map._mobData._monsters.size(); ++idx) { MazeMonster &monster = map._mobData._monsters[idx]; if (monster._spriteId == 53) { - warning("TODO: Monster 53's HP is altered here?!"); + // For Medusa sprites, their HP keeps getting reset + MonsterStruct &monsData = map._monsterData[53]; + monster._hp = monsData._hp; } } @@ -1752,11 +1733,8 @@ void Interface::doCombat() { drawParty(true); } - _iconSprites.load("main.icn"); - for (int idx = 1; idx < 16; ++idx) - _mainList[idx]._sprites = &_iconSprites; - - setMainButtons(); + // Restore old icons + setMainButtons(oldMode); mainIconsPrint(); combat._monster2Attack = -1; @@ -1815,7 +1793,7 @@ void Interface::nextChar() { if (combat._whosTurn < (int)combat._combatParty.size()) { // If it's a party member, only allow them to become active if // they're still conscious - if (combat._combatParty[idx]->isDisabledOrDead()) + if (combat._combatParty[combat._whosTurn]->isDisabledOrDead()) continue; } @@ -1888,11 +1866,11 @@ void Interface::spellFX(Character *c) { _spellFxSprites.draw(0, frameNum, Common::Point( Res.CHAR_FACES_X[charIndex], 150)); - if (!windows[11]._enabled) + if (!windows[SCENE_WINDOW]._enabled) draw3d(false); windows[0].update(); - events.wait(windows[11]._enabled ? 2 : 1,false); + events.wait(windows[SCENE_WINDOW]._enabled ? 2 : 1,false); } drawParty(true); diff --git a/engines/xeen/interface.h b/engines/xeen/interface.h index a249e6f025..321fe520c7 100644 --- a/engines/xeen/interface.h +++ b/engines/xeen/interface.h @@ -42,6 +42,17 @@ enum Obscurity { OBSCURITY_NONE = 4 }; +enum IconsMode { + ICONS_STANDARD = 0, + ICONS_COMBAT = 1 +}; + +enum FallState { + FALL_NONE = 0, + FALL_IN_PROGRESS = 1, + FALL_START = 2 +}; + #define HILIGHT_CHAR_DISABLED -2 #define HILIGHT_CHAR_NONE -1 @@ -75,13 +86,13 @@ class Interface: public ButtonContainer, public InterfaceScene, private: XeenEngine *_vm; SpriteResource _uiSprites; - SpriteResource _iconSprites; SpriteResource _borderSprites; SpriteResource _spellFxSprites; SpriteResource _fecpSprites; SpriteResource _blessSprites; - DrawStruct _mainList[16]; - + SpriteResource _stdIcons; + SpriteResource _combatIcons; + Graphics::ManagedSurface _fallSurface; bool _buttonsLoaded; int _steppingFX; int _blessedUIFrame; @@ -90,13 +101,14 @@ private: int _heroismUIFrame; int _flipUIFrame; - void initDrawStructs(); - void loadSprites(); void setupBackground(); - void setMainButtons(bool combatMode = false); + /** + * Sets the main user interface icons for either standard mode or combat mode + */ + void setMainButtons(IconsMode mode = ICONS_STANDARD); void chargeStep(); @@ -117,9 +129,18 @@ private: */ void handleFalling(); - void saveFall(); + /** + * Sets up a passed surface with a double height combination of the previously + * saved scene background and the newly rendered (but not displayed) scene + * below it. This will be used by the fall sequence to vertically shift from the + * prior "upper" scene to the lower ground scene + */ + void setupFallSurface(bool isTop); - void fall(int v); + /** + * Handles a frame of falling animation + */ + void fall(int yp); /** * Shake the screen @@ -133,7 +154,7 @@ private: public: Obscurity _obscurity; Common::String _interfaceText; - int _falling; + FallState _falling; int _face1State, _face2State; int _face1UIFrame, _face2UIFrame; int _spotDoorsUIFrame; @@ -143,6 +164,7 @@ public: Common::String _screenText; byte _tillMove; int _charFX[6]; + IconsMode _iconsMode; public: Interface(XeenEngine *vm); diff --git a/engines/xeen/interface_minimap.cpp b/engines/xeen/interface_minimap.cpp index c9bbf10897..4eb02fb298 100644 --- a/engines/xeen/interface_minimap.cpp +++ b/engines/xeen/interface_minimap.cpp @@ -78,7 +78,7 @@ void InterfaceMinimap::drawOutdoorsMinimap() { assert(v != INVALID_CELL); frame = map.mazeDataCurrent()._surfaceTypes[v]; - if (frame && (map._currentSteppedOn || party._wizardEyeActive)) { + if (map._currentSteppedOn || party._wizardEyeActive) { map._tileSprites.draw(1, frame, Common::Point(xp, yp)); } } diff --git a/engines/xeen/interface_scene.cpp b/engines/xeen/interface_scene.cpp index 4aa37562fb..42015017b2 100644 --- a/engines/xeen/interface_scene.cpp +++ b/engines/xeen/interface_scene.cpp @@ -436,7 +436,7 @@ void InterfaceScene::drawOutdoorsScene() { _outdoorList[Res.OUTDOOR_DRAWSTRUCT_INDEXES[idx]]._frame = -1; if (combat._monstersAttacking) { - for (int idx = 0; idx < 8; ++idx) { + for (int idx = 0; idx < MAX_PARTY_COUNT; ++idx) { if (_outdoorList._attackImgs4[idx]._sprites) _outdoorList._attackImgs4[idx]._frame = 0; else if (_outdoorList._attackImgs3[idx]._sprites) @@ -447,7 +447,7 @@ void InterfaceScene::drawOutdoorsScene() { _outdoorList._attackImgs1[idx]._frame = 0; } } else if (_charsShooting) { - for (int idx = 0; idx < 8; ++idx) { + for (int idx = 0; idx < MAX_PARTY_COUNT; ++idx) { if (_outdoorList._attackImgs1[idx]._sprites) _outdoorList._attackImgs1[idx]._frame = 0; else if (_outdoorList._attackImgs2[idx]._sprites) @@ -523,7 +523,7 @@ void InterfaceScene::drawOutdoorsScene() { _outdoorList[123] = _outdoorList[114]; _outdoorList[112]._sprites = nullptr; _outdoorList[113]._sprites = nullptr; - _outdoorList[124]._sprites = nullptr; + _outdoorList[114]._sprites = nullptr; monsterIndex = 2; } else if (combat._attackMonsters[2] != -1 && map._mobData._monsters[combat._attackMonsters[2]]._frame >= 8) { _outdoorList[121] = _outdoorList[115]; @@ -581,7 +581,7 @@ void InterfaceScene::drawIndoorsScene() { } } } else if (_charsShooting) { - for (int idx = 0; idx < 8; ++idx) { + for (int idx = 0; idx < MAX_PARTY_COUNT; ++idx) { if (_indoorList._attackImgs1[idx]._sprites != nullptr) { _indoorList._attackImgs1[idx]._frame = 0; } else if (_indoorList._attackImgs2[idx]._sprites != nullptr) { @@ -723,14 +723,14 @@ void InterfaceScene::animate3d() { monster._field9 = 0; } } else if (monster._frame == 11) { - --monster._fieldA; - if (monster._fieldA == 0) + --monster._postAttackDelay; + if (monster._postAttackDelay == 0) monster._frame = 0; } else { ++monster._frame; if (monster._frame == 11) { - --monster._frame; - monster._frame = monster._fieldA ? 10 : 0; + --monster._postAttackDelay; + monster._frame = monster._postAttackDelay ? 10 : 0; } } } @@ -760,40 +760,44 @@ void InterfaceScene::animate3d() { } } - DrawStruct *combatImgs1 = map._isOutdoors ? _outdoorList._attackImgs1 : _indoorList._attackImgs1; - DrawStruct *combatImgs2 = map._isOutdoors ? _outdoorList._attackImgs2 : _indoorList._attackImgs2; - DrawStruct *combatImgs3 = map._isOutdoors ? _outdoorList._attackImgs3 : _indoorList._attackImgs3; - DrawStruct *combatImgs4 = map._isOutdoors ? _outdoorList._attackImgs4 : _indoorList._attackImgs4; + DrawStruct *rangedImgs1 = map._isOutdoors ? _outdoorList._attackImgs1 : _indoorList._attackImgs1; + DrawStruct *rangedImgs2 = map._isOutdoors ? _outdoorList._attackImgs2 : _indoorList._attackImgs2; + DrawStruct *rangedImgs3 = map._isOutdoors ? _outdoorList._attackImgs3 : _indoorList._attackImgs3; + DrawStruct *rangedImgs4 = map._isOutdoors ? _outdoorList._attackImgs4 : _indoorList._attackImgs4; if (combat._monstersAttacking) { - for (int idx = 0; idx < 8; ++idx) { - if (combatImgs1[idx]._sprites) { - combatImgs1[idx]._sprites = nullptr; - combat._shooting[idx] = false; - } else if (combatImgs2[idx]._sprites) { - combatImgs1[idx]._sprites = combatImgs2[idx]._sprites; - combatImgs2[idx]._sprites = nullptr; - } else if (combatImgs3[idx]._sprites) { - combatImgs2[idx]._sprites = combatImgs3[idx]._sprites; - combatImgs3[idx]._sprites = nullptr; - } else if (combatImgs4[idx]._sprites) { - combatImgs3[idx]._sprites = combatImgs4[idx]._sprites; - combatImgs4[idx]._sprites = nullptr; + // Monsters doing ranged attacks. Sequentially move the attack from + // whichever row it started in to the front (where the party is) + for (int idx = 0; idx < MAX_PARTY_COUNT; ++idx) { + if (rangedImgs1[idx]._sprites) { + rangedImgs1[idx]._sprites = nullptr; + combat._shootingRow[idx] = 0; + } else if (rangedImgs2[idx]._sprites) { + rangedImgs1[idx]._sprites = rangedImgs2[idx]._sprites; + rangedImgs2[idx]._sprites = nullptr; + } else if (rangedImgs3[idx]._sprites) { + rangedImgs2[idx]._sprites = rangedImgs3[idx]._sprites; + rangedImgs3[idx]._sprites = nullptr; + } else if (rangedImgs4[idx]._sprites) { + rangedImgs3[idx]._sprites = rangedImgs4[idx]._sprites; + rangedImgs4[idx]._sprites = nullptr; } } } else if (_charsShooting) { - for (int idx = 0; idx < 8; ++idx) { - if (combatImgs4[idx]._sprites) { - combatImgs4[idx]._sprites = nullptr; - } else if (combatImgs3[idx]._sprites) { - combatImgs4[idx]._sprites = combatImgs3[idx]._sprites; - combatImgs3[idx]._sprites = nullptr; - } else if (combatImgs2[idx]._sprites) { - combatImgs3[idx]._sprites = combatImgs2[idx]._sprites; - combatImgs2[idx]._sprites = nullptr; - } else if (combatImgs1[idx]._sprites) { - combatImgs2[idx]._sprites = combatImgs1[idx]._sprites; - combatImgs1[idx]._sprites = nullptr; + // Characters shooting at monsters. Sequentially move the attack + // away from the party + for (int idx = 0; idx < MAX_PARTY_COUNT; ++idx) { + if (rangedImgs4[idx]._sprites) { + rangedImgs4[idx]._sprites = nullptr; + } else if (rangedImgs3[idx]._sprites) { + rangedImgs4[idx]._sprites = rangedImgs3[idx]._sprites; + rangedImgs3[idx]._sprites = nullptr; + } else if (rangedImgs2[idx]._sprites) { + rangedImgs3[idx]._sprites = rangedImgs2[idx]._sprites; + rangedImgs2[idx]._sprites = nullptr; + } else if (rangedImgs1[idx]._sprites) { + rangedImgs2[idx]._sprites = rangedImgs1[idx]._sprites; + rangedImgs1[idx]._sprites = nullptr; } } } @@ -4376,7 +4380,7 @@ void InterfaceScene::drawIndoors() { // Check for any character shooting _isAttacking = false; for (uint idx = 0; idx < _vm->_party->_activeParty.size(); ++idx) { - if (_vm->_combat->_shooting[idx]) + if (_vm->_combat->_shootingRow[idx]) _isAttacking = true; } @@ -4457,7 +4461,7 @@ void InterfaceScene::drawOutdoors() { // Check for any character shooting _isAttacking = false; for (uint idx = 0; idx < _vm->_party->_activeParty.size(); ++idx) { - if (_vm->_combat->_shooting[idx]) + if (_vm->_combat->_shootingRow[idx]) _isAttacking = true; } diff --git a/engines/xeen/locations.cpp b/engines/xeen/locations.cpp index 647eebac71..dbfd437ea6 100644 --- a/engines/xeen/locations.cpp +++ b/engines/xeen/locations.cpp @@ -1282,8 +1282,8 @@ int ReaperCutscene::show() { Sound &sound = *g_vm->_sound; Windows &windows = *g_vm->_windows; - SpriteResource sprites1(_isDarkCc ? "tower1.zom" : "tower.vga"); - SpriteResource sprites2(_isDarkCc ? "tower2.zom" : "freap.vga"); + SpriteResource sprites1(_isDarkCc ? "tower1.zom" : "tower.vga", _isDarkCc); + SpriteResource sprites2(_isDarkCc ? "tower2.zom" : "freap.vga", _isDarkCc); Graphics::ManagedSurface savedBg; savedBg.copyFrom(screen); diff --git a/engines/xeen/map.cpp b/engines/xeen/map.cpp index 2b954f5afa..e16dcf5cb4 100644 --- a/engines/xeen/map.cpp +++ b/engines/xeen/map.cpp @@ -685,7 +685,7 @@ MazeMonster::MazeMonster() { _isAttacking = false; _damageType = DT_PHYSICAL; _field9 = 0; - _fieldA = 0; + _postAttackDelay = 0; _hp = 0; _effect1 = _effect2 = 0; _effect3 = 0; @@ -791,7 +791,7 @@ void MonsterObjectData::synchronize(XeenSerializer &s, MonsterData &monsterData) } else { // Load monster/obbject data and merge together with sprite Ids - // Merge together object data + // Load objects mobStruct.synchronize(s); do { MazeObject obj; @@ -799,25 +799,35 @@ void MonsterObjectData::synchronize(XeenSerializer &s, MonsterData &monsterData) obj._id = mobStruct._id; obj._direction = mobStruct._direction; obj._frame = 100; - obj._spriteId = _objectSprites[obj._id]._spriteId; - obj._sprites = &_objectSprites[obj._id]._sprites; + + if (obj._id < (int)_objectSprites.size()) { + obj._spriteId = _objectSprites[obj._id]._spriteId; + obj._sprites = &_objectSprites[obj._id]._sprites; + } else { + assert(!obj._id); + } _objects.push_back(obj); mobStruct.synchronize(s); } while (mobStruct._id != 255 || mobStruct._pos.x != -1); - // Merge together monster data + // Load monsters mobStruct.synchronize(s); do { MazeMonster mon; mon._position = mobStruct._pos; mon._id = mobStruct._id; - mon._spriteId = _monsterSprites[mon._id]._spriteId; - mon._sprites = &_monsterSprites[mon._id]._sprites; - mon._attackSprites = &_monsterSprites[mon._id]._attackSprites; - mon._monsterData = &monsterData[mon._spriteId]; mon._frame = _vm->getRandomNumber(7); + if (mon._id < (int)_monsterSprites.size()) { + mon._spriteId = _monsterSprites[mon._id]._spriteId; + mon._sprites = &_monsterSprites[mon._id]._sprites; + mon._attackSprites = &_monsterSprites[mon._id]._attackSprites; + mon._monsterData = &monsterData[mon._spriteId]; + } else { + assert(!mon._id); + } + MonsterStruct &md = *mon._monsterData; mon._hp = md._hp; mon._effect1 = mon._effect2 = md._animationEffect; @@ -828,7 +838,7 @@ void MonsterObjectData::synchronize(XeenSerializer &s, MonsterData &monsterData) mobStruct.synchronize(s); } while (mobStruct._id != 255 || mobStruct._pos.x != -1); - // Merge together wall item data + // Load wall items mobStruct.synchronize(s); do { if (mobStruct._id < (int)_wallItemSprites.size()) { @@ -1093,9 +1103,6 @@ void Map::load(int mapId) { _headData.synchronize(headFile); headFile.close(); - if (!isDarkCc && party._mazeId) - _mobData._monsters.clear(); - if (!isDarkCc && mapId == 15) { if ((_mobData._monsters[0]._position.x > 31 || _mobData._monsters[0]._position.y > 31) && (_mobData._monsters[1]._position.x > 31 || _mobData._monsters[1]._position.y > 31) && @@ -1198,7 +1205,7 @@ void Map::load(int mapId) { if (_mazeData[0]._wallTypes[i] != 0) { _wallSprites._surfaces[i].load(Common::String::format("%s.wal", - Res.SURFACE_TYPE_NAMES[_mazeData[0]._wallTypes[i]])); + Res.OUTDOORS_WALL_TYPES[_mazeData[0]._wallTypes[i]])); } _surfaceSprites[i].clear(); @@ -1323,6 +1330,17 @@ void Map::load(int mapId) { files.setGameCc(isDarkCc); } +void Map::findMap(int mapId) { + if (mapId == -1) + mapId = _vm->_party->_mazeId; + + _mazeDataIndex = 0; + while (_mazeDataIndex < 9 && _mazeData[_mazeDataIndex]._mazeId != mapId) + ++_mazeDataIndex; + if (_mazeDataIndex == 9) + error("Could not find map %d", mapId); +} + int Map::mazeLookup(const Common::Point &pt, int layerShift, int wallMask) { Common::Point pos = pt; int mapId = _vm->_party->_mazeId; @@ -1333,9 +1351,7 @@ int Map::mazeLookup(const Common::Point &pt, int layerShift, int wallMask) { } // Find the correct maze data out of the set to use - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId != _vm->_party->_mazeId) - ++_mazeDataIndex; + findMap(); // Handle map changing to the north or south as necessary if (pos.y & 16) { @@ -1349,9 +1365,7 @@ int Map::mazeLookup(const Common::Point &pt, int layerShift, int wallMask) { if (mapId) { // Move to the correct map to north/south - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId != mapId) - ++_mazeDataIndex; + findMap(mapId); } else { // No map, so reached outside indoor area or outer space outdoors _currentSteppedOn = true; @@ -1369,11 +1383,9 @@ int Map::mazeLookup(const Common::Point &pt, int layerShift, int wallMask) { mapId = _mazeData[_mazeDataIndex]._surroundingMazes._west; } - if (mapId) { - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId != mapId) - ++_mazeDataIndex; - } + if (mapId) + // Move to the correct map to east/west + findMap(mapId); } if (mapId) { @@ -1489,10 +1501,10 @@ void Map::saveMaze() { void Map::cellFlagLookup(const Common::Point &pt) { Common::Point pos = pt; + findMap(); + int mapId = _vm->_party->_mazeId; - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId != mapId) - ++_mazeDataIndex; + findMap(mapId); // Handle map changing to the north or south as necessary if (pos.y & 16) { @@ -1504,9 +1516,7 @@ void Map::cellFlagLookup(const Common::Point &pt) { mapId = _mazeData[_mazeDataIndex]._surroundingMazes._south; } - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId != mapId) - ++_mazeDataIndex; + findMap(mapId); } // Handle map changing to the east or west as necessary @@ -1519,9 +1529,7 @@ void Map::cellFlagLookup(const Common::Point &pt) { mapId = _mazeData[_mazeDataIndex]._surroundingMazes._west; } - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId != mapId) - ++_mazeDataIndex; + findMap(mapId); } // Get the cell flags @@ -1575,9 +1583,7 @@ int Map::getCell(int idx) { return INVALID_CELL; } - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId != mapId) - ++_mazeDataIndex; + findMap(mapId); if (pt.y & 16) { if (pt.y >= 0) { @@ -1610,9 +1616,7 @@ int Map::getCell(int idx) { } } - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId != mapId) - ++_mazeDataIndex; + findMap(mapId); } if (pt.x & 16) { @@ -1646,9 +1650,7 @@ int Map::getCell(int idx) { } } - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId != mapId) - ++_mazeDataIndex; + findMap(mapId); } assert(pt.x >= 0 && pt.x < 16 && pt.y >= 0 && pt.y < 16); @@ -1690,9 +1692,7 @@ void Map::getNewMaze() { int mapId = party._mazeId; // Get the correct map to use from the cached list - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId != mapId) - ++_mazeDataIndex; + findMap(mapId); // Adjust Y and X to be in the 0-15 range, and on the correct surrounding // map if either value is < 0 or >= 16 @@ -1705,11 +1705,8 @@ void Map::getNewMaze() { mapId = _mazeData[_mazeDataIndex]._surroundingMazes._south; } - if (mapId) { - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId == mapId) - ++_mazeDataIndex; - } + if (mapId) + findMap(mapId); } if (pt.x & 16) { @@ -1721,11 +1718,8 @@ void Map::getNewMaze() { mapId = _mazeData[_mazeDataIndex]._surroundingMazes._west; } - if (mapId) { - _mazeDataIndex = 0; - while (_mazeData[_mazeDataIndex]._mazeId == mapId) - ++_mazeDataIndex; - } + if (mapId) + findMap(mapId); } // Save the adjusted (0,0)-(15,15) position and load the given map. diff --git a/engines/xeen/map.h b/engines/xeen/map.h index fe626858c8..71af89e305 100644 --- a/engines/xeen/map.h +++ b/engines/xeen/map.h @@ -265,7 +265,7 @@ struct MazeMonster { bool _isAttacking; DamageType _damageType; int _field9; - int _fieldA; + int _postAttackDelay; int _hp; int _effect1, _effect2; int _effect3; @@ -425,6 +425,12 @@ private: * Save the map data */ void saveMap(); + + /** + * Finds a map in the array that contains the currently active and the surrounding + * maps in the eight cardinal directions + */ + void findMap(int mapId = -1); public: Common::String _mazeName; bool _isOutdoors; @@ -453,14 +459,23 @@ public: public: Map(XeenEngine *vm); + /** + * Loads a specified map + */ void load(int mapId); int mazeLookup(const Common::Point &pt, int layerShift, int wallMask = 0xf); void cellFlagLookup(const Common::Point &pt); + /** + * Sets the surface flags for a given position + */ void setCellSurfaceFlags(const Common::Point &pt, int bits); + /** + * Sets the value for the wall in a given direction from a given point + */ void setWall(const Common::Point &pt, Direction dir, int v); /** @@ -468,14 +483,32 @@ public: */ void saveMaze(); + /** + * Gets the data for a map position at one of the relative indexes + * surrounding the current position + */ int getCell(int idx); + /** + * Returns the data for the primary active map + */ MazeData &mazeData() { return _mazeData[0]; } + /** + * Returns the data for the currently indexed map + */ MazeData &mazeDataCurrent() { return _mazeData[_mazeDataIndex]; } + /** + * Loads the sprites needed for rendering the skyline + */ void loadSky(); + /** + * Tests the current position, and if it's moved beyond the valid (0,0) to (15,15) + * range for a map, loads in the correct surrounding map, and adjusts the + * position to the relative position on the new map + */ void getNewMaze(); }; diff --git a/engines/xeen/party.cpp b/engines/xeen/party.cpp index 49d86bee62..346011838c 100644 --- a/engines/xeen/party.cpp +++ b/engines/xeen/party.cpp @@ -584,7 +584,7 @@ void Party::giveTreasure() { if (_vm->_mode != MODE_RECORD_EVENTS && monstersPresent) return; - Common::fill(&combat._shooting[0], &combat._shooting[MAX_PARTY_COUNT], 0); + combat.clearShooting(); intf._charsShooting = false; intf.draw3d(true); @@ -817,7 +817,7 @@ bool Party::giveTake(int takeMode, uint takeVal, int giveMode, uint giveVal, int for (int idx = 0; idx < 39; ++idx) { if (Res.SPELLS_ALLOWED[idx2][idx] == takeVal) { - ps._spells[idx] = 0; + ps._spells[idx] = false; break; } } @@ -1086,7 +1086,7 @@ bool Party::giveTake(int takeMode, uint takeVal, int giveMode, uint giveVal, int for (int idx = 0; idx < 39; ++idx) { if (Res.SPELLS_ALLOWED[idx2][idx] == giveVal) { - ps._spells[idx] = 1; + ps._spells[idx] = true; intf.spellFX(&ps); break; } diff --git a/engines/xeen/resources.cpp b/engines/xeen/resources.cpp index 0ef55dc33a..96e9116d85 100644 --- a/engines/xeen/resources.cpp +++ b/engines/xeen/resources.cpp @@ -112,9 +112,9 @@ const char *const Resources::TERRAIN_TYPES[6] = { "town", "cave", "towr", "cstl", "dung", "scfi" }; -const char *const Resources::SURFACE_TYPE_NAMES[15] = { - nullptr, "mount", "ltree", "dtree", "grass", "snotree", "snomnt", - "dedltree", "mount", "lavamnt", "palm", "dmount", "dedltree", +const char *const Resources::OUTDOORS_WALL_TYPES[16] = { + nullptr, "mount", "ltree", "dtree", "grass", "snotree", "dsnotree", + "snomnt", "dedltree", "mount", "lavamnt", "palm", "dmount", "dedltree", "dedltree", "dedltree" }; diff --git a/engines/xeen/resources.h b/engines/xeen/resources.h index 9bde8da691..11c677d53d 100644 --- a/engines/xeen/resources.h +++ b/engines/xeen/resources.h @@ -50,7 +50,7 @@ public: static const char *const IN_NO_CONDITION; static const char *const NOTHING_HERE; static const char *const TERRAIN_TYPES[6]; - static const char *const SURFACE_TYPE_NAMES[15]; + static const char *const OUTDOORS_WALL_TYPES[16]; static const char *const SURFACE_NAMES[16]; static const char *const WHO_ACTIONS[32]; static const char *const WHO_WILL_ACTIONS[4]; diff --git a/engines/xeen/saves.cpp b/engines/xeen/saves.cpp index 2a6b7d6619..f69757f4d0 100644 --- a/engines/xeen/saves.cpp +++ b/engines/xeen/saves.cpp @@ -143,7 +143,7 @@ Common::Error SavesManager::saveGameState(int slot, const Common::String &desc) Map &map = *g_vm->_map; map.saveMaze(); - + // Write the savegame header XeenSavegameHeader header; header._saveName = desc; writeSavegameHeader(out, header); @@ -159,6 +159,10 @@ Common::Error SavesManager::saveGameState(int slot, const Common::String &desc) } } + // Write out miscellaneous + FileManager &files = *g_vm->_files; + files.save(*out); + out->finalize(); delete out; @@ -166,6 +170,11 @@ Common::Error SavesManager::saveGameState(int slot, const Common::String &desc) } Common::Error SavesManager::loadGameState(int slot) { + EventsManager &events = *g_vm->_events; + FileManager &files = *g_vm->_files; + Map &map = *g_vm->_map; + Party &party = *g_vm->_party; + Common::InSaveFile *saveFile = g_system->getSavefileManager()->openForLoading( generateSaveName(slot)); if (!saveFile) @@ -182,7 +191,7 @@ Common::Error SavesManager::loadGameState(int slot) { } // Set the total play time - g_vm->_events->setPlayTime(header._totalFrames); + events.setPlayTime(header._totalFrames); // Loop through loading the sides' save archives SaveArchive *archives[2] = { File::_xeenSave, File::_darkSave }; @@ -198,6 +207,13 @@ Common::Error SavesManager::loadGameState(int slot) { } } + // Read in miscellaneous + files.load(*saveFile); + + // Load the new map + map._loadDarkSide = files._isDarkCc; + map.load(party._mazeId); + return Common::kNoError; } diff --git a/engines/xeen/scripts.cpp b/engines/xeen/scripts.cpp index 46485a543b..e597cf7dbc 100644 --- a/engines/xeen/scripts.cpp +++ b/engines/xeen/scripts.cpp @@ -1840,10 +1840,17 @@ void Scripts::display(bool justifyFlag, int var46) { w.open(); while (!_vm->shouldQuit()) { - _displayMessage = w.writeString(_displayMessage); + const char *newPos = w.writeString(_displayMessage); w.update(); + + // Check for end of message + if (!newPos) + break; + _displayMessage = Common::String(newPos); if (_displayMessage.empty()) break; + + // Wait for click events.clearEvents(); do { diff --git a/engines/xeen/worldofxeen/worldofxeen.cpp b/engines/xeen/worldofxeen/worldofxeen.cpp index c5f56573d3..e67024c883 100644 --- a/engines/xeen/worldofxeen/worldofxeen.cpp +++ b/engines/xeen/worldofxeen/worldofxeen.cpp @@ -39,32 +39,32 @@ WorldOfXeenEngine::WorldOfXeenEngine(OSystem *syst, const XeenGameDescription *g void WorldOfXeenEngine::outerGameLoop() { //_pendingAction = getGameID() == GType_DarkSide ? WOX_DARKSIDE_INTRO : WOX_CLOUDS_INTRO; _pendingAction = WOX_MENU; - if (gDebugLevel >= 1) - // Skip main menu when starting in debug mode + + if (_loadSaveSlot != -1) + // Loading savegame from launcher, so Skip menu and go straight to game _pendingAction = WOX_PLAY_GAME; while (!shouldQuit() && _pendingAction != WOX_QUIT) { - switch (_pendingAction) { + WOXGameAction action = _pendingAction; + _pendingAction = WOX_MENU; + + switch (action) { case WOX_CLOUDS_INTRO: if (showCloudsTitle()) showCloudsIntro(); - _pendingAction = WOX_MENU; break; case WOX_CLOUDS_ENDING: showCloudsEnding(); - _pendingAction = WOX_MENU; break; case WOX_DARKSIDE_INTRO: if (showDarkSideTitle()) showDarkSideIntro(); - _pendingAction = WOX_MENU; break; case WOX_DARKSIDE_ENDING: showDarkSideEnding(); - _pendingAction = WOX_MENU; break; case WOX_WORLD_ENDING: @@ -85,5 +85,86 @@ void WorldOfXeenEngine::outerGameLoop() { } } +void WorldOfXeenEngine::death() { + Window &w = (*_windows)[0]; + _sound->stopAllAudio(); + SpriteResource fireSprites[4] = { + SpriteResource("fire1.vga"), + SpriteResource("fire2.vga"), + SpriteResource("fire3.vga"), + SpriteResource("fire4.vga") + }; + SpriteResource deathSprites("death.vga"), death1Sprites("death1.vga"); + const int Y_LIST[] = { + 196, 187, 179, 169, 159, 147, 138, 127, 113, 101, 86, + 73, 60, 48, 36, 23, 10, 0, 0 + }; + + Graphics::ManagedSurface savedBg; + savedBg.copyFrom(*_screen); + + fireSprites[0].draw(0, 0, Common::Point(0, 0)); + fireSprites[0].draw(0, 1, Common::Point(160, 0)); + w.update(); + _sound->playSound("fire.voc"); + + // Fire will vertically consume the screen + for (int idx = 2; idx < 36; idx += 2) { + _events->updateGameCounter(); + _screen->blitFrom(savedBg); + + fireSprites[idx / 10].draw(0, idx % 10, Common::Point(0, 0)); + fireSprites[idx / 10].draw(0, (idx % 10) + 1, Common::Point(160, 0)); + + for (int yCtr = 0, frame = 0; yCtr < (idx / 2); ++yCtr, frame += 2) { + deathSprites.draw(0, frame, Common::Point(0, Y_LIST[yCtr])); + deathSprites.draw(0, frame + 1, Common::Point(160, Y_LIST[yCtr])); + } + + w.update(); + _events->wait(1); + } + + deathSprites.draw(0, 34, Common::Point(0, 0)); + deathSprites.draw(0, 35, Common::Point(160, 0)); + w.update(); + savedBg.blitFrom(*_screen); + + _sound->playSong(_files->_isDarkCc ? "laff1.voc" : "xeenlaff.voc"); + + // Animation of Xeen or Alamar laughing + for (int idx = 0, idx2 = 0; idx < (_files->_isDarkCc ? 10 : 23); ++idx) { + _events->updateGameCounter(); + _screen->blitFrom(savedBg); + + if (idx != 0) + death1Sprites.draw(0, idx - 1); + w.update(); + + if (_files->_isDarkCc) { + _events->wait(2); + } else { + if (idx == 1 || idx == 11) + _sound->playFX(33); + _events->wait(2); + if (idx == 15) + _sound->playFX(34); + } + + if (idx == (_files->_isDarkCc ? 9 : 10)) { + if (idx2 < (_files->_isDarkCc ? 2 : 1)) { + idx = -1; + ++idx2; + } + } + + if (!_sound->isPlaying()) + idx = 23; + } + + _screen->blitFrom(savedBg); + w.update(); +} + } // End of namespace WorldOfXeen } // End of namespace Xeen diff --git a/engines/xeen/worldofxeen/worldofxeen.h b/engines/xeen/worldofxeen/worldofxeen.h index 0177e7cacf..90fd191b17 100644 --- a/engines/xeen/worldofxeen/worldofxeen.h +++ b/engines/xeen/worldofxeen/worldofxeen.h @@ -48,6 +48,11 @@ protected: * intros, main menus, or to play the actual game */ virtual void outerGameLoop(); + + /** + * Death cutscene + */ + virtual void death(); public: bool _seenDarkSideIntro; WOXGameAction _pendingAction; diff --git a/engines/xeen/xeen.cpp b/engines/xeen/xeen.cpp index 9a0e42e44c..1b0688304c 100644 --- a/engines/xeen/xeen.cpp +++ b/engines/xeen/xeen.cpp @@ -139,7 +139,8 @@ Common::Error XeenEngine::saveGameState(int slot, const Common::String &desc) { } Common::Error XeenEngine::loadGameState(int slot) { - return _saves->loadGameState(slot); + _loadSaveSlot = slot; + return Common::kNoError; } bool XeenEngine::canLoadGameStateCurrently() { @@ -173,7 +174,12 @@ void XeenEngine::play() { _party->_mazePosition.y = 21; } - _map->load(_party->_mazeId); + if (_loadSaveSlot >= 0) { + _saves->loadGameState(_loadSaveSlot); + _loadSaveSlot = -1; + } else { + _map->load(_party->_mazeId); + } _interface->startup(); if (_mode == MODE_0) { @@ -194,11 +200,21 @@ void XeenEngine::play() { _combat->_moveMonsters = true; gameLoop(); + + if (_party->_dead) + death(); } void XeenEngine::gameLoop() { // Main game loop while (!shouldQuit()) { + if (_loadSaveSlot >= 0) { + // Load any pending savegame + int saveSlot = _loadSaveSlot; + _loadSaveSlot = -1; + _saves->loadGameState(saveSlot); + } + _map->cellFlagLookup(_party->_mazePosition); if (_map->_currentIsEvent) { _quitMode = _scripts->checkEvents(); @@ -209,6 +225,9 @@ void XeenEngine::gameLoop() { // Main user interface handler for waiting for and processing user input _interface->perform(); + + if (_party->_dead) + break; } } diff --git a/engines/xeen/xeen.h b/engines/xeen/xeen.h index afbec4a7f9..dcf490d7fb 100644 --- a/engines/xeen/xeen.h +++ b/engines/xeen/xeen.h @@ -102,7 +102,12 @@ class XeenEngine : public Engine { private: const XeenGameDescription *_gameDescription; Common::RandomSource _randomSource; - int _loadSaveSlot; +private: + void initialize(); + + // Engine APIs + virtual Common::Error run(); + virtual bool hasFeature(EngineFeature f) const; void play(); @@ -110,6 +115,8 @@ private: void gameLoop(); protected: + int _loadSaveSlot; +protected: /** * Outer gameplay loop responsible for dispatching control to game-specific * intros, main menus, or to play the actual game @@ -120,12 +127,11 @@ protected: * Play the game */ virtual void playGame(); -private: - void initialize(); - // Engine APIs - virtual Common::Error run(); - virtual bool hasFeature(EngineFeature f) const; + /** + * Death cutscene + */ + virtual void death() = 0; public: Combat *_combat; Debugger *_debugger; diff --git a/engines/zvision/scripting/scr_file_handling.cpp b/engines/zvision/scripting/scr_file_handling.cpp index a8344ad5f4..c8952cde01 100644 --- a/engines/zvision/scripting/scr_file_handling.cpp +++ b/engines/zvision/scripting/scr_file_handling.cpp @@ -141,6 +141,22 @@ bool ScriptManager::parseCriteria(Common::SeekableReadStream &stream, Common::Li criteriaList.back().push_back(entry); } + // WORKAROUND for a script bug in Zork: Grand Inquisitor, room me2j + // (Closing the Time Tunnels). When the time tunnel is open the game + // shows a close-up of only the tunnel, instead of showing the entire + // booth. However, the scripts that draw the lever in its correct + // state do not test this flag, causing it to be drawn when it should + // not be. This fixes bug #6770. + if (_engine->getGameId() == GID_GRANDINQUISITOR && key == 9536) { + Puzzle::CriteriaEntry entry; + entry.key = 9404; // me2j_time_tunnel_open + entry.criteriaOperator = Puzzle::EQUAL_TO; + entry.argumentIsAKey = false; + entry.argument = 0; + + criteriaList.back().push_back(entry); + } + while (!stream.eos() && !line.contains('}')) { Puzzle::CriteriaEntry entry; diff --git a/graphics/VectorRendererSpec.cpp b/graphics/VectorRendererSpec.cpp index 68e7a0ce14..1d6b2589cb 100644 --- a/graphics/VectorRendererSpec.cpp +++ b/graphics/VectorRendererSpec.cpp @@ -936,34 +936,26 @@ blitKeyBitmapClip(const Graphics::Surface *source, const Common::Rect &r, const if (r.height() > source->h) y = y + (r.height() >> 1) - (source->h >> 1); - int w = source->w, h = source->h; - int usedW = w, usedH = h; - int offsetX = 0, offsetY = 0; + Common::Rect drawRect(x, y, x + source->w, y + source->h); + drawRect.clip(clipping); - if (x > clipping.right || x + w < clipping.left) return; - if (y > clipping.bottom || y + h < clipping.top) return; - if (x < clipping.left) { - offsetX = clipping.left - x; - usedW -= offsetX; - x = clipping.left; - } - if (y < clipping.top) { - offsetY = clipping.top - y; - usedH -= offsetY; - y = clipping.top; + if (drawRect.isEmpty()) { + return; } - if (usedW > clipping.width()) usedW = clipping.width(); - if (usedH > clipping.height()) usedH = clipping.height(); - PixelType *dst_ptr = (PixelType *)_activeSurface->getBasePtr(x, y); - const PixelType *src_ptr = (const PixelType *)source->getBasePtr(offsetX, offsetY); + int sourceOffsetX = drawRect.left - x; + int sourceOffsetY = drawRect.top - y; + + PixelType *dst_ptr = (PixelType *)_activeSurface->getBasePtr(drawRect.left, drawRect.top); + const PixelType *src_ptr = (const PixelType *)source->getBasePtr(sourceOffsetX, sourceOffsetY); int dst_pitch = _activeSurface->pitch / _activeSurface->format.bytesPerPixel; int src_pitch = source->pitch / source->format.bytesPerPixel; - h = usedH; + int w, h = drawRect.height(); + while (h--) { - w = usedW; + w = drawRect.width(); while (w--) { if (*src_ptr != _bitmapAlphaColor) @@ -973,8 +965,8 @@ blitKeyBitmapClip(const Graphics::Surface *source, const Common::Rect &r, const src_ptr++; } - dst_ptr = dst_ptr - usedW + dst_pitch; - src_ptr = src_ptr - usedW + src_pitch; + dst_ptr = dst_ptr - drawRect.width() + dst_pitch; + src_ptr = src_ptr - drawRect.width() + src_pitch; } } diff --git a/gui/KeysDialog.cpp b/gui/KeysDialog.cpp index fcf9201877..68e9bd836d 100644 --- a/gui/KeysDialog.cpp +++ b/gui/KeysDialog.cpp @@ -82,7 +82,7 @@ void KeysDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) { selection = Common::String::format(_("Associated key : none")); _keyMapping->setLabel(selection); - _keyMapping->draw(); + _keyMapping->markAsDirty(); } break; case kMapCmd: @@ -105,11 +105,11 @@ void KeysDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) { _actionTitle->setLabel(_("Press the key to associate")); _keyMapping->setLabel(selection); - _keyMapping->draw(); + _keyMapping->markAsDirty(); Actions::Instance()->beginMapping(true); _actionsList->setEnabled(false); } - _actionTitle->draw(); + _actionTitle->markAsDirty(); break; case kOKCmd: Actions::Instance()->saveMapping(); @@ -144,8 +144,8 @@ void KeysDialog::handleKeyUp(Common::KeyState state) { _actionTitle->setLabel(_("Choose an action to map")); _keyMapping->setLabel(selection); - _keyMapping->draw(); - _actionTitle->draw(); + _keyMapping->markAsDirty(); + _actionTitle->markAsDirty(); _actionSelected = -1; _actionsList->setEnabled(true); Actions::Instance()->beginMapping(false); diff --git a/gui/ThemeEngine.cpp b/gui/ThemeEngine.cpp index 5c0b23279f..cff0947775 100644 --- a/gui/ThemeEngine.cpp +++ b/gui/ThemeEngine.cpp @@ -227,7 +227,7 @@ static const DrawDataInfo kDrawDataDefaults[] = { {kDDWidgetBackgroundEditText, "widget_textedit", true, kDDNone}, {kDDWidgetBackgroundSlider, "widget_slider", true, kDDNone}, - {kDDButtonIdle, "button_idle", true, kDDWidgetBackgroundSlider}, + {kDDButtonIdle, "button_idle", true, kDDNone}, {kDDButtonHover, "button_hover", false, kDDButtonIdle}, {kDDButtonDisabled, "button_disabled", true, kDDNone}, {kDDButtonPressed, "button_pressed", false, kDDButtonIdle}, diff --git a/gui/browser.cpp b/gui/browser.cpp index 19fa791cee..67b0dd9174 100644 --- a/gui/browser.cpp +++ b/gui/browser.cpp @@ -21,6 +21,7 @@ */ #include "gui/browser.h" +#include "gui/gui-manager.h" #include "gui/widgets/list.h" #include "common/config-manager.h" @@ -191,7 +192,7 @@ void BrowserDialog::updateListing() { _fileList->scrollTo(0); // Finally, redraw - draw(); + g_gui.scheduleTopDialogRedraw(); } } // End of namespace GUI diff --git a/gui/chooser.cpp b/gui/chooser.cpp index 61af3de407..1351263121 100644 --- a/gui/chooser.cpp +++ b/gui/chooser.cpp @@ -64,7 +64,7 @@ void ChooserDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data break; case kListSelectionChangedCmd: _chooseButton->setEnabled(item >= 0); - _chooseButton->draw(); + _chooseButton->markAsDirty(); break; case kCloseCmd: setResult(-1); diff --git a/gui/console.cpp b/gui/console.cpp index f99197c32d..942ef615ab 100644 --- a/gui/console.cpp +++ b/gui/console.cpp @@ -173,6 +173,7 @@ void ConsoleDialog::drawDialog() { drawLine(line, false); // Draw the scrollbar + _scrollBar->markAsDirty(); _scrollBar->draw(); } @@ -213,7 +214,7 @@ void ConsoleDialog::reflowLayout() { updateScrollBuffer(); Dialog::reflowLayout(); - draw(); + g_gui.scheduleTopDialogRedraw(); } void ConsoleDialog::handleTickle() { @@ -236,13 +237,13 @@ void ConsoleDialog::handleTickle() { // End the slide _slideMode = kNoSlideMode; _y = 0; - draw(); + g_gui.scheduleTopDialogRedraw(); } else if (_slideMode == kUpSlideMode && _y <= -_h) { // End the slide //_slideMode = kNoSlideMode; close(); } else - draw(); + g_gui.scheduleTopDialogRedraw(); } _scrollBar->handleTickle(); @@ -291,7 +292,7 @@ void ConsoleDialog::handleKeyDown(Common::KeyState state) { print(PROMPT); _promptStartPos = _promptEndPos = _currentPos; - draw(); + g_gui.scheduleTopDialogRedraw(); if (!keepRunning) slideUpAndClose(); break; @@ -376,7 +377,7 @@ void ConsoleDialog::handleKeyDown(Common::KeyState state) { } else { _currentPos = _promptEndPos; } - draw(); + g_gui.scheduleTopDialogRedraw(); break; case Common::KEYCODE_KP2: @@ -404,7 +405,7 @@ void ConsoleDialog::handleKeyDown(Common::KeyState state) { _scrollLine = _firstLineInBuffer + _linesPerPage - 1; } updateScrollBuffer(); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; @@ -445,7 +446,7 @@ void ConsoleDialog::handleKeyDown(Common::KeyState state) { } else { _currentPos = _promptStartPos; } - draw(); + g_gui.scheduleTopDialogRedraw(); break; case Common::KEYCODE_KP8: @@ -470,7 +471,7 @@ void ConsoleDialog::handleKeyDown(Common::KeyState state) { if (_scrollLine < _firstLineInBuffer + _linesPerPage - 1) _scrollLine = _firstLineInBuffer + _linesPerPage - 1; updateScrollBuffer(); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; @@ -507,7 +508,7 @@ void ConsoleDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data int newPos = (int)data + _linesPerPage - 1 + _firstLineInBuffer; if (newPos != _scrollLine) { _scrollLine = newPos; - draw(); + g_gui.scheduleTopDialogRedraw(); } break; } @@ -517,25 +518,25 @@ void ConsoleDialog::specialKeys(int keycode) { switch (keycode) { case Common::KEYCODE_a: _currentPos = _promptStartPos; - draw(); + g_gui.scheduleTopDialogRedraw(); break; case Common::KEYCODE_d: if (_currentPos < _promptEndPos) { killChar(); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; case Common::KEYCODE_e: _currentPos = _promptEndPos; - draw(); + g_gui.scheduleTopDialogRedraw(); break; case Common::KEYCODE_k: killLine(); - draw(); + g_gui.scheduleTopDialogRedraw(); break; case Common::KEYCODE_w: killLastWord(); - draw(); + g_gui.scheduleTopDialogRedraw(); break; } } @@ -625,7 +626,7 @@ void ConsoleDialog::historyScroll(int direction) { // Ensure once more the caret is visible (in case of very long history entries) scrollToCurrent(); - draw(); + g_gui.scheduleTopDialogRedraw(); } void ConsoleDialog::nextLine() { @@ -703,7 +704,7 @@ void ConsoleDialog::print(const char *str) { while (*str) printCharIntern(*str++); - draw(); + g_gui.scheduleTopDialogRedraw(); } void ConsoleDialog::drawCaret(bool erase) { @@ -732,7 +733,7 @@ void ConsoleDialog::scrollToCurrent() { } else if (line > _scrollLine) { _scrollLine = line; updateScrollBuffer(); - draw(); + g_gui.scheduleTopDialogRedraw(); } } diff --git a/gui/dialog.cpp b/gui/dialog.cpp index 24b3db4d6d..408387b662 100644 --- a/gui/dialog.cpp +++ b/gui/dialog.cpp @@ -153,12 +153,12 @@ void Dialog::releaseFocus() { } } -void Dialog::draw() { - //TANOKU - FIXME when is this enabled? what does this do? - // Update: called on tab drawing, mainly... - // we can pass this as open a new dialog or something -// g_gui._needRedraw = true; - g_gui._redrawStatus = GUI::GuiManager::kRedrawTopDialog; +void Dialog::markWidgetsAsDirty() { + Widget *w = _firstWidget; + while (w) { + w->markAsDirty(); + w = w->_next; + } } void Dialog::drawDialog() { @@ -168,6 +168,15 @@ void Dialog::drawDialog() { g_gui.theme()->drawDialogBackground(Common::Rect(_x, _y, _x+_w, _y+_h), _backgroundType); + markWidgetsAsDirty(); + drawWidgets(); +} + +void Dialog::drawWidgets() { + + if (!isVisible()) + return; + // Draw all children Widget *w = _firstWidget; while (w) { diff --git a/gui/dialog.h b/gui/dialog.h index cf734a83f8..8f3b2343f5 100644 --- a/gui/dialog.h +++ b/gui/dialog.h @@ -88,9 +88,15 @@ protected: virtual void open(); virtual void close(); - virtual void draw(); + /** Recursively mark all the widgets in this dialog as dirty so they are redrawn */ + void markWidgetsAsDirty(); + + /** Draw the dialog in its entirety (background and widgets) */ virtual void drawDialog(); + /** Draw only the dialog's widgets */ + void drawWidgets(); + virtual void handleTickle(); // Called periodically (in every guiloop() ) virtual void handleMouseDown(int x, int y, int button, int clickCount); virtual void handleMouseUp(int x, int y, int button, int clickCount); diff --git a/gui/downloaddialog.cpp b/gui/downloaddialog.cpp index bcbe956ae2..4df7dc7707 100644 --- a/gui/downloaddialog.cpp +++ b/gui/downloaddialog.cpp @@ -29,6 +29,7 @@ #include "gui/browser.h" #include "gui/chooser.h" #include "gui/editgamedialog.h" +#include "gui/gui-manager.h" #include "gui/launcher.h" #include "gui/message.h" #include "gui/remotebrowser.h" @@ -81,7 +82,7 @@ void DownloadDialog::open() { if (!selectDirectories()) close(); reflowLayout(); - draw(); + g_gui.scheduleTopDialogRedraw(); } void DownloadDialog::close() { @@ -101,7 +102,7 @@ void DownloadDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat case kDownloadProgressCmd: if (!_close) { refreshWidgets(); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; case kDownloadEndedCmd: @@ -196,7 +197,7 @@ void DownloadDialog::handleTickle() { int32 progress = (int32)(100 * CloudMan.getDownloadingProgress()); if (_progressBar->getValue() != progress) { refreshWidgets(); - draw(); + g_gui.scheduleTopDialogRedraw(); } Dialog::handleTickle(); diff --git a/gui/editgamedialog.cpp b/gui/editgamedialog.cpp index 348ba5cb91..4192c4058a 100644 --- a/gui/editgamedialog.cpp +++ b/gui/editgamedialog.cpp @@ -28,6 +28,7 @@ #include "common/system.h" #include "gui/browser.h" +#include "gui/gui-manager.h" #include "gui/message.h" #ifdef ENABLE_EVENTRECORDER #include "gui/onscreendialog.h" @@ -424,26 +425,26 @@ void EditGameDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat switch (cmd) { case kCmdGlobalGraphicsOverride: setGraphicSettingsState(data != 0); - draw(); + g_gui.scheduleTopDialogRedraw(); break; case kCmdGlobalAudioOverride: setAudioSettingsState(data != 0); setSubtitleSettingsState(data != 0); if (_globalVolumeOverride == NULL) setVolumeSettingsState(data != 0); - draw(); + g_gui.scheduleTopDialogRedraw(); break; case kCmdGlobalMIDIOverride: setMIDISettingsState(data != 0); - draw(); + g_gui.scheduleTopDialogRedraw(); break; case kCmdGlobalMT32Override: setMT32SettingsState(data != 0); - draw(); + g_gui.scheduleTopDialogRedraw(); break; case kCmdGlobalVolumeOverride: setVolumeSettingsState(data != 0); - draw(); + g_gui.scheduleTopDialogRedraw(); break; case kCmdChooseSoundFontCmd: { @@ -459,7 +460,7 @@ void EditGameDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat else _soundFontClearButton->setEnabled(false); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; } @@ -477,9 +478,9 @@ void EditGameDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat // FSList files = dir.listDir(FSNode::kListFilesOnly); _gamePathWidget->setLabel(dir.getPath()); - draw(); + g_gui.scheduleTopDialogRedraw(); } - draw(); + g_gui.scheduleTopDialogRedraw(); break; } @@ -491,9 +492,9 @@ void EditGameDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat // User made his choice... Common::FSNode dir(browser.getResult()); _extraPathWidget->setLabel(dir.getPath()); - draw(); + g_gui.scheduleTopDialogRedraw(); } - draw(); + g_gui.scheduleTopDialogRedraw(); break; } // Change path for stored save game (perm and temp) data @@ -508,9 +509,9 @@ void EditGameDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat MessageDialog warningMessage(_("Saved games sync feature doesn't work with non-default directories. If you want your saved games to sync, use default directory.")); warningMessage.runModal(); #endif - draw(); + g_gui.scheduleTopDialogRedraw(); } - draw(); + g_gui.scheduleTopDialogRedraw(); break; } diff --git a/gui/filebrowser-dialog.cpp b/gui/filebrowser-dialog.cpp index 93395ba909..0c7f55a46e 100644 --- a/gui/filebrowser-dialog.cpp +++ b/gui/filebrowser-dialog.cpp @@ -30,6 +30,7 @@ #include "common/translation.h" #include "gui/widgets/list.h" +#include "gui/gui-manager.h" #include "gui/message.h" namespace GUI { @@ -88,7 +89,7 @@ void FileBrowserDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 break; case kListSelectionChangedCmd: _fileName->setEditString(_fileList->getList().operator[](_fileList->getSelected()).c_str()); - _fileName->draw(); + _fileName->markAsDirty(); break; case kListItemActivatedCmd: case kListItemDoubleClickedCmd: @@ -154,7 +155,7 @@ void FileBrowserDialog::updateListing() { _fileList->scrollTo(0); // Finally, redraw - draw(); + g_gui.scheduleTopDialogRedraw(); } } // End of namespace GUI diff --git a/gui/fluidsynth-dialog.cpp b/gui/fluidsynth-dialog.cpp index af5ee6fb10..921449eee8 100644 --- a/gui/fluidsynth-dialog.cpp +++ b/gui/fluidsynth-dialog.cpp @@ -21,6 +21,7 @@ */ #include "gui/fluidsynth-dialog.h" +#include "gui/gui-manager.h" #include "gui/message.h" #include "gui/widgets/tab.h" #include "gui/widgets/popup.h" @@ -180,45 +181,45 @@ void FluidSynthSettingsDialog::handleCommand(CommandSender *sender, uint32 cmd, break; case kChorusVoiceCountChangedCmd: _chorusVoiceCountLabel->setLabel(Common::String::format("%d", _chorusVoiceCountSlider->getValue())); - _chorusVoiceCountLabel->draw(); + _chorusVoiceCountLabel->markAsDirty(); break; case kChorusLevelChangedCmd: _chorusLevelLabel->setLabel(Common::String::format("%d", _chorusLevelSlider->getValue())); - _chorusLevelLabel->draw(); + _chorusLevelLabel->markAsDirty(); break; case kChorusSpeedChangedCmd: _chorusSpeedLabel->setLabel(Common::String::format("%d", _chorusSpeedSlider->getValue())); - _chorusSpeedLabel->draw(); + _chorusSpeedLabel->markAsDirty(); break; case kChorusDepthChangedCmd: _chorusDepthLabel->setLabel(Common::String::format("%d", _chorusDepthSlider->getValue())); - _chorusDepthLabel->draw(); + _chorusDepthLabel->markAsDirty(); break; case kActivateReverbCmd: setReverbSettingsState(data); break; case kReverbRoomSizeChangedCmd: _reverbRoomSizeLabel->setLabel(Common::String::format("%d", _reverbRoomSizeSlider->getValue())); - _reverbRoomSizeLabel->draw(); + _reverbRoomSizeLabel->markAsDirty(); break; case kReverbDampingChangedCmd: _reverbDampingLabel->setLabel(Common::String::format("%d", _reverbDampingSlider->getValue())); - _reverbDampingLabel->draw(); + _reverbDampingLabel->markAsDirty(); break; case kReverbWidthChangedCmd: _reverbWidthLabel->setLabel(Common::String::format("%d", _reverbWidthSlider->getValue())); - _reverbWidthLabel->draw(); + _reverbWidthLabel->markAsDirty(); break; case kReverbLevelChangedCmd: _reverbLevelLabel->setLabel(Common::String::format("%d", _reverbLevelSlider->getValue())); - _reverbLevelLabel->draw(); + _reverbLevelLabel->markAsDirty(); break; case kResetSettingsCmd: { MessageDialog alert(_("Do you really want to reset all FluidSynth settings to their default values?"), _("Yes"), _("No")); if (alert.runModal() == GUI::kMessageOK) { resetSettings(); readSettings(); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; } diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp index 76f557711d..7c00c68189 100644 --- a/gui/gui-manager.cpp +++ b/gui/gui-manager.cpp @@ -208,7 +208,7 @@ bool GuiManager::loadNewTheme(Common::String id, ThemeEngine::GraphicsMode gfx, void GuiManager::redraw() { ThemeEngine::ShadingStyle shading; - if (_redrawStatus == kRedrawDisabled || _dialogStack.empty()) + if (_dialogStack.empty()) return; shading = (ThemeEngine::ShadingStyle)xmlEval()->getVar("Dialog." + _dialogStack.top()->_name + ".Shading", 0); @@ -241,9 +241,12 @@ void GuiManager::redraw() { break; default: - return; + break; } + // Redraw the widgets that are marked as dirty + _dialogStack.top()->drawWidgets(); + _theme->updateScreen(); _redrawStatus = kRedrawDisabled; } @@ -299,11 +302,10 @@ void GuiManager::runLoop() { } Common::EventManager *eventMan = _system->getEventManager(); - uint32 lastRedraw = 0; - const uint32 waitTime = 1000 / 60; + const uint32 targetFrameDuration = 1000 / 60; while (!_dialogStack.empty() && activeDialog == getTopDialog() && !eventMan->shouldQuit()) { - redraw(); + uint32 frameStartTime = _system->getMillis(true); // Don't "tickle" the dialog until the theme has had a chance // to re-allocate buffers in case of a scaler change. @@ -312,14 +314,6 @@ void GuiManager::runLoop() { if (_useStdCursor) animateCursor(); -// _theme->updateScreen(); -// _system->updateScreen(); - - if (lastRedraw + waitTime < _system->getMillis(true)) { - lastRedraw = _system->getMillis(true); - _theme->updateScreen(); - _system->updateScreen(); - } Common::Event event; @@ -349,13 +343,6 @@ void GuiManager::runLoop() { } processEvent(event, activeDialog); - - - if (lastRedraw + waitTime < _system->getMillis(true)) { - lastRedraw = _system->getMillis(true); - _theme->updateScreen(); - _system->updateScreen(); - } } // Delete GuiObject that have been added to the trash for a delayed deletion @@ -379,8 +366,14 @@ void GuiManager::runLoop() { } } - // Delay for a moment - _system->delayMillis(10); + redraw(); + + // Delay until the allocated frame time is elapsed to match the target frame rate + uint32 actualFrameDuration = _system->getMillis(true) - frameStartTime; + if (actualFrameDuration < targetFrameDuration) { + _system->delayMillis(targetFrameDuration - actualFrameDuration); + } + _system->updateScreen(); } // WORKAROUND: When quitting we might not properly close the dialogs on @@ -597,10 +590,8 @@ void GuiManager::processEvent(const Common::Event &event, Dialog *const activeDi } } -void GuiManager::doFullRedraw() { - _redrawStatus = kRedrawFull; - redraw(); - _system->updateScreen(); +void GuiManager::scheduleTopDialogRedraw() { + _redrawStatus = kRedrawTopDialog; } void GuiManager::giveFocusToDialog(Dialog *dialog) { diff --git a/gui/gui-manager.h b/gui/gui-manager.h index 82a8aa9cfd..07ea474628 100644 --- a/gui/gui-manager.h +++ b/gui/gui-manager.h @@ -75,7 +75,7 @@ public: void runLoop(); void processEvent(const Common::Event &event, Dialog *const activeDialog); - void doFullRedraw(); + void scheduleTopDialogRedraw(); bool isActive() const { return ! _dialogStack.empty(); } diff --git a/gui/launcher.cpp b/gui/launcher.cpp index fd75674300..4fe1ae79c8 100644 --- a/gui/launcher.cpp +++ b/gui/launcher.cpp @@ -323,7 +323,7 @@ void LauncherDialog::addGame() { selectTarget(newTarget); } - draw(); + g_gui.scheduleTopDialogRedraw(); } // We need to update the buttons here, so "Mass add" will revert to "Add game" @@ -427,7 +427,7 @@ void LauncherDialog::removeGame(int item) { // Update the ListWidget and force a redraw updateListing(); - draw(); + g_gui.scheduleTopDialogRedraw(); } } @@ -452,7 +452,7 @@ void LauncherDialog::editGame(int item) { // Update the ListWidget, reselect the edited game and force a redraw updateListing(); selectTarget(editDialog.getDomain()); - draw(); + g_gui.scheduleTopDialogRedraw(); } } @@ -614,7 +614,7 @@ bool LauncherDialog::doGameDetection(const Common::String &path) { // Update the ListWidget, select the new item, and force a redraw updateListing(); selectTarget(editDialog.getDomain()); - draw(); + g_gui.scheduleTopDialogRedraw(); } else { // User aborted, remove the the new domain again ConfMan.removeGameDomain(domain); @@ -688,15 +688,15 @@ void LauncherDialog::updateButtons() { bool enable = (_list->getSelected() >= 0); if (enable != _startButton->isEnabled()) { _startButton->setEnabled(enable); - _startButton->draw(); + _startButton->markAsDirty(); } if (enable != _editButton->isEnabled()) { _editButton->setEnabled(enable); - _editButton->draw(); + _editButton->markAsDirty(); } if (enable != _removeButton->isEnabled()) { _removeButton->setEnabled(enable); - _removeButton->draw(); + _removeButton->markAsDirty(); } int item = _list->getSelected(); @@ -707,7 +707,7 @@ void LauncherDialog::updateButtons() { if (en != _loadButton->isEnabled()) { _loadButton->setEnabled(en); - _loadButton->draw(); + _loadButton->markAsDirty(); } switchButtonsText(_addButton, "~A~dd Game...", _s("Mass Add...")); #ifdef ENABLE_EVENTRECORDER diff --git a/gui/object.cpp b/gui/object.cpp index de66d95492..327bc27894 100644 --- a/gui/object.cpp +++ b/gui/object.cpp @@ -30,7 +30,7 @@ namespace GUI { GuiObject::GuiObject(const Common::String &name) - : _x(-1000), _y(-1000), _w(0), _h(0), _name(name), _firstWidget(0), _textDrawableArea(Common::Rect(0, 0, 0, 0)) { + : _x(-1000), _y(-1000), _w(0), _h(0), _name(name), _firstWidget(nullptr) { reflowLayout(); } diff --git a/gui/object.h b/gui/object.h index 1541c35aa8..40ea2da636 100644 --- a/gui/object.h +++ b/gui/object.h @@ -70,7 +70,7 @@ protected: Widget *_firstWidget; public: - GuiObject(int x, int y, int w, int h) : _x(x), _y(y), _w(w), _h(h), _firstWidget(0), _textDrawableArea(Common::Rect(0, 0, 0, 0)) { } + GuiObject(int x, int y, int w, int h) : _x(x), _y(y), _w(w), _h(h), _firstWidget(nullptr) { } GuiObject(const Common::String &name); ~GuiObject(); @@ -87,8 +87,6 @@ public: virtual bool isVisible() const = 0; - virtual void draw() = 0; - virtual void reflowLayout(); virtual void removeWidget(Widget *widget); diff --git a/gui/options.cpp b/gui/options.cpp index 0ffcee4f87..6083a2ccbf 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -709,12 +709,12 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data switch (cmd) { case kMidiGainChanged: _midiGainLabel->setLabel(Common::String::format("%.2f", (double)_midiGainSlider->getValue() / 100.0)); - _midiGainLabel->draw(); + _midiGainLabel->markAsDirty(); break; case kMusicVolumeChanged: { const int newValue = _musicVolumeSlider->getValue(); _musicVolumeLabel->setValue(newValue); - _musicVolumeLabel->draw(); + _musicVolumeLabel->markAsDirty(); if (_guioptions.contains(GUIO_LINKMUSICTOSFX)) { updateSfxVolume(newValue); @@ -729,7 +729,7 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data case kSfxVolumeChanged: { const int newValue = _sfxVolumeSlider->getValue(); _sfxVolumeLabel->setValue(_sfxVolumeSlider->getValue()); - _sfxVolumeLabel->draw(); + _sfxVolumeLabel->markAsDirty(); if (_guioptions.contains(GUIO_LINKMUSICTOSFX)) { updateMusicVolume(newValue); @@ -744,7 +744,7 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data case kSpeechVolumeChanged: { const int newValue = _speechVolumeSlider->getValue(); _speechVolumeLabel->setValue(newValue); - _speechVolumeLabel->draw(); + _speechVolumeLabel->markAsDirty(); if (_guioptions.contains(GUIO_LINKSPEECHTOSFX)) { updateSfxVolume(newValue); @@ -768,20 +768,20 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data break; case kSubtitleSpeedChanged: _subSpeedLabel->setValue(_subSpeedSlider->getValue()); - _subSpeedLabel->draw(); + _subSpeedLabel->markAsDirty(); break; case kClearSoundFontCmd: _soundFont->setLabel(_c("None", "soundfont")); _soundFontClearButton->setEnabled(false); - draw(); + g_gui.scheduleTopDialogRedraw(); break; case kKbdMouseSpeedChanged: _kbdMouseSpeedLabel->setLabel(_(kbdMouseSpeedLabels[_kbdMouseSpeedSlider->getValue()])); - _kbdMouseSpeedLabel->draw(); + _kbdMouseSpeedLabel->markAsDirty(); break; case kJoystickDeadzoneChanged: _joystickDeadzoneLabel->setValue(_joystickDeadzoneSlider->getValue()); - _joystickDeadzoneLabel->draw(); + _joystickDeadzoneLabel->markAsDirty(); break; case kApplyCmd: apply(); @@ -807,12 +807,14 @@ void OptionsDialog::setGraphicSettingsState(bool enabled) { _renderModePopUp->setEnabled(enabled); _filteringCheckbox->setEnabled(enabled); #ifndef GUI_ENABLE_KEYSDIALOG +#ifndef GUI_ONLY_FULLSCREEN _fullscreenCheckbox->setEnabled(enabled); +#endif // !GUI_ONLY_FULLSCREEN if (_guioptions.contains(GUIO_NOASPECT)) _aspectCheckbox->setEnabled(false); else _aspectCheckbox->setEnabled(enabled); -#endif +#endif // !GUI_ENABLE_KEYSDIALOG } void OptionsDialog::setAudioSettingsState(bool enabled) { @@ -1318,22 +1320,22 @@ int OptionsDialog::getSubtitleMode(bool subtitles, bool speech_mute) { void OptionsDialog::updateMusicVolume(const int newValue) const { _musicVolumeLabel->setValue(newValue); _musicVolumeSlider->setValue(newValue); - _musicVolumeLabel->draw(); - _musicVolumeSlider->draw(); + _musicVolumeLabel->markAsDirty(); + _musicVolumeSlider->markAsDirty(); } void OptionsDialog::updateSfxVolume(const int newValue) const { _sfxVolumeLabel->setValue(newValue); _sfxVolumeSlider->setValue(newValue); - _sfxVolumeLabel->draw(); - _sfxVolumeSlider->draw(); + _sfxVolumeLabel->markAsDirty(); + _sfxVolumeSlider->markAsDirty(); } void OptionsDialog::updateSpeechVolume(const int newValue) const { _speechVolumeLabel->setValue(newValue); _speechVolumeSlider->setValue(newValue); - _speechVolumeLabel->draw(); - _speechVolumeSlider->draw(); + _speechVolumeLabel->markAsDirty(); + _speechVolumeSlider->markAsDirty(); } void OptionsDialog::reflowLayout() { @@ -1934,7 +1936,7 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3 error.runModal(); return; } - draw(); + g_gui.scheduleTopDialogRedraw(); } break; } @@ -1944,7 +1946,7 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3 // User made his choice... Common::FSNode dir(browser.getResult()); _themePath->setLabel(dir.getPath()); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; } @@ -1954,7 +1956,7 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3 // User made his choice... Common::FSNode dir(browser.getResult()); _extraPath->setLabel(dir.getPath()); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; } @@ -1965,7 +1967,7 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3 // User made his choice... Common::FSNode dir(browser.getResult()); _pluginsPath->setLabel(dir.getPath()); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; } @@ -1980,7 +1982,7 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3 if (path.empty()) path = "/"; // absolute root _rootPath->setLabel(path); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; } @@ -2011,7 +2013,7 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3 else _soundFontClearButton->setEnabled(false); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; } @@ -2105,7 +2107,7 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3 if (_serverPort) { _serverPort->setEditString(Common::String::format("%u", Networking::LocalWebserver::DEFAULT_SERVER_PORT)); } - draw(); + g_gui.scheduleTopDialogRedraw(); break; } #endif // USE_SDL_NET @@ -2142,7 +2144,7 @@ void GlobalOptionsDialog::handleTickle() { #endif if (_redrawCloudTab) { setupCloudTab(); - draw(); + g_gui.scheduleTopDialogRedraw(); _redrawCloudTab = false; } #endif diff --git a/gui/predictivedialog.cpp b/gui/predictivedialog.cpp index 933667186e..5650fd8e94 100644 --- a/gui/predictivedialog.cpp +++ b/gui/predictivedialog.cpp @@ -995,7 +995,7 @@ void PredictiveDialog::pressEditText() { Common::strlcat(_predictiveResult, _currentWord.c_str(), sizeof(_predictiveResult)); _editText->setEditString(_predictiveResult); //_editText->setCaretPos(_prefix.size() + _currentWord.size()); - _editText->draw(); + _editText->markAsDirty(); } } // namespace GUI diff --git a/gui/recorderdialog.cpp b/gui/recorderdialog.cpp index 7e8e12bcf8..cd89b58f00 100644 --- a/gui/recorderdialog.cpp +++ b/gui/recorderdialog.cpp @@ -211,7 +211,7 @@ void RecorderDialog::updateList() { file.close(); } _list->setList(namesList); - _list->draw(); + _list->markAsDirty(); } int RecorderDialog::runModal(Common::String &target) { @@ -253,7 +253,7 @@ void RecorderDialog::updateSelection(bool redraw) { _screenShotsCount = -1; _currentScreenshot = 0; _gfxWidget->setGfx(-1, -1, 0, 0, 0); - _gfxWidget->draw(); + _gfxWidget->markAsDirty(); updateScreenShotsText(); } } @@ -283,7 +283,7 @@ void RecorderDialog::updateScreenshot() { } else { _gfxWidget->setGfx(-1, -1, 0, 0, 0); } - _gfxWidget->draw(); + _gfxWidget->markAsDirty(); } void RecorderDialog::updateScreenShotsText() { diff --git a/gui/remotebrowser.cpp b/gui/remotebrowser.cpp index 029320596f..0bbc21d66f 100644 --- a/gui/remotebrowser.cpp +++ b/gui/remotebrowser.cpp @@ -21,6 +21,7 @@ */ #include "gui/remotebrowser.h" +#include "gui/gui-manager.h" #include "gui/widgets/list.h" #include "common/config-manager.h" @@ -28,9 +29,9 @@ #include "common/algorithm.h" #include "common/translation.h" -#include <backends/networking/curl/request.h> -#include <backends/cloud/storage.h> -#include <backends/cloud/cloudmanager.h> +#include "backends/networking/curl/request.h" +#include "backends/cloud/storage.h" +#include "backends/cloud/cloudmanager.h" #include "message.h" namespace GUI { @@ -162,7 +163,7 @@ void RemoteBrowserDialog::updateListing() { _fileList->setEnabled(!_navigationLocked); // Finally, redraw - draw(); + g_gui.scheduleTopDialogRedraw(); } void RemoteBrowserDialog::goUp() { diff --git a/gui/saveload-dialog.cpp b/gui/saveload-dialog.cpp index 189760b4e1..8d59a6318a 100644 --- a/gui/saveload-dialog.cpp +++ b/gui/saveload-dialog.cpp @@ -60,7 +60,7 @@ SaveLoadCloudSyncProgressDialog::SaveLoadCloudSyncProgressDialog(bool canRunInBa new ButtonWidget(this, "SaveLoadCloudSyncProgress.Cancel", "Cancel", 0, kCancelSyncCmd, Common::ASCII_ESCAPE); // Cancel dialog ButtonWidget *backgroundButton = new ButtonWidget(this, "SaveLoadCloudSyncProgress.Background", "Run in background", 0, kBackgroundSyncCmd, Common::ASCII_RETURN); // Confirm dialog backgroundButton->setEnabled(canRunInBackground); - draw(); + g_gui.scheduleTopDialogRedraw(); } SaveLoadCloudSyncProgressDialog::~SaveLoadCloudSyncProgressDialog() { @@ -72,7 +72,7 @@ void SaveLoadCloudSyncProgressDialog::handleCommand(CommandSender *sender, uint3 case kSavesSyncProgressCmd: _percentLabel->setLabel(Common::String::format("%u%%", data)); _progressBar->setValue(data); - _progressBar->draw(); + _progressBar->markAsDirty(); break; case kCancelSyncCmd: @@ -594,14 +594,14 @@ void SaveLoadChooserSimple::updateSelection(bool redraw) { _deleteButton->setEnabled(isDeletable && !isLocked && (selItem >= 0) && (!_list->getSelectedString().empty())); if (redraw) { - _gfxWidget->draw(); - _date->draw(); - _time->draw(); - _playtime->draw(); - _chooseButton->draw(); - _deleteButton->draw(); - - draw(); + _gfxWidget->markAsDirty(); + _date->markAsDirty(); + _time->markAsDirty(); + _playtime->markAsDirty(); + _chooseButton->markAsDirty(); + _deleteButton->markAsDirty(); + + g_gui.scheduleTopDialogRedraw(); } } @@ -703,7 +703,7 @@ void SaveLoadChooserSimple::updateSaveList() { else _chooseButton->setEnabled(false); - draw(); + g_gui.scheduleTopDialogRedraw(); } // SaveLoadChooserGrid implementation @@ -761,13 +761,13 @@ void SaveLoadChooserGrid::handleCommand(CommandSender *sender, uint32 cmd, uint3 case kNextCmd: ++_curPage; updateSaves(); - draw(); + g_gui.scheduleTopDialogRedraw(); break; case kPrevCmd: --_curPage; updateSaves(); - draw(); + g_gui.scheduleTopDialogRedraw(); break; case kNewSaveCmd: @@ -788,13 +788,13 @@ void SaveLoadChooserGrid::handleMouseWheel(int x, int y, int direction) { if (_nextButton->isEnabled()) { ++_curPage; updateSaves(); - draw(); + g_gui.scheduleTopDialogRedraw(); } } else { if (_prevButton->isEnabled()) { --_curPage; updateSaves(); - draw(); + g_gui.scheduleTopDialogRedraw(); } } } @@ -802,7 +802,7 @@ void SaveLoadChooserGrid::handleMouseWheel(int x, int y, int direction) { void SaveLoadChooserGrid::updateSaveList() { SaveLoadChooserDialog::updateSaveList(); updateSaves(); - draw(); + g_gui.scheduleTopDialogRedraw(); } void SaveLoadChooserGrid::open() { diff --git a/gui/storagewizarddialog.cpp b/gui/storagewizarddialog.cpp index 085f901fc4..fe5a1090cd 100644 --- a/gui/storagewizarddialog.cpp +++ b/gui/storagewizarddialog.cpp @@ -231,7 +231,7 @@ void StorageWizardDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3 _codeWidget[i]->setEditString(subcode); } handleCommand(sender, kCodeBoxCmd, data); - draw(); + g_gui.scheduleTopDialogRedraw(); } break; } diff --git a/gui/themebrowser.cpp b/gui/themebrowser.cpp index 75be555e0a..6705c07dfe 100644 --- a/gui/themebrowser.cpp +++ b/gui/themebrowser.cpp @@ -115,7 +115,7 @@ void ThemeBrowser::updateListing() { _fileList->setSelected(currentThemeIndex); // Finally, redraw - draw(); + g_gui.scheduleTopDialogRedraw(); } } // End of namespace GUI diff --git a/gui/widget.cpp b/gui/widget.cpp index 4b84e19c09..9993d64dbb 100644 --- a/gui/widget.cpp +++ b/gui/widget.cpp @@ -51,6 +51,7 @@ void Widget::init() { // Insert into the widget list of the boss _next = _boss->_firstWidget; _boss->_firstWidget = this; + _needsRedraw = true; } Common::Rect Widget::getBossClipRect() const { @@ -112,38 +113,52 @@ void Widget::updateState(int oldFlags, int newFlags) { } } +void Widget::markAsDirty() { + _needsRedraw = true; + + Widget *w = _firstWidget; + while (w) { + w->markAsDirty(); + w = w->next(); + } +} + void Widget::draw() { if (!isVisible() || !_boss->isVisible()) return; - int oldX = _x, oldY = _y; + if (_needsRedraw) { + int oldX = _x, oldY = _y; - // Account for our relative position in the dialog - _x = getAbsX(); - _y = getAbsY(); + // Account for our relative position in the dialog + _x = getAbsX(); + _y = getAbsY(); - // Draw border - if (_flags & WIDGET_BORDER) { - g_gui.theme()->drawWidgetBackgroundClip(Common::Rect(_x, _y, _x+_w, _y+_h), getBossClipRect(), 0, ThemeEngine::kWidgetBackgroundBorder); - _x += 4; - _y += 4; - _w -= 8; - _h -= 8; - } + // Draw border + if (_flags & WIDGET_BORDER) { + g_gui.theme()->drawWidgetBackgroundClip(Common::Rect(_x, _y, _x+_w, _y+_h), getBossClipRect(), 0, ThemeEngine::kWidgetBackgroundBorder); + _x += 4; + _y += 4; + _w -= 8; + _h -= 8; + } - // Now perform the actual widget draw - drawWidget(); + // Now perform the actual widget draw + drawWidget(); - // Restore x/y - if (_flags & WIDGET_BORDER) { - _x -= 4; - _y -= 4; - _w += 8; - _h += 8; - } + // Restore x/y + if (_flags & WIDGET_BORDER) { + _x -= 4; + _y -= 4; + _w += 8; + _h += 8; + } - _x = oldX; - _y = oldY; + _x = oldX; + _y = oldY; + + _needsRedraw = false; + } // Draw all children Widget *w = _firstWidget; @@ -191,7 +206,7 @@ void Widget::setEnabled(bool e) { else clearFlags(WIDGET_ENABLED); - _boss->draw(); + g_gui.scheduleTopDialogRedraw(); } } @@ -273,7 +288,7 @@ StaticTextWidget::StaticTextWidget(GuiObject *boss, int x, int y, int w, int h, StaticTextWidget::StaticTextWidget(GuiObject *boss, const Common::String &name, const Common::String &text, const char *tooltip, ThemeEngine::FontStyle font) : Widget(boss, name, tooltip) { - setFlags(WIDGET_ENABLED); + setFlags(WIDGET_ENABLED | WIDGET_CLEARBG); _type = kStaticTextWidget; _label = text; @@ -289,12 +304,7 @@ void StaticTextWidget::setLabel(const Common::String &label) { if (_label != label) { _label = label; - // when changing the label, add the CLEARBG flag - // so the widget is completely redrawn, otherwise - // the new text is drawn on top of the old one. - setFlags(WIDGET_CLEARBG); - draw(); - clearFlags(WIDGET_CLEARBG); + markAsDirty(); } } @@ -302,14 +312,8 @@ void StaticTextWidget::setAlign(Graphics::TextAlign align) { if (_align != align){ _align = align; - // same as setLabel() actually, the text - // would be redrawn on top of the old one so - // we add the CLEARBG flag - setFlags(WIDGET_CLEARBG); - draw(); - clearFlags(WIDGET_CLEARBG); + markAsDirty(); } - } @@ -389,18 +393,18 @@ ButtonWidget *addClearButton(GuiObject *boss, const Common::String &name, uint32 void ButtonWidget::setHighLighted(bool enable) { (enable) ? setFlags(WIDGET_HILITED) : clearFlags(WIDGET_HILITED); - draw(); + markAsDirty(); } void ButtonWidget::setPressedState() { setFlags(WIDGET_PRESSED); clearFlags(WIDGET_HILITED); - draw(); + markAsDirty(); } void ButtonWidget::setUnpressedState() { clearFlags(WIDGET_PRESSED); - draw(); + markAsDirty(); } #pragma mark - @@ -563,7 +567,7 @@ void CheckboxWidget::setState(bool state) { if (_state != state) { _state = state; //_flags ^= WIDGET_INV_BORDER; - draw(); + markAsDirty(); } sendCommand(_cmd, _state); } @@ -632,7 +636,7 @@ void RadiobuttonWidget::setState(bool state, bool setGroup) { if (_state != state) { _state = state; //_flags ^= WIDGET_INV_BORDER; - draw(); + markAsDirty(); } sendCommand(_cmd, _state); } @@ -667,7 +671,7 @@ void SliderWidget::handleMouseMoved(int x, int y, int button) { if (newValue != _value) { _value = newValue; - draw(); + markAsDirty(); sendCommand(_cmd, _value); // FIXME - hack to allow for "live update" in sound dialog } } @@ -699,7 +703,7 @@ void SliderWidget::handleMouseWheel(int x, int y, int direction) { if (newValue != _value) { _value = newValue; - draw(); + markAsDirty(); sendCommand(_cmd, _value); // FIXME - hack to allow for "live update" in sound dialog } } diff --git a/gui/widget.h b/gui/widget.h index 0da071e596..e57f3cde51 100644 --- a/gui/widget.h +++ b/gui/widget.h @@ -103,6 +103,7 @@ protected: private: uint16 _flags; + bool _needsRedraw; public: static Widget *findWidgetInChain(Widget *start, int x, int y); @@ -137,7 +138,12 @@ public: virtual bool handleKeyUp(Common::KeyState state) { return false; } // Return true if the event was handled virtual void handleTickle() {} - void draw(); + /** Mark the widget and its children as dirty so they are redrawn on the next screen update */ + virtual void markAsDirty(); + + /** Redraw the widget if it was marked as dirty, and recursively proceed with its children */ + virtual void draw(); + void receivedFocus() { _hasFocus = true; receivedFocusWidget(); } void lostFocus() { _hasFocus = false; lostFocusWidget(); } virtual bool wantsFocus() { return false; } @@ -213,8 +219,8 @@ public: void handleMouseUp(int x, int y, int button, int clickCount); void handleMouseDown(int x, int y, int button, int clickCount); - void handleMouseEntered(int button) { if (_duringPress) { setFlags(WIDGET_PRESSED); } else { setFlags(WIDGET_HILITED); } draw(); } - void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED | WIDGET_PRESSED); draw(); } + void handleMouseEntered(int button) { if (_duringPress) { setFlags(WIDGET_PRESSED); } else { setFlags(WIDGET_HILITED); } markAsDirty(); } + void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED | WIDGET_PRESSED); markAsDirty(); } void setHighLighted(bool enable); void setPressedState(); @@ -262,8 +268,8 @@ public: CheckboxWidget(GuiObject *boss, const Common::String &name, const Common::String &label, const char *tooltip = 0, uint32 cmd = 0, uint8 hotkey = 0); void handleMouseUp(int x, int y, int button, int clickCount); - virtual void handleMouseEntered(int button) { setFlags(WIDGET_HILITED); draw(); } - virtual void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED); draw(); } + virtual void handleMouseEntered(int button) { setFlags(WIDGET_HILITED); markAsDirty(); } + virtual void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED); markAsDirty(); } void setState(bool state); void toggleState() { setState(!_state); } @@ -308,8 +314,8 @@ public: RadiobuttonWidget(GuiObject *boss, const Common::String &name, RadiobuttonGroup *group, int value, const Common::String &label, const char *tooltip = 0, uint8 hotkey = 0); void handleMouseUp(int x, int y, int button, int clickCount); - virtual void handleMouseEntered(int button) { setFlags(WIDGET_HILITED); draw(); } - virtual void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED); draw(); } + virtual void handleMouseEntered(int button) { setFlags(WIDGET_HILITED); markAsDirty(); } + virtual void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED); markAsDirty(); } void setState(bool state, bool setGroup = true); void toggleState() { setState(!_state); } @@ -348,8 +354,8 @@ public: void handleMouseMoved(int x, int y, int button); void handleMouseDown(int x, int y, int button, int clickCount); void handleMouseUp(int x, int y, int button, int clickCount); - void handleMouseEntered(int button) { setFlags(WIDGET_HILITED); draw(); } - void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED); draw(); } + void handleMouseEntered(int button) { setFlags(WIDGET_HILITED); markAsDirty(); } + void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED); markAsDirty(); } void handleMouseWheel(int x, int y, int direction); protected: diff --git a/gui/widgets/editable.cpp b/gui/widgets/editable.cpp index 02defe9a56..5e7c94b64a 100644 --- a/gui/widgets/editable.cpp +++ b/gui/widgets/editable.cpp @@ -235,7 +235,7 @@ bool EditableWidget::handleKeyDown(Common::KeyState state) { } if (dirty) - draw(); + markAsDirty(); if (forcecaret) makeCaretVisible(); diff --git a/gui/widgets/edittext.cpp b/gui/widgets/edittext.cpp index 0a8725ac9e..97366741d0 100644 --- a/gui/widgets/edittext.cpp +++ b/gui/widgets/edittext.cpp @@ -87,7 +87,7 @@ void EditTextWidget::handleMouseDown(int x, int y, int button, int clickCount) { last = cur; } if (setCaretPos(i)) - draw(); + markAsDirty(); #ifdef TIZEN // Display the virtual keypad to allow text entry. Samsung app-store testers expected diff --git a/gui/widgets/list.cpp b/gui/widgets/list.cpp index e5690fb6f2..df12d6fd5f 100644 --- a/gui/widgets/list.cpp +++ b/gui/widgets/list.cpp @@ -37,7 +37,6 @@ ListWidget::ListWidget(Dialog *boss, const String &name, const char *tooltip, ui : EditableWidget(boss, name, tooltip), _cmd(cmd) { _scrollBar = NULL; - _textWidth = NULL; // This ensures that _entriesPerPage is properly initialized. reflowLayout(); @@ -69,7 +68,6 @@ ListWidget::ListWidget(Dialog *boss, int x, int y, int w, int h, const char *too : EditableWidget(boss, x, y, w, h, tooltip), _cmd(cmd) { _scrollBar = NULL; - _textWidth = NULL; // This ensures that _entriesPerPage is properly initialized. reflowLayout(); @@ -97,10 +95,6 @@ ListWidget::ListWidget(Dialog *boss, int x, int y, int w, int h, const char *too _editColor = ThemeEngine::kFontColorNormal; } -ListWidget::~ListWidget() { - delete[] _textWidth; -} - bool ListWidget::containsWidget(Widget *w) const { if (w == _scrollBar || _scrollBar->containsWidget(w)) return true; @@ -145,7 +139,7 @@ void ListWidget::setSelected(int item) { _currentPos = _selectedItem - _entriesPerPage / 2; scrollToCurrent(); - draw(); + markAsDirty(); } } @@ -251,7 +245,7 @@ void ListWidget::handleMouseDown(int x, int y, int button, int clickCount) { // TODO: Determine where inside the string the user clicked and place the // caret accordingly. // See _editScrollOffset and EditTextWidget::handleMouseDown. - draw(); + markAsDirty(); } @@ -446,12 +440,12 @@ bool ListWidget::handleKeyDown(Common::KeyState state) { } if (dirty || _selectedItem != oldSelectedItem) - draw(); + markAsDirty(); if (_selectedItem != oldSelectedItem) { sendCommand(kListSelectionChangedCmd, _selectedItem); // also draw scrollbar - _scrollBar->draw(); + _scrollBar->markAsDirty(); } return handled; @@ -467,7 +461,7 @@ void ListWidget::receivedFocusWidget() { _inversion = ThemeEngine::kTextInversionFocus; // Redraw the widget so the selection color will change - draw(); + markAsDirty(); } void ListWidget::lostFocusWidget() { @@ -477,7 +471,7 @@ void ListWidget::lostFocusWidget() { _editMode = false; g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false); drawCaret(true); - draw(); + markAsDirty(); } void ListWidget::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) { @@ -486,7 +480,7 @@ void ListWidget::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) { if (_currentPos != (int)data) { _currentPos = data; checkBounds(); - draw(); + markAsDirty(); // Scrollbar actions cause list focus (which triggers a redraw) // NOTE: ListWidget's boss is always GUI::Dialog @@ -502,7 +496,6 @@ void ListWidget::drawWidget() { // Draw a thin frame around the list. g_gui.theme()->drawWidgetBackgroundClip(Common::Rect(_x, _y, _x + _w, _y + _h), getBossClipRect(), 0, ThemeEngine::kWidgetBackgroundBorder); - const int scrollbarW = (_scrollBar && _scrollBar->isVisible()) ? _scrollBarWidth : 0; // Draw the list items for (i = 0, pos = _currentPos; i < _entriesPerPage && pos < len; i++, pos++) { @@ -520,13 +513,11 @@ void ListWidget::drawWidget() { // If in numbering mode, we first print a number prefix if (_numberingMode != kListNumberingOff) { buffer = Common::String::format("%2d. ", (pos + _numberingMode)); - g_gui.theme()->drawTextClip(Common::Rect(_x, y, _x + r.left + _leftPadding, y + fontHeight - 2), getBossClipRect(), - buffer, _state, Graphics::kTextAlignLeft, inverted, _leftPadding, true); + g_gui.theme()->drawTextClip(Common::Rect(_x + _hlLeftPadding, y, _x + r.left + _leftPadding, y + fontHeight - 2), + getBossClipRect(), buffer, _state, Graphics::kTextAlignLeft, inverted, _leftPadding, true); pad = 0; } - int width; - ThemeEngine::FontColor color = ThemeEngine::kFontColorNormal; if (!_listColors.empty()) { @@ -540,22 +531,21 @@ void ListWidget::drawWidget() { buffer = _editString; color = _editColor; adjustOffset(); - width = _w - r.left - _hlRightPadding - _leftPadding - scrollbarW; - g_gui.theme()->drawTextClip(Common::Rect(_x + r.left, y, _x + r.left + width, y + fontHeight - 2), getBossClipRect(), buffer, _state, - Graphics::kTextAlignLeft, inverted, pad, true, ThemeEngine::kFontStyleBold, color); + g_gui.theme()->drawTextClip(Common::Rect(_x + r.left, y, _x + r.right, y + fontHeight - 2), + getBossClipRect(), buffer, _state, + Graphics::kTextAlignLeft, inverted, pad, true, ThemeEngine::kFontStyleBold, color); } else { buffer = _list[pos]; - width = _w - r.left - scrollbarW; - g_gui.theme()->drawTextClip(Common::Rect(_x + r.left, y, _x + r.left + width, y + fontHeight - 2), getBossClipRect(), buffer, _state, - Graphics::kTextAlignLeft, inverted, pad, true, ThemeEngine::kFontStyleBold, color); + g_gui.theme()->drawTextClip(Common::Rect(_x + r.left, y, _x + r.right, y + fontHeight - 2), + getBossClipRect(), buffer, _state, + Graphics::kTextAlignLeft, inverted, pad, true, ThemeEngine::kFontStyleBold, color); } - - _textWidth[i] = width; } } Common::Rect ListWidget::getEditRect() const { - Common::Rect r(_hlLeftPadding, 0, _w - _hlLeftPadding - _hlRightPadding, kLineHeight - 2); + const int scrollbarW = (_scrollBar && _scrollBar->isVisible()) ? _scrollBarWidth : 0; + Common::Rect r(_hlLeftPadding, 0, _w - _hlRightPadding - scrollbarW, kLineHeight - 2); const int offset = (_selectedItem - _currentPos) * kLineHeight + _topPadding; r.top += offset; r.bottom += offset; @@ -600,7 +590,7 @@ void ListWidget::scrollToEnd() { _scrollBar->_currentPos = _currentPos; _scrollBar->recalc(); - _scrollBar->draw(); + _scrollBar->markAsDirty(); } void ListWidget::startEditMode() { @@ -616,7 +606,7 @@ void ListWidget::startEditMode() { else _editColor = _listColors[_listIndex[_selectedItem]]; } - draw(); + markAsDirty(); g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true); } } @@ -636,7 +626,7 @@ void ListWidget::abortEditMode() { assert(_selectedItem >= 0); _editMode = false; //drawCaret(true); - //draw(); + //markAsDirty(); g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false); } @@ -668,12 +658,6 @@ void ListWidget::reflowLayout() { _entriesPerPage = fracToInt(entriesPerPage); assert(_entriesPerPage > 0); - delete[] _textWidth; - _textWidth = new int[_entriesPerPage]; - - for (int i = 0; i < _entriesPerPage; i++) - _textWidth[i] = 0; - if (_scrollBar) { _scrollBar->resize(_w - _scrollBarWidth + 1, 0, _scrollBarWidth, _h); scrollBarRecalc(); @@ -744,7 +728,7 @@ void ListWidget::setFilter(const String &filter, bool redraw) { // Such a widget could also (optionally) draw a border (or even different // kinds of borders) around the objects it groups; and also a 'title' // (I am borrowing these "ideas" from the NSBox class in Cocoa :). - _boss->draw(); + g_gui.scheduleTopDialogRedraw(); } } diff --git a/gui/widgets/list.h b/gui/widgets/list.h index 44366be3e9..57e677e91e 100644 --- a/gui/widgets/list.h +++ b/gui/widgets/list.h @@ -87,7 +87,6 @@ protected: public: ListWidget(Dialog *boss, const String &name, const char *tooltip = 0, uint32 cmd = 0); ListWidget(Dialog *boss, int x, int y, int w, int h, const char *tooltip = 0, uint32 cmd = 0); - virtual ~ListWidget(); virtual bool containsWidget(Widget *) const; virtual Widget *findWidget(int x, int y); @@ -149,8 +148,6 @@ protected: void lostFocusWidget(); void checkBounds(); void scrollToCurrent(); - - int *_textWidth; }; } // End of namespace GUI diff --git a/gui/widgets/popup.cpp b/gui/widgets/popup.cpp index 74fbc44823..f59a89e543 100644 --- a/gui/widgets/popup.cpp +++ b/gui/widgets/popup.cpp @@ -409,7 +409,7 @@ void PopUpWidget::handleMouseDown(int x, int y, int button, int clickCount) { if (newSel != -1 && _selectedItem != newSel) { _selectedItem = newSel; sendCommand(kPopUpItemSelectedCmd, _entries[_selectedItem].tag); - draw(); + markAsDirty(); } } } @@ -429,7 +429,7 @@ void PopUpWidget::handleMouseWheel(int x, int y, int direction) { (newSelection != _selectedItem)) { _selectedItem = newSelection; sendCommand(kPopUpItemSelectedCmd, _entries[_selectedItem].tag); - draw(); + markAsDirty(); } } } diff --git a/gui/widgets/popup.h b/gui/widgets/popup.h index 37ddc276ad..d2b1f1cb92 100644 --- a/gui/widgets/popup.h +++ b/gui/widgets/popup.h @@ -77,8 +77,8 @@ public: uint32 getSelectedTag() const { return (_selectedItem >= 0) ? _entries[_selectedItem].tag : (uint32)-1; } // const String& getSelectedString() const { return (_selectedItem >= 0) ? _entries[_selectedItem].name : String::emptyString; } - void handleMouseEntered(int button) { setFlags(WIDGET_HILITED); draw(); } - void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED); draw(); } + void handleMouseEntered(int button) { setFlags(WIDGET_HILITED); markAsDirty(); } + void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED); markAsDirty(); } virtual void reflowLayout(); protected: diff --git a/gui/widgets/scrollbar.cpp b/gui/widgets/scrollbar.cpp index d8bcb18336..b0e2576ec1 100644 --- a/gui/widgets/scrollbar.cpp +++ b/gui/widgets/scrollbar.cpp @@ -135,7 +135,7 @@ void ScrollBarWidget::handleMouseMoved(int x, int y, int button) { _part = kSliderPart; if (old_part != _part) - draw(); + markAsDirty(); } } @@ -165,7 +165,7 @@ void ScrollBarWidget::checkBounds(int old_pos) { if (old_pos != _currentPos) { recalc(); - draw(); + markAsDirty(); sendCommand(kSetPositionCmd, _currentPos); } } diff --git a/gui/widgets/scrollbar.h b/gui/widgets/scrollbar.h index de7c13ce03..a1181b9e6c 100644 --- a/gui/widgets/scrollbar.h +++ b/gui/widgets/scrollbar.h @@ -69,7 +69,7 @@ public: void handleMouseWheel(int x, int y, int direction); void handleMouseMoved(int x, int y, int button); void handleMouseEntered(int button) { setFlags(WIDGET_HILITED); } - void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED); _part = kNoPart; draw(); } + void handleMouseLeft(int button) { clearFlags(WIDGET_HILITED); _part = kNoPart; markAsDirty(); } void handleTickle(); // FIXME - this should be private, but then we also have to add accessors diff --git a/gui/widgets/scrollcontainer.cpp b/gui/widgets/scrollcontainer.cpp index 7c5ab6112c..d6b1b740fd 100644 --- a/gui/widgets/scrollcontainer.cpp +++ b/gui/widgets/scrollcontainer.cpp @@ -102,8 +102,7 @@ void ScrollContainerWidget::handleCommand(CommandSender *sender, uint32 cmd, uin case kSetPositionCmd: _scrolledY = _verticalScroll->_currentPos; reflowLayout(); - draw(); - g_gui.doFullRedraw(); + g_gui.scheduleTopDialogRedraw(); break; } } diff --git a/gui/widgets/tab.cpp b/gui/widgets/tab.cpp index e2e3e72db0..dfcb919264 100644 --- a/gui/widgets/tab.cpp +++ b/gui/widgets/tab.cpp @@ -154,7 +154,7 @@ void TabWidget::removeTab(int tabID) { } // Finally trigger a redraw - _boss->draw(); + g_gui.scheduleTopDialogRedraw(); } void TabWidget::setActiveTab(int tabID) { @@ -174,7 +174,7 @@ void TabWidget::setActiveTab(int tabID) { while (_lastVisibleTab < tabID) setFirstVisible(_firstVisibleTab + 1, false); - _boss->draw(); + g_gui.scheduleTopDialogRedraw(); } } @@ -246,7 +246,7 @@ void TabWidget::setFirstVisible(int tabID, bool adjustIfRoom) { computeLastVisibleTab(adjustIfRoom); - _boss->draw(); // TODO: Necessary? + g_gui.scheduleTopDialogRedraw(); // TODO: Necessary? } void TabWidget::reflowLayout() { @@ -334,6 +334,15 @@ void TabWidget::draw() { } } +void TabWidget::markAsDirty() { + Widget::markAsDirty(); + + if (_navButtonsVisible) { + _navLeft->markAsDirty(); + _navRight->markAsDirty(); + } +} + bool TabWidget::containsWidget(Widget *w) const { if (w == _navLeft || w == _navRight || _navLeft->containsWidget(w) || _navRight->containsWidget(w)) return true; diff --git a/gui/widgets/tab.h b/gui/widgets/tab.h index fe5e4d82bc..bdd3e56b46 100644 --- a/gui/widgets/tab.h +++ b/gui/widgets/tab.h @@ -111,7 +111,8 @@ public: virtual void reflowLayout(); - virtual void draw(); + void draw() override; + void markAsDirty() override; protected: // We overload getChildY to make sure child widgets are positioned correctly. diff --git a/image/codecs/indeo3.cpp b/image/codecs/indeo3.cpp index 7d3a121bcd..1aa1ef73b6 100644 --- a/image/codecs/indeo3.cpp +++ b/image/codecs/indeo3.cpp @@ -550,6 +550,7 @@ void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, *cur_lp = FROM_LE_32(((READ_LE_UINT32(ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); lp2++; break; + case 1: if (correction_type_sp[0][*buf1] != 1) { // both correction types must be DYAD. If it's not the case @@ -568,6 +569,7 @@ void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, buf1++; lp2++; break; + case 2: if (lp2 == 0) { for (i = 0, j = 0; i < 2; i++, j += width_tbl[1]) @@ -575,6 +577,7 @@ void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, lp2 += 2; } break; + case 3: if (lp2 < 2) { for (i = 0, j = 0; i < (3 - lp2); i++, j += width_tbl[1]) @@ -582,6 +585,7 @@ void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, lp2 = 3; } break; + case 8: if (lp2 == 0) { RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) @@ -597,8 +601,10 @@ void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, rle_v1 = 1; rle_v2 = *buf1 - 1; } + // fall through case 5: - LP2_CHECK(buf1,rle_v3,lp2) + LP2_CHECK(buf1,rle_v3,lp2) + // fall through case 4: for (i = 0, j = 0; i < (4 - lp2); i++, j += width_tbl[1]) cur_lp[j] = READ_UINT32(ref_lp+j); @@ -612,6 +618,7 @@ void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, buf1--; rle_v3 = 1; } + // fall through case 6: if (lp2 > 0) { //This case can't happen either. @@ -636,6 +643,7 @@ void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, LV1_CHECK(buf1,rle_v3,lv1,lp2) break; + default: return; } @@ -733,8 +741,10 @@ void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, rle_v2 = (*buf1) - 1; rle_v1 = 1; } + // fall through case 5: - LP2_CHECK(buf1,rle_v3,lp2) + LP2_CHECK(buf1,rle_v3,lp2) + // fall through case 4: for (i = 0, j = 0; i < 8 - (lp2 * 2); i++, j += width_tbl[1]) cur_lp[j] = READ_UINT32(ref_lp); @@ -888,8 +898,10 @@ void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, rle_v1 = 1; rle_v2 = (*buf1) - 1; } + // fall through case 5: - LP2_CHECK(buf1,rle_v3,lp2) + LP2_CHECK(buf1,rle_v3,lp2) + // fall through case 4: if (lp2 == 0 && flag1 != 0) { for (i = 0, j = width_tbl[1]; i < 7; i++, j += width_tbl[1]) { @@ -1007,9 +1019,11 @@ void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, rle_v1 = 1; rle_v2 = (*buf1) - 1; } + // fall through case 5: case 7: - LP2_CHECK(buf1,rle_v3,lp2) + LP2_CHECK(buf1,rle_v3,lp2) + // fall through case 6: case 4: for (i = 0, j = 0; i < 8 - (lp2 * 2); i++, j += width_tbl[1]) { @@ -1112,9 +1126,11 @@ void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, rle_v1 = 1; rle_v2 = (*buf1) - 1; } + // fall through case 5: case 7: - LP2_CHECK(buf1,rle_v3,lp2) + LP2_CHECK(buf1,rle_v3,lp2) + // fall through case 4: case 6: for (i = 0, j = 0; i < 8 - (lp2 * 2); i++, j += width_tbl[1]) diff --git a/po/be_BY.po b/po/be_BY.po index eb8eaee803..a5d3f785ce 100644 --- a/po/be_BY.po +++ b/po/be_BY.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.8.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-11-28 19:36+0300\n" "Last-Translator: Ivan Lukyanov <greencis@mail.ru>\n" "Language-Team: Belarusian <https://translations.scummvm.org/projects/scummvm/" @@ -33,33 +33,33 @@ msgstr "ÃÚÛîçÐÝëï þ ×ÑÞàÚã Þßæëö:" msgid "Available engines:" msgstr "´ÐáâãßÝëï àãåÐÒöçÚö:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "¿ÐÚÐ×ÒÐæì áåÐÒÐÝëï äÐÙÛë" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "¿ÐÚÐ×ÒÐæì äÐÙÛë × ÐâàëÑãâÐÜ \"áåÐÒÐÝë\"" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "ÃÒÕàå" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "¿ÕàÐÙáæö ÝÐ ÔëàíÚâÞàëî þ×àÞþÝÕÜ ÒëèíÙ" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,50 +71,50 @@ msgstr "ÃÒÕàå" msgid "Cancel" msgstr "°ÔÜÕÝÐ" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "°ÑàÐæì" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "°ÑïàëæÕ ÔëàíÚâÞàëî ÔÛï áßÐÜßÐÒÐÝÝï ÔÐÔ×ÕÝëå ÓãÛìÝö" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "°ÑïàëæÕ ÔëàíÚâÞàëî × äÐÙÛÐÜö ÓãÛìÝö" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "°Ô: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "´Ð: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "°ÔÜïÝöæì ×ÐÓàã×Úã" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "°ÔÜïÝöæì" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "ÁåÐÒÐæì" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" msgstr "" "·ÔÐÕææÐ, èâÞ ÒÐèÐ ×ÛãçíÝÝÕ ÐÑÜÕÖÐÒÐÝÐ. ²ë áÐßàÐþÔë ÖÐÔÐÕæÕ ×ÐÓàã×öæì äÐÙÛë?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -126,8 +126,8 @@ msgstr "" msgid "Yes" msgstr "ÂÐÚ" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -139,11 +139,11 @@ msgstr "ÂÐÚ" msgid "No" msgstr "½Õ" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM ÝÕ ÜÞÖÐ ÐÔÚàëæì Ð×ÝÐçÐÝãî ÔëàíÚâÞàëî!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -151,9 +151,9 @@ msgstr "" "½Õ ÐâàëÜÐÛÐáï áâÒÐàëæì ÔëàíÚâÞàëî ÔÛï ×ÐÓàã×Úö, ÑÞ Ð×ÝÐçÐÝÐï ÔëàíÚâÞàëï þÖÞ " "ÜÐÕ äÐÙÛ × âëÜ ÖÐ öÜÕÜ." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -172,7 +172,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -181,26 +181,26 @@ msgstr "" "\"%s\" ãÖÞ öáÝãÕ þ Ð×ÝÐçÐÝÐÙ ÔëàíÚâÞàëö.\n" "²ë áÐßàÐþÔë ÖÐÔÐÕæÕ ×ÐÓàã×öæì äÐÙÛë þ Óíâã ÔëàíÚâÞàëî?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "·ÐÓàãÖÐÝÐ %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "ÅãâÚÐáæì ×ÐÓàã×Úö: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "³ãÛìÝï" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -208,30 +208,30 @@ msgstr "" "ºÐàÞâÚö öÔíÝâëäöÚÐâÐà, ÚÐàëáâÐÝë ÔÛï öÜñÝÐþ ×ÐåÐÒÐÝÝïþ ÓãÛìÝïþ ö ÔÛï ×ÐßãáÚã " "× ÚÐÜÐÝÔÝÐÓÐ àÐÔÚÐ" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "½Ð×ÒÐ:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "¿ÞþÝÐï ÝÐ×ÒÐ ÓãÛìÝö" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "½Ð×ÒÐ:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "¼ÞÒÐ:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -239,180 +239,180 @@ msgstr "" "¼ÞÒÐ ÓãÛìÝö. ·ÜÕÝÐ ÓíâÐÙ ÝÐÛÐÔë ÝÕ ßÕàÐâÒÞàëæì àãáÚãî ÒÕàáöî ÓãÛìÝö þ " "ÑÕÛÐàãáÚãî" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<ÐÓÐÔÐÝÐ>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "¿ÛÐâäÞàÜÐ:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "¿ÛÐâäÞàÜÐ, ÔÛï ïÚÞÙ ÓãÛìÝï ÑëÛÐ ßÕàèÐßÐçÐâÚÞÒÐ àÐáßàÐæÐÒÐÝÐ" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "¿ÛÐâäÞàÜÐ:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "ÀãåÐÒöçÞÚ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "³àÐäöÚÐ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "³àä" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "¿ÕàÐÚàëæì ÓÛÐÑÐÛìÝëï ÝÐÛÐÔë ÓàÐäöÚö" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "¿ÕàÐÚàëæì ÓÛÐÑÐÛìÝëï ÝÐÛÐÔë ÓàÐäöÚö" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "°þÔëñ" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "¿ÕàÐÚàëæì ÓÛÐÑÐÛìÝëï ÝÐÛÐÔë ÐþÔëñ" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "¿ÕàÐÚàëæì ÓÛÐÑÐÛìÝëï ÝÐÛÐÔë ÐþÔëñ" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "³ãçÝÐáæì" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "³ãçÝÐáæì" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "¿ÕàÐÚàëæì ÓÛÐÑÐÛìÝëï ÝÐÛÐÔë ÓãçÝÐáæö" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "¿ÕàÐÚàëæì ÓÛÐÑÐÛìÝëï ÝÐÛÐÔë ÓãçÝÐáæö" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "¿ÕàÐÚàëæì ÓÛÐÑÐÛìÝëï ÝÐÛÐÔë MIDI" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "¿ÕàÐÚàëæì ÓÛÐÑÐÛìÝëï ÝÐÛÐÔë MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "¿ÕàÐÚàëæì ÓÛÐÑÐÛìÝëï ÝÐÛÐÔë MT-32" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "¿ÕàÐÚàëæì ÓÛÐÑÐÛìÝëï ÝÐÛÐÔë MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "ÈÛïåö" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "ÈÛïåö" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "ÈÛïå ÔÐ ÓãÛìÝö:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "ÈÛïå ÔÐ ÓãÛìÝö:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "´ÐÔ. èÛïå:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 msgid "Specifies path to additional data used by the game" msgstr "¿ÐÚÐ×ÒÐÕ èÛïå ÔÐ ÔÐÔÐâÚÞÒëå äÐÙÛÐþ, ÔÐÔ×ÕÝëå ÔÛï ÓãÛìÝö" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "´ÐÔ. èÛïå:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "·ÐåÐÒÐÝÝö ÓãÛìÝïþ:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "¿ÐÚÐ×ÒÐÕ èÛïå ÔÐ ×ÐåÐÒÐÝÝïþ ÓãÛìÝö" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "·ÐåÐÒÐÝÝö ÓãÛìÝïþ:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "½Õ ×ÐÔÐÔ×ÕÝë" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "°ÓÐÔÐÝÐ" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "°ÑïàëæÕ SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "°ÑïàëæÕ ÔÐÔÐâÚÞÒãî ÔëàíÚâÞàëî ÓãÛìÝö" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "°ÑïàëæÕ ÔëàíÚâÞàëî ÔÛï ×ÐåÐÒÐÝÝïþ" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -421,7 +421,7 @@ msgstr "" "Òë ÖÐÔÐÕæÕ, ÚÐÑ ÒÐèë ×ÐåÐÒÐÝÝö ÓãÛìÝïþ áöÝåàÐÝö×ÐÒÐÛöáï, ÒëÚÐàëáâÞþÒÐÙæÕ " "ÐÓÐÔÐÝãî ÔëàíÚâÞàëî." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "³íâë ID ÓãÛìÝö þÖÞ ÒëÚÐàëáâÞþÒÐÕææÐ. ºÐÛö ÛÐáÚÐ, ÐÑïàëæÕ öÝèë." @@ -437,103 +437,103 @@ msgstr "½ÐâÐâÚö:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "°ÑïàëæÕ äÐÙÛ ÔÛï ×ÐÓàã×Úö" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "ÃÒïÔ×öæÕ öÜï äÐÙÛÐ ÔÛï ×Ðßöáã" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "²ë áÐßàÐþÔë ÖÐÔÐÕæÕ ßÕàÐ×ÐßöáÐæì ÓíâÐ ×ÐåÐÒÐÝÝÕ?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "ÀíÒÕàÑÕàÐæëï" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "°ÚâëþÝÐ" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "¿ÐÚÞÙ:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "·ÐÓÛãèíÝÝÕ:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "ÈëàëÝï:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Ã×àÞÒÕÝì:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "ÅÞà" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "ÅãâÚÐáæì:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "³ÛëÑöÝï:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Âëß:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "ÁöÝãáÞöÔÐ" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "ÂàÞåÚãâÝÐï" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "ÀÞ×ÝÐÕ" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "¦ÝâíàßÐÛïæëï:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "½ïÜÐ (åãâçíÙèÐÕ)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "»öÝÕÙÝÐï" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "ÇÐæÒñàâÐÓÐ ßÐàÐÔÚã" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "ÁñÜÐÓÐ ßÐàÐÔÚã" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "ÁÚöÝãæì" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "ÁÚöÝãæì ÝÐÛÐÔë FluidSynth ã ÐÓÐÔÐÝëï." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "²ë áÐßàÐþÔë ÖÐÔÐÕæÕ áÚöÝãæì ÝÐÛÐÔë FluidSynth ã ÐÓÐÔÐÝëï?" @@ -800,7 +800,7 @@ msgid "every 30 mins" msgstr "ÚÞÖÝëï 30 åÒ" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "½Õ ×ÐÔÐÔ×ÕÝë" @@ -825,184 +825,184 @@ msgstr "ßÞþÝÐíÚàÐÝÝë àíÖëÜ ÝÕ ÜÞÖÐ Ñëæì ×ÜÕÝÕÝë" msgid "the filtering setting could not be changed" msgstr "àíÖëÜ äöÛìâàÐÒÐÝÝï ÝÕ ÜÞÖÐ Ñëæì ×ÜÕÝÕÝë" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "¿ÐÚÐ×Ðæì ÚöàÐÒÐÝÝÕ íÚàÐÝÐÜ" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "ÀíÖëÜ âÐçßÐÔÐ" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "¿ÐÜïÝïæì ÜÕáæÐÜö ÚÝÞßÚö \"¼ÕÝî\" ö \"½Ð×ÐÔ\"" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "ÅãâÚÐáæì ßÐÚÐ×ÐÛìÝöÚÐ:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "ºöàÐÒÐÝÝÕ åãâÚÐáæî ßÐÚÐ×ÐÛìÝöÚÐ Üëèë/ÔÖÞÙáæöÚÐ" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "ÅãâÚÐáæì ßÐÚÐ×ÐÛìÝöÚÐ:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "¼ñàâÒÐï ×ÞÝÐ ÔÖÞÙáæöÚÐ:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "¼ñàâÒÐï ×ÞÝÐ ÐÝÐÛÐÓÐÒÐÓÐ ÔÖÞÙáæöÚÐ" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "¼ñàâÒÐï ×ÞÝÐ ÔÖÞÙáæöÚÐ:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "°ßÐàÐâÝë èíÙÔÐà:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "ÀÞ×Ýëï ÐßÐàÐâÝëï èíÙÔÐàë ÔÐîæì àÞ×Ýëï ÓÛïÔ×ÕÛìÝëï íäÕÚâë" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "°ßÐàÐâÝë èíÙÔÐà:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "ÀÞ×Ýëï èíÙÔÐàë ÔÐîæì àÞ×Ýëï íäÕÚâë" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "³àÐä. àíÖëÜ:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "ÀíÖëÜ àÐáâàã:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "ÁßÕæëïÛìÝëï àíÖëÜë àíÝÔíàëÝÓã, ßÐÔâàëÜÞþÒÐÝëï ÝÕÚÐâÞàëÜö ÓãÛìÝïÜö" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "¿ÞþÝÐíÚàÐÝÝë àíÖëÜ" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "ÄöÛìâàÐÒÐÝÝÕ ÓàÐäöÚö" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "²ëÚÐàëáâÞþÒÐæì ÛöÝÕÙÝãî äöÛìâàÐæëî ÔÛï ßÐÒÕÛöçíÝÝï ÐÔàÞ×ÝÕÝÝï" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "ºÐàíÚæëï áãÐÔÝÞáöÝ ÑÐÚÞþ" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "ºÐàíÚâÐÒÐæì áãÐÔÝÞáöÝë ÑÐÚÞþ ÔÛï ÓãÛìÝïþ × ÐÔàÞ×ÝÕÝÝÕÜ 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "ÃßÐÔÐÑÐÝÐï ßàëÛÐÔÐ:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "³ãÚÐÒÐï ßàëÛÐÔÐ:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "·Ð×ÝÐçÐÕ þßÐÔÐÑÐÝãî ÓãÚÐÒãî ßàëÛÐÔã æö íÜãÛïâÐà ÓãÚÐÒÞÙ ÚÐàâë" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "·Ð×ÝÐçÐÕ ÒëåÞÔÝãî ÓãÚÐÒãî ßàëÛÐÔã æö íÜãÛïâÐà ÓãÚÐÒÞÙ ÚÐàâë" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "ÃßÐÔÐÑÐÝÐï:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "³ãÚÐÒÐï ßàëÛÐÔÐ:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "ÍÜãÛïâÐà AdLib:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "³ãÚÐÒÐï ÚÐàâÐ AdLib ÒëÚÐàëáâÞþÒÐÕææÐ ÜÝÞÓöÜö ÓãÛìÝïÜö" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "¿àëÛÐÔÐ GM:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "·Ð×ÝÐçÐÕ ÒëåÞÔÝãî ÓãÚÐÒãî ßàëÛÐÔã ÔÛï MIDI" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "½Õ ÒëÚÐàëáâÞþÒÐæì Üã×ëÚã ÔÛï General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "²ëÚÐàëáâÞþÒÐæì ßÕàèãî ÔÐáâãßÝãî ßàëÛÐÔã" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont ßÐÔâàëÜÒÐÕææÐ ÝÕÚÐâÞàëÜö ÓãÚÐÒëÜö ÚÐàâÐÜö, FluidSynth ö Timidity" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "·ÜÕèÐÝë àíÖëÜ AdLib/MIDI" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "²ëÚÐàëáâÞþÒÐæì ö MIDI, ö AdLib ÔÛï ÓÕÝÕàÐæëö ÓãÚã" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "Ã×ÜÐæÝÕÝÝÕ MIDI:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "½ÐÛ. MT-32:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "¿ÐÚÐ×ÒÐÕ ÐÓÐÔÐÝãî ÓãÚÐÒãî ßàëÛÐÔã ÔÛï ÒëÒÐÔã ÝÐ Roland MT-32/LAPC1/CM32l/CM64" -#: gui/options.cpp:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "ÁÐßàÐþÔÝë Roland MT-32 (×ÐÑÐàÐÝöæì íÜãÛïæëî GM)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1010,16 +1010,16 @@ msgstr "" "°Ô×ÝÐçæÕ, ÚÐÛö þ ÒÐá ßÐÔÚÛîçÐÝÐ Roland-áãÜïèçÐÛìÝÐï ÓãÚÐÒÐï ßàëÛÐÔÐ ö Òë " "ÖÐÔÐÕæÕ ïÕ ÒëÚÐàëáâÞþÒÐæì" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "ÁÐßàÐþÔÝë Roland MT-32 (ÑÕ× íÜãÛïæëö GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "ÀíÖëÜ Roland GS (ÔÐ×ÒÞÛöæì ÜÐßöÝÓ MT-32)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1027,273 +1027,273 @@ msgstr "" "°Ô×ÝÐçæÕ, ÚÐÛö ÖÐÔÐÕæÕ ÔÐ×ÒÞÛöæì ÜÐßöÝÓ ÔÛï íÜãÛïæëö MT-32 ÝÐ ßàëÛÐÔ×Õ " "Roland GS" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "½Õ ÒëÚÐàëáâÞþÒÐæì Üã×ëÚã ÔÛï MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "ÂíÚáâ ö ÐÓãçÚÐ:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "°ÓãçÚÐ" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "ÁãÑâëâàë" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "°ÑÞÕ" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "ÅãâÚÐáæì âëâàÐþ:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "ÂíÚáâ ö ÐÓãçÚÐ:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "°Óãç" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "ÁãÑ" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "°ÑÞÕ" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "¿ÐÚÐ×ÒÐæì áãÑâëâàë ö ßàÐÙÓàÐÒÐæì ÓÐÒÞàÚã" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "ÅãâÚÐáæì âëâàÐþ:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "³ãçÝ. Üã×ëÚö:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "³ãçÝ. Üã×ëÚö:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "²ëÚÛ. ãáñ" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "³ãçÝÐáæì SFX:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "³ãçÝÐáæì áßÕæëïÛìÝëå ÓãÚÐÒëå íäÕÚâÐþ" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "³ãçÝÐáæì SFX:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "³ãçÝ. ÐÓãçÚö:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "³ãçÝ. ÐÓãçÚö:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "ÈíÙÔÐà" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "ºöàÐÒÐÝÝÕ" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "½ÐÛÐÔë FluidSynth" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "ÈÛïå ÔÐ âíÜ:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "ÈÛïå ÔÐ âíÜ:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "¿ÐÚÐ×ÒÐÕ èÛïå ÔÐ ÔÐÔÐâÚÞÒëå äÐÙÛÐþ ÔÐÔ×ÕÝëå, ÒëÚÐàëáâÞþÒÐÝëå ãáöÜö ÓãÛìÝïÜö " "ÐÑÞ ScummVM" -#: gui/options.cpp:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "ÈÛïå ÔÐ ßÛÐÓöÝÐþ:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "ÈÛïå ÔÐ ßÛÐÓöÝÐþ:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "ÀÞ×ÝÐÕ" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "ÂíÜÐ:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "¼ÐÛïÒÐÛÚÐ GUI:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "°þâÐ×ÐåÐÒÐÝÝÕ:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "°þâÐ×ÐåÐÒÐÝÝÕ:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "ºÛÐÒöèë" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "¼ÞÒÐ GUI:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "¼ÞÒÐ ÓàÐäöçÝÐÓÐ öÝâíàäÕÙáã ScummVM" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "¿àÐÒïàÐæì ÐÑÝÐþÛÕÝÝö:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "ÏÚ çÐáâÐ ßàÐÒïàÐæì ÐÑÝÐþÛÕÝÝö ScummVM" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "¿àÐÒÕàëæì æïßÕà" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "²ÞÑÛÐÚÐ" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "²ÞÑÛÐÚÐ" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "²ÞÑÛÐÚÐ:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "°ÚâëþÝÐÕ ÒÞÑÛÐçÝÐÕ áåÞÒöèçÐ" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<ÝïÜÐ>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "ºÐàëáâÐç:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "¦Üï ÚÐàëáâÐçÐ þ ÓíâëÜ ÒÞÑÛÐÚã" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "ºÐàëáâÐÝë ÐÑ'ñÜ:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "°Ñ'ñÜ, ×ÐÝïâë ×ÐåÐÒÐÝÝïÜö ÓãÛìÝïþ ScummVM ÝÐ ÓíâëÜ ÒÞÑÛÐÚã" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "°ßÞèÝïï áöÝåàÐÝö×Ðæëï:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "ºÐÛö àÐÑöÛÐáï ÐßÞèÝïï áöÝåàÐÝö×Ðæëï × ÓíâëÜ ÒÞÑÛÐÚÐÜ" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "´ÐÛãçëæì" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "°ÔÚàëÒÐÕ ÔëïÛÞÓ ÔÛï ÝÐÛÐÔë ÔÐÛãçíÝÝï ÔÐ ÒÞÑÛÐÚÐ" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "°ÑÝÐÒöæì" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "°ÑÝÐþÛïÕ ÑïÓãçãî öÝäÐàÜÐæëî ßàÐ ÒÞÑÛÐÚÐ (öÜï ÚÐàëáâÐçÐ ö ÐÑ'ñÜ)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "·ÐÓàã×öæì" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "°ÔÚàëÒÐÕ ÜÕÝÕÔÖÐà ×ÐÓàã×ÐÚ" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "·Ðßãáæöæì áÕàÒÕà" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "·ÐßãáÚÐÕ ÛÐÚÐÛìÝë ÒíÑ-áÕàÒÕà" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "½Õ ×ÐßãèçÐÝë" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "ºÐàÐÝñÒÐï ÔëàíÚâÞàëï:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "¿ÐÚÐ×ÒÐÕ èÛïå ÔÐ ÔëàíÚâÞàëö, ÚãÔë ÑãÔ×Õ ÜÕæì ÔÞáâãß ÜÕÝÕÔÖÐà äÐÙÛÐþ" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "ºÞàÐÝì:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "¿Þàâ áÕàÒÕàÐ:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1301,27 +1301,27 @@ msgstr "" "½ãÜÐà ßÞàâÐ, ÚÐàëáâÐÝë áÕàÒÕàÐÜ\n" "ÃáâÐÛïÒÐÝÝÕ ÔÞáâãßã ßàÐæãÕ âÞÛìÚö × ÐÓÐÔÐÝëÜ ßÞàâÐÜ" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "ÃÖëæì" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "½Õ ÐâàëÜÐÛÐáï ×ÜïÝöæì ÒÞÑÛÐÚÐ!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "ÃÖÞ ÐÚâëþÝÐ öÝèÐÕ ÒÞÑÛÐçÝÐÕ áåÞÒöèçÐ." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "ÂíÜÐ ÝÕ ßÐÔâàëÜÒÐÕ ÐÑàÐÝãî ÜÞÒã!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "½ÕÜÐÓçëÜÐ ×ÐÓàã×öæì âíÜã!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1329,48 +1329,48 @@ msgstr "" "\n" "½ÐÛÐÔë ÝÐ ÒÞÚÛÐÔæë \"ÀÞ×ÝÐÕ\" ÑãÔãæì ÐÔÝÞþÛÕÝë." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 msgid "The chosen directory cannot be written to. Please select another one." msgstr "½Õ ÜÐÓã ßöáÐæì ã ÐÑàÐÝãî ÔëàíÚâÞàëî. ºÐÛö ÛÐáÚÐ, Ð×ÝÐçæÕ öÝèãî." -#: gui/options.cpp:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "°ÑïàëæÕ ÔëàíÚâÞàëî ÔÛï âíÜ GUI" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "°ÑïàëæÕ ÔëàíÚâÞàëî × ÔÐÔÐâÚÞÒëÜö äÐÙÛÐÜö" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "°ÑïàëæÕ ÔëàíÚâÞàëî × ßÛÐÓöÝÐÜö" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "°ÑïàëæÕ ÔëàíÚâÞàëî ÔÛï ÚÞàÐÝï þ ÜÕÝÕÔÖÐàë äÐÙÛÐþ" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu ÑÐÙâÐþ" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<×ÐàÐ×>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<ÝöÚÞÛö>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "ÁßëÝöæì áÕàÒÕà" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "ÁßëÝïÕ ÛÐÚÐÛìÝë ÒíÑ-áÕàÒÕà" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1449,7 +1449,7 @@ msgstr "²ë áÐßàÐþÔë ÖÐÔÐÕæÕ ÒëÔÐÛöæì Óíâë ×Ðßöá?" msgid "Unknown Author" msgstr "½ÕÒïÔÞÜë ÐþâÐà" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM ÝÕ ÜÐÕ ÔÞáâãßã ÔÐ Ð×ÝÐçÐÝÐÙ ÔëàíÚâÞàëö!" @@ -1640,7 +1640,7 @@ msgstr "" msgid "Proceed" msgstr "¿àÐæïÓÝãæì" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "°çëáæöæì ×ÝÐçíÝÝÕ" @@ -2389,11 +2389,11 @@ msgstr "ÀíÖëÜ âÐçßÐÔÐ þÚÛîçÐÝë." msgid "Touchpad mode disabled." msgstr "ÀíÖëÜ âÐçßÐÔÐ ÒëÚÛîçÐÝë." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "ÀíÖëÜ ßáâàëçÚö" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2401,11 +2401,11 @@ msgstr "ÀíÖëÜ ßáâàëçÚö" msgid "Left Click" msgstr "»ÕÒÐï ßáâàëçÚÐ" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "ÁïàíÔÝïï ßáâàëçÚÐ" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2785,16 +2785,16 @@ msgstr "¿àÐÒïàÐî ÐÑÝÐþÛÕÝÝö..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "½Õ ÐâàëÜÐÛÐáï ×ÝÐÙáæö äÐÙÛ àãåÐÒöçÚÐ %s." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "ÄÐÙÛ àãåÐÒöçÚÐ %s ßÐèÚÞÔÖÐÝë." @@ -4469,6 +4469,18 @@ msgstr "Ãáâãß × ÔëáÚÕâ" msgid "Use the floppy version's intro (CD version only)" msgstr "²ëÚÐàëáâÞþÒÐæì ãáâãß × ÓÝãâÚöå ÔëáÚÐþ (âÞÛìÚö ÔÛï CD-ÒÕàáöö ÓãÛìÝö)" +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"½ïßàÐÒöÛìÝÐï ÒÕàáöï äÐÙÛÐ àãåÐÒöçÚÐ %s. ÇÐÚÐÛÐáï %d.%d, ÐÛÕ ×ÝÞÙÔ×ÕÝÐ %d.%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "½Õ ÐâàëÜÐÛÐáï ×ÝÐÙáæö äÐÙÛ àãåÐÒöçÚÐ %s." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/ca_ES.po b/po/ca_ES.po index fd63677f82..7223178102 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-02-20 14:15+0000\n" "Last-Translator: Eugene Sandulenko <sev@scummvm.org>\n" "Language-Team: Catalan <https://translations.scummvm.org/projects/scummvm/" @@ -33,33 +33,33 @@ msgstr "Característiques compilades:" msgid "Available engines:" msgstr "Motors disponibles:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Mostra els fitxers ocults" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Mostra els fitxers marcats amb l'atribut d'ocultació" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Amunt" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Torna al nivell de directoris anterior" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,42 +71,42 @@ msgstr "Amunt" msgid "Cancel" msgstr "Cancel·la" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Escull" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "Seleccioneu el directori on descarregar les dades del joc" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Seleccioneu el directori amb les dades del joc" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Des de: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Fins: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Cancel·lar descàrrega" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Cancel·lar descàrrega" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Amagar" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -114,8 +114,8 @@ msgstr "" "Sembla que estàs utilitzant una connexió limitada. Estàs segur que vols " "descarregar els arxius?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -127,8 +127,8 @@ msgstr "" msgid "Yes" msgstr "Sí" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -140,11 +140,11 @@ msgstr "Sí" msgid "No" msgstr "No" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM no ha pogut obrir el directori especificat!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -152,9 +152,9 @@ msgstr "" "No s'ha pogut crear un directori per la descàrrega. El directori conté un " "arxiu amb el mateix nom." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -173,7 +173,7 @@ msgstr "" msgid "OK" msgstr "D'acord" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -182,26 +182,26 @@ msgstr "" "Ja existeix un directori %s a la ruta especificada.\n" "Estàs segur que vols descarregar els arxius dins d'aquest directori?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Descarregat: %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Velocitat de descàrrega: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Joc" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "Identificador:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -209,30 +209,30 @@ msgstr "" "Identificador de joc curt utilitzat per referir-se a les partides i per " "executar el joc des de la línia de comandes" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Nom:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Títol complet del joc" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Nom:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Idioma:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -240,186 +240,186 @@ 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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<per defecte>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Plataforma:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Plataforma per la que el joc es va dissenyar originalment" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Platafor.:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Gràfics" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Fer canvis sobre les opcions globals de gràfics" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Canviar les opcions de gràfics" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Àudio" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Fer canvis sobre les opcions globals d'àudio" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Canviar les opcions d'àudio" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Volum" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Volum" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Fer canvis sobre les opcions globals de volum" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Canviar les opcions de volum" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Fer canvis sobre les opcions globals de MIDI" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Canviar les opcions de MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Fer canvis sobre les opcions globals de MT-32" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Canviar les opcions de MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Camins" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Camins" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Camí del joc:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Camí joc:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Camí extra:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Camí extra:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Camí de partides:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Especifica on es desaran les partides" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Partides:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Cap" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Per defecte" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Seleccioneu el fitxer SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Seleccioneu el directori addicional del joc" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Seleccioneu el directori de les partides desades" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 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:534 +#: gui/editgamedialog.cpp:535 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." @@ -436,103 +436,103 @@ msgstr "Notes:" msgid "Ok" msgstr "Acceptar" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Tria l'arxiu a carregar" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Realment vols sobreescriure aquest arxiu?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Reverberació" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Actiu" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Habitació:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Humitat:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Amplitud:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Nivell:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Cor" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Velocitat:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Profunditat:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Tipus:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sinus" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Triangle" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Misc" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolació:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Cap (el més ràpid)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Lineal" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Quart ordre" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Setè ordre" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Reset" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Retorna tots els ajustos de FluidSynth als seus valors per defecte." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -803,7 +803,7 @@ msgid "every 30 mins" msgstr "cada 30 minuts" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Cap" @@ -828,188 +828,188 @@ msgstr "no s'ha pogut canviar l'ajust de pantalla completa" msgid "the filtering setting could not be changed" msgstr "no s'han pogut canviar els ajustes de filtratge" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "" -#: gui/options.cpp:932 +#: gui/options.cpp:934 #, fuzzy msgid "Touchpad mouse mode" msgstr "Mode Touchpad desactivat." -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "" -#: gui/options.cpp:941 +#: gui/options.cpp:943 #, fuzzy msgid "Pointer Speed:" msgstr "Velocitat:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "" -#: gui/options.cpp:943 +#: gui/options.cpp:945 #, fuzzy msgctxt "lowres" msgid "Pointer Speed:" msgstr "Velocitat:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Mode gràfic:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Mode de pintat:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Modes de tramat especials suportats per alguns jocs" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Mode pantalla completa" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Filtres de gràfics" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Correcció de la relació d'aspecte" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Corregeix la relació d'aspecte per jocs de 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Disp. preferit:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Disp. de música:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 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:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 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:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Disp. preferit:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Disp. de música:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "Emulador AdLib:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib s'utilitza per la música de molts jocs" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "Dispositiu GM:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 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:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "No utilitzis música General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Utilitza el primer dispositiu disponible" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "Fitxer SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "Algunes targes de so, FluidSynth i Timidity suporten SoundFont" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Mode combinat AdLib/MIDI" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Utilitza MIDI i la generació de so AdLib alhora" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "Guany MIDI:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "Disposit. MT-32:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 real (desactiva l'emulació GM)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1017,366 +1017,366 @@ msgstr "" "Marqueu si voleu utilitzar el vostre dispositiu hardware real de so " "compatible amb Roland connectat al vostre ordinador" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 real (sense emulació GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Dispositiu Roland GS (activar conversió MT-32)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" msgstr "" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "No utilitzis música de Roland MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Text i Veus:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Veus" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Subtítols" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Ambdós" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Velocitat de subt.:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Text i Veus:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Veus" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Subt" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Ambdós" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Mostra els subtítols i reprodueix la veu" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Veloc. de subt.:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Volum de música:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Volum de música:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Silenciar tot" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Volum d'efectes:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Volum dels sons d'efectes especials" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Volum d'efectes:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Volum de veus:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Volum de veus:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 #, fuzzy msgid "Control" msgstr "Controla el ratolí" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "Configuració de FluidSynth" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Camí dels temes:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Camí temes:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Camí dels connectors:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Camí de connectors:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Misc" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "Pintat GUI:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Desat automàtic:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Auto-desat:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Tecles" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Idioma GUI:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Idioma de la interfície d'usuari de ScummVM" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nom d'usuari:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Descarregar" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Aturat" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "Directori /arrel/:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Especifica els directoris accessibles per al gestor d'arxius" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "Directori /arrel/:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Port del servidor:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Fallada al canviar l'emmagatzematge en línia!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 #, fuzzy msgid "Theme does not support selected language!" msgstr "El connector de motor no suporta partides desades" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 #, fuzzy msgid "Theme cannot be loaded!" msgstr "La partida NO s'ha desat" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." msgstr "" -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Seleccioneu el directori dels temes" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Seleccioneu el directori dels fitxers extra" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Seleccioneu el directori dels connectors" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Selecciona el directori /arrel/ per al gestor d'arxius" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<mai>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Aturar servidor" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1453,7 +1453,7 @@ msgstr "Realment voleu suprimir aquest enregistrament?" msgid "Unknown Author" msgstr "Autor desconegut" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM no ha pogut accedir al directori especificat!" @@ -1640,7 +1640,7 @@ msgstr "" msgid "Proceed" msgstr "" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Neteja el valor" @@ -2379,11 +2379,11 @@ msgstr "Mode Touchpad activat." msgid "Touchpad mode disabled." msgstr "Mode Touchpad desactivat." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Mode clic" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2391,11 +2391,11 @@ msgstr "Mode clic" msgid "Left Click" msgstr "Clic esquerre" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Clic central" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2774,16 +2774,16 @@ msgstr "Comprova les actualitzacions..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "" #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "" @@ -4419,6 +4419,17 @@ msgid "Use the floppy version's intro (CD version only)" msgstr "" "Utilitza la introducció de la versió de disquets (només per a la versió CD)" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "" + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/cs_CZ.po b/po/cs_CZ.po index 79b6fa5b4f..c415e25753 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-11-29 07:42+0000\n" "Last-Translator: Zbynìk Schwarz <zbynek.schwarz@gmail.com>\n" "Language-Team: Czech <https://translations.scummvm.org/projects/scummvm/" @@ -35,33 +35,33 @@ msgstr "Zakompilované funkce:" msgid "Available engines:" msgstr "Dostupná jádra:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Zobrazit skryté soubory" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Zobrazit soubory s vlastností skryté" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Jít nahoru" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Jít na pøedchozí úroveò adresáøe" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -73,42 +73,42 @@ msgstr "Jít nahoru" msgid "Cancel" msgstr "Zru¹it" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Zvolit" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "Vyberte adresáø kam data her stáhnout" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Vyberte adresáø s daty hry" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Z: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Do: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Zru¹it stahování" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Zru¹it stahování" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Skrýt" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -116,8 +116,8 @@ msgstr "" "Zdá se, ¾e va¹e pøipojení je omezeno. Opravdu chcete pomocí nìj soubory " "stáhnout?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -129,8 +129,8 @@ msgstr "" msgid "Yes" msgstr "Ano" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -142,11 +142,11 @@ msgstr "Ano" msgid "No" msgstr "Ne" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM nemohl tento adresáø otevøít!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -154,9 +154,9 @@ msgstr "" "Nelze vytvoøit adresáø pro stahování - zadaný adresáø má soubor se stejným " "názvem." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -175,7 +175,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -184,26 +184,26 @@ msgstr "" "\"%s\" ji¾ v zadaném adresáøi existuje.\n" "Opravdu chcete soubory do tohoto adresáøe stáhnout?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Sta¾eno %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Rychlost stahování: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Hra" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -211,209 +211,209 @@ msgstr "" "Krátký identifikátor her, pou¾ívaný jako odkaz k ulo¾eným hrám a spu¹tìní " "hry z pøíkazového øádku" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Jméno:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Úplný název hry" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Jméno:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Jazyk:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" msgstr "Jazyk hry. Toto z va¹í ©panìlské verze neudìlá Anglickou" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<výchozí>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Platforma:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Platforma, pro kterou byla hra pùvodnì vytvoøena" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Platforma:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Jádro" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Obraz" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Potlaèit globální nastavení obrazu" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Potlaèit globální nastavení obrazu" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Zvuk" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Potlaèit globální nastavení zvuku" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Potlaèit globální nastavení zvuku" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Hlasitost" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Hlasitost" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Potlaèit globální nastavení hlasitosti" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Potlaèit globální nastavení hlasitosti" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Potlaèit globální nastavení MIDI" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Potlaèit globální nastavení MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Potlaèit globální nastavení MT-32" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Potlaèit globální nastavení MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Cesty" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Cesty" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Cesta Hry:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Cesta Hry:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Dodateèná Cesta:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Dodateèná Cesta:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Cesta pro ulo¾ení:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 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:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Cesta pro ulo¾ení:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "®ádné" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Výchozí" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Vybrat SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Vyberte dodateèný adresáø hry" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Vyberte adresáø pro ulo¾ené hry" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -421,7 +421,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:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "Toto ID hry je u¾ zabrané. Vyberte si, prosím, jiné." @@ -437,103 +437,103 @@ msgstr "Poznámky:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Zvolte soubor pro naètení" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Zadejte název souboru pro ulo¾ení" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Opravdu chcete tento soubor pøepsat?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Dozvuk" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Aktivní" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Místnost:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Tlumení:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "©íøka:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Úroveò:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Sbor" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Rychlost:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Hloubka:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Typ:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sinus" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Trojúhelník" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Rùzné" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolace:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "®ádná (Nejrychlej¹í)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Lineární" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Interpolace ètvrtého øádu" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Interpolace sedmého øádu" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Resetovat" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Resetovat ve¹kerá nastavení FludSynth n ajejich výchozí hodnoty." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -800,7 +800,7 @@ msgid "every 30 mins" msgstr "Ka¾dých 30 min" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "®ádné" @@ -825,184 +825,184 @@ msgstr "nastavení celé obrazovky nemohlo být zmìnìno" msgid "the filtering setting could not be changed" msgstr "nastavení filtrování nemohlo být zmìnìno" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "Zobrazit ovládání na obrazovce" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Re¾im Touchpad my¹i" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "Zamìnit tlaèítka Menu a Zpìt" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Rychlost ukazatele:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "Rychlost ovládání ukazatele my¹i pomocí klávesnice/joysticku" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Rychlost ukazatele:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Mrtvá zóna Joysticku:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Mrtvá zóna analogového joysticku" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Mrtvá zóna Joysticku:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "Hardwarový shader:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "Ka¾dý hardwarový shader vytváøí rùzné vizuální efekty" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "Hardwarový shader:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Ka¾dý shader vytváøí rùzné vizuální efekty" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Re¾im obrazu:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Re¾im vykreslení:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Speciální re¾imy chvìní podporované nìkterými hrami" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Re¾im celé obrazovky" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Filtrování grafiky" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "Pro ¹kálování grafiky pou¾ít lineární filtrování" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Korekce pomìru stran" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Korigovat pomìr stran pro hry 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Prioritní Zaøízení:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Hudební zaøízení:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "Stanoví prioritní zvukové zaøízení nebo emulátor zvukové karty" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "Stanoví výstupní zvukové zaøízení nebo emulátor zvukové karty" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Prioritní Zaø.:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Hudební zaøízení:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "AdLib emulátor:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib se pou¾ívá pro hudbu v mnoha hrách" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "GM Zaøízení:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Stanoví výchozí zvukové zaøízení pro výstup General MIDI" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Nepou¾ívat hudbu General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Pou¾ít první dostupné zaøízení" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Smí¹ený re¾im AdLib/MIDI" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Pou¾ít obì zvukové generace MIDI a AdLib" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "Zesílení MIDI:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "Zaøízení MT-32:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Opravdový Roland MT-32 (vypne GM emulaci)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1010,16 +1010,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:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Opravdový Roland MT-32 (¾ádná GM emulace)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Zaøízení Roland GS (zapne mapování MT-32)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1027,274 +1027,274 @@ 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:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Nepou¾ívat hudbu Roland MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Text a Øeè:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Øeè" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Titulky" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Oba" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Rychlost titulkù:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Text a Øeè:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Øeè" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Titl" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Oba" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Zobrazit titulky a pøehrávat øeè" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Rychlost titulkù:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Hlasitost hudby:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Hlasitost hudby:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Ztlumit V¹e" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Hlasitost zvukù:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Hlasitost speciálních zvukových efektù" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Hlasitost zvukù:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Hlasitost øeèi:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Hlasitost øeèi:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "Shader" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "Ovládání" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "Nastavení FluidSynth" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Cesta ke Vzhledu:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Cesta ke Vzhledu:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Cesta k Pluginùm:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Cesta k Pluginùm:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Rùzné" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Vzhled:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "GUI Vykreslovaè:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Autoukládání:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Autoukládání:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Klávesy" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Jazyk GUI:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Jazyk GUI ScummVM" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Ovìøení aktualizací:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Jak èasto ScummVM kontroluje aktualizace" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Zkontrolovat nyní" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Úlo¾i¹tì:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Aktivní cloudové úlo¾i¹tì" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<¾ádné>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "U¾ivatelské jméno:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "U¾ivatelská jména která toto úlo¾i¹tì vyu¾ívají" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Vyu¾itý prostor:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 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:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Datum poslední synchronizace:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "Kdy byla provedena poslední synchronizace ulo¾ených her" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Pøipojit" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 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:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Obnovit" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 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:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Stáhnout" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Otevøít dialogové okno správce stahovaní" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Spustit server" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Spustit místní internetový server" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Nespu¹tìno" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "Cesta /root/:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 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:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "Cesta /root/:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Port serveru:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1302,27 +1302,27 @@ msgstr "" "Který port server pou¾ívá\n" "Pøihlá¹ení pomocí serveru není dostupné pøi pou¾ití nestandardního portu" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Pou¾ít" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Nelze zmìnit cloudové úlo¾i¹tì!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Jiné cloudové úlo¾i¹tì ji¾ je aktivní." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "Vzhled nepodporuje zvolený jazyk!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "Vzhled nelze naèíst!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1330,48 +1330,48 @@ msgstr "" "\n" "Nastavení v Rùzné budou obnovena." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Vyberte adresáø pro vhledy GUI" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Vyberte adresáø pro dodateèné soubory" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Vyberte adresáø pro zásuvné moduly" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Vyberte adresáø pro koøen Správce souborù" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu bajtù" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<právì nyní>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<nikdy>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Zastavit server" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Zastavit místní internetový server" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1450,7 +1450,7 @@ msgstr "Opravdu chcete tento záznam smazat?" msgid "Unknown Author" msgstr "Neznámý autor" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM nemá k tomuto adresáøi pøístup!" @@ -1643,7 +1643,7 @@ msgstr "" msgid "Proceed" msgstr "Pokraèovat" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Vyèistit hodnotu" @@ -2392,11 +2392,11 @@ msgstr "Touchpad re¾im zapnut." msgid "Touchpad mode disabled." msgstr "Touchpad re¾im vypnut." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Re¾im kliknutí" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2404,11 +2404,11 @@ msgstr "Re¾im kliknutí" msgid "Left Click" msgstr "Levé Kliknutí" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Kliknutí prostøedním tlaèítkem" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2789,16 +2789,16 @@ msgstr "Zkontrolovat Aktualizace..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "Nelze najít datové soubory jádra '%s'." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "Datové soubory jádra '%s' jsou po¹kozeny." @@ -4462,6 +4462,18 @@ msgstr "Úvod z diskety" msgid "Use the floppy version's intro (CD version only)" msgstr "Pou¾ít verzi úvodu z diskety (Pouze verze CD)" +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"Nalezena data jádra '%s' s nesprávnou verzí. Oèekávána %d.%d, ale byla %d.%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "Nelze najít datové soubory jádra '%s'." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/da_DK.po b/po/da_DK.po index 2602c8cbc7..3651837009 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-12-07 19:59+0000\n" "Last-Translator: stevenew <steffen@nyeland.dk>\n" "Language-Team: Danish <https://translations.scummvm.org/projects/scummvm/" @@ -33,33 +33,33 @@ msgstr "Funktioner kompileret ind:" msgid "Available engines:" msgstr "Tilgængelige \"motorer\":" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Vis skjulte filer" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Vis filer markeret med skjult attribut" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Gå op" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Gå til forrige biblioteks niveau" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,42 +71,42 @@ msgstr "Gå op" msgid "Cancel" msgstr "Fortryd" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Vælg" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "Vælg bibliotek hvor spil data skal gemmes" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Vælg bibliotek med spil data" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Fra: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Til: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Annuller download" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Annuller download" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Skjul" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -114,8 +114,8 @@ msgstr "" "Det ser ud til at din forbindelse er begrænset. Er du sikker på du vil " "downloade filer med denne?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -127,8 +127,8 @@ msgstr "" msgid "Yes" msgstr "Ja" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -140,11 +140,11 @@ msgstr "Ja" msgid "No" msgstr "Nej" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM kunne ikke åbne det angivne bibliotek!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -152,9 +152,9 @@ msgstr "" "Kan ikke oprette et bibliotek til download - det angivne bibliotek har en " "fil med det samme navn." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -173,7 +173,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -182,26 +182,26 @@ msgstr "" "\"%s\" eksisterer allerede i det angivne bibliotek.\n" "Vil du virkelig downloade filer ind i det bibliotek?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Downloadet %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Download hastighed: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Spil" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -209,30 +209,30 @@ msgstr "" "Kort spil identifikator til brug for gemmer, og for at køre spillet fra " "kommandolinien" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Navn:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Fuld titel på spillet" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Navn:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Sprog:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -240,180 +240,180 @@ 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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<standard>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Platform:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Platform som spillet oprindeligt var designet til" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Platform:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Grafik" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Overstyr globale grafik indstillinger" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Overstyr globale grafik indstillinger" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Lyd" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Overstyr globale lyd indstillinger" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Overstyr globale lyd indstillinger" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Lydstyrke" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Lydstyrke" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Overstyr globale lydstyrke indstillinger" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Overstyr globale lydstyrke indstillinger" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Overstyr globale MIDI indstillinger" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Overstyr globale MIDI indstillinger" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Overstyr globale MT-32 indstillinger" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Overstyr globale MT-32 indstillinger" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Stier" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Stier" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Spil sti:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Spil sti:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Ekstra sti:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Ekstra sti:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Gemme sti:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Angiver hvor dine gemmer bliver lagt" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Gemme sti:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Ingen" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standard" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Vælg SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Vælg ekstra spil bibliotek" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Vælg bibliotek til spil gemmer" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -421,7 +421,7 @@ msgstr "" "Muligheden for synkronisering af gemte spil, virker ikke med ikke-standard " "biblioteker. Hvis du vil bruge muligheden, brug standard bibliotek." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "Dette spil ID er allerede i brug. Vælg venligst et andet." @@ -437,103 +437,103 @@ msgstr "Noter:" msgid "Ok" msgstr "OK" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Vælg fil til indlæsning" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Indtast filnavn til at gemme" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Vil du virkelig overskrive filen?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Rumklang" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Aktiv" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Rum:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Dæmp:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Bredde:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Styrke:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Kor" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Hastighed:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Dybde:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Type:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sinus" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Triangulær" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Andet" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolation:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Ingen (hurtigst)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Lineær" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Fjerde-orden" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Syvende-orden" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Nulstil" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Nulstil alle FluidSynth indstillinger til deres standard værdier." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -801,7 +801,7 @@ msgid "every 30 mins" msgstr "hvert 30. minut" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Ingen" @@ -826,182 +826,182 @@ msgstr "fuld skærm indstillingen kunne ikke ændres" msgid "the filtering setting could not be changed" msgstr "filtrerings-indstillingen kunne ikke ændres" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "Vis Skærm kontrol" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Pegeplade muse tilstand" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "Byt Menu og Tilbage knapper" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Markør Hastighed:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "Hastighed for tastatur/joystick muse markør kontrol" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Markør Hastighed:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Joy Dødszone:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Analog joystick Dødszone" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Joy dødszone:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "HW Shader:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "Forskellige hardware shaders giver forskellige visuelle effekter" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "HW Shader:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Forskellige shaders giver forskellige effekter" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Grafik tilstand:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Rendere tilstand:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Speciel farvereduceringstilstand understøttet a nogle spil" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Fuldskærms tilstand" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Filtrer grafik" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "Brug liniær filtrering når grafik skaleres" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Billedformat korrektion" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Korrekt billedformat til 320x200 spil" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Foretruk. enhed:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Musik enhed:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "Angiver foretukket lyd enhed eller lydkort emulator" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "Angiver lyd udgangsenhed eller lydkorts emulator" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Foretruk. enh.:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Musik enhed:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "AdLib emulator:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib bliver brugt til musik i mange spil" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "GM enhed:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Angiver standard lyd enhed for Generel MIDI-udgang" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Brug ikke Generel MIDI musik" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Brug første tilgængelig enhed" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Blandet AdLib/MIDI tilstand" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Brug både MIDI og AdLib lyd generering" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "MIDI lydstyrke:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "MT-32 enhed:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Ægte Roland MT-32 (undlad GM emulering)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1009,16 +1009,16 @@ msgstr "" "Kryds af hvis du vil bruge din rigtige hardware Roland-kompatible lyd enhed " "tilsluttet til din computer" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Ægte Roland MT-32 (ingen GM emulering)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS enhed (aktivér MT-32 tilknytninger)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1026,272 +1026,272 @@ msgstr "" "Kryds af hvis du vil aktivere patch tilknytninger, for at emulere en MT-32 " "på en Roland GS enhed" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Brug ikke Roland MT-32 musik" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Tekst og tale:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Tale" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Undertekster" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Begge" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Tekst hastighed:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Tekst og tale:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Tale" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Tekst" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Begge" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Vis undertekster og afspil tale" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Tekst hastighed:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Musik lydstyrke:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Musik lydstyrke:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Mute alle" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "SFX lydstyrke:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Lydstyrke for specielle lydeffekter" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "SFX lydstyrke:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Tale lydstyrke:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Tale lydstyrke:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "Shader" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "Kontrol" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "FluidSynth indstillinger" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Tema sti:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Tema sti:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Plugin sti:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugin sti:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Andet" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "GUI renderer:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Auto gemme:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Auto gemme:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Taster" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Sprog:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Sprog for brugerfladen i ScummVM" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Opdaterings tjek:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Hvor ofte skal der tjekkes for ScummVM opdateringer" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Tjek nu" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Skyen" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Skyen" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Lager:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Aktivér lagring i skyen" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<ingen>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Bruger:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Brugernavn for denne lagring" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Udnyttet plads:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "Plads brugt af ScummVM's gemte spil på denne lagring" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Sidst synkroniseret:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "" "Hvornår den sidste synkronisering af gemte spil på denne lagring foregik" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Tilslut" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "Åben hjælpe dialog for at forbinde din lagringskonto i skyen" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Genopfrisk" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "Genopfrisk aktuel lagrings information i skyen (brugernavn og brug)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Download" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Åben download manager dialog" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Kør server" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Kør lokal webserver" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Kører ikke" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "/root/ sti:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Angiver hvilke biblioteker Fil Manager kan tilgå" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "/root/ sti:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Server's port:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1299,27 +1299,27 @@ msgstr "" "Hvilken port bruges af serveren\n" "Godkendelse med server er ikke mulig med ikke-standard port" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Anvend" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Mislykkedes at ændre lagring i sky!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "En anden lagring i skyen er allerede aktiv." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "Tema understøtter ikke valgte sprog!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "Tema kunne ikke indlæses!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1327,48 +1327,48 @@ msgstr "" "\n" "Misc opsætning vil blive genskabt." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Vælg bibliotek for GUI temaer" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Vælg bibliotek for ekstra filer" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Vælg bibliotek for plugins" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Vælg bibliotek for Fil Manager /root/" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<lige nu>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<aldrig>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Stop server" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Stop lokal webserver" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1447,7 +1447,7 @@ msgstr "Vil du virkelig slette denne optagelse?" msgid "Unknown Author" msgstr "Ukendt forfatter" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM kunne ikke tilgå biblioteket!" @@ -1638,7 +1638,7 @@ msgstr "" msgid "Proceed" msgstr "Fortsæt" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Slet værdi" @@ -2385,11 +2385,11 @@ msgstr "Pegeplade tilstand aktiveret." msgid "Touchpad mode disabled." msgstr "Pegeplade tilstand deaktiveret." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Klik tilstand" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2397,11 +2397,11 @@ msgstr "Klik tilstand" msgid "Left Click" msgstr "Venstre klik" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Miderste klik" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2781,16 +2781,16 @@ msgstr "Søg efter opdateringer..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "Kan ikke finde '%s' \"motorens\" data fil." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "'%s' \"motorens\" data fil er ødelagt." @@ -4465,6 +4465,19 @@ msgstr "Diskette intro" msgid "Use the floppy version's intro (CD version only)" msgstr "Brug diskette versionens intro (kun CD version)" +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"Ukorrekt version af '%s' \"motorens\" data fil fundet. Forventet %d.%d, men " +"fandt %d.%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "Kan ikke finde '%s' \"motorens\" data fil." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/de_DE.po b/po/de_DE.po index 82f2fbbf55..719859b62a 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: 2017-12-26 21:11+0100\n" -"PO-Revision-Date: 2017-11-15 09:26+0000\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" +"PO-Revision-Date: 2018-01-27 14:25+0000\n" "Last-Translator: Lothar Serra Mari <rootfather@scummvm.org>\n" "Language-Team: German <https://translations.scummvm.org/projects/scummvm/" "scummvm/de/>\n" @@ -33,34 +33,34 @@ msgstr "Verfügbare Funktionen:" msgid "Available engines:" msgstr "Verfügbare Spiele-Engines:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Versteckte Dateien anzeigen" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "" "Dateien anzeigen, die mit dem Attribut \"versteckt\" gekennzeichnet sind" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Pfad hoch" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Zu höherer Pfadebene wechseln" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -72,44 +72,44 @@ msgstr "Pfad hoch" msgid "Cancel" msgstr "Abbrechen" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Auswählen" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "" "Wählen Sie das Verzeichnis, in welches die Spieldaten heruntergeladen werden " "sollen" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Verzeichnis mit Spieldateien auswählen" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Von: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Nach: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Download abbrechen" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Download abbr." -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Verstecken" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -117,8 +117,8 @@ msgstr "" "Ihre Internetverbindung ist scheinbar eingeschränkt. Möchten Sie mit dieser " "Verbindung wirklich die Dateien herunterladen?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -130,8 +130,8 @@ msgstr "" msgid "Yes" msgstr "Ja" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -143,11 +143,11 @@ msgstr "Ja" msgid "No" msgstr "Nein" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM konnte das gewählte Verzeichnis nicht öffnen!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -155,9 +155,9 @@ msgstr "" "Kann kein Verzeichnis zum Herunterladen erstellen - das gewählte Verzeichnis " "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:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -176,7 +176,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -185,26 +185,26 @@ msgstr "" "\"%s\" existiert im gewählten Verzeichnis bereits.\n" "Möchten Sie wirklich die Dateien in das gewählte Verzeichnis herunterladen?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "%s %s / %s %s heruntergeladen" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Download-Geschwindigkeit: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Spiel" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "Kennung:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -212,30 +212,30 @@ msgstr "" "Kurzer Spielname, um die Spielstände zuzuordnen und das Spiel von der " "Kommandozeile aus starten zu können" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "Kennung:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Name:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Voller Name des Spiels" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Name:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Sprache:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -243,180 +243,180 @@ msgstr "" "Sprache des Spiels. Diese Funktion wird eine spanische Version des Spiels " "nicht in eine deutsche verwandeln" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<Standard>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Plattform:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Plattform, für die das Spiel ursprünglich erstellt wurde" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Plattform:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Engine" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Grafik" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Globale Grafik-Einstellungen übergehen" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Globale Grafik-Einstellungen übergehen" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Audio" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Globale Audio-Einstellungen übergehen" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Globale Audio-Einstellungen übergehen" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Lautstärke" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Lautst." -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Globale Lautstärke-Einstellungen übergehen" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Globale Lautstärke-Einstellungen übergehen" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Globale MIDI-Einstellungen übergehen" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Globale MIDI-Einstellungen übergehen" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Globale MT-32-Einstellungen übergehen" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Globale MT-32-Einstellungen übergehen" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Pfade" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Pfade" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Spielpfad:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Spielpfad:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Extras:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 msgid "Specifies path to additional data used by the game" msgstr "Legt den Verzeichnispfad für zusätzliche Spieldateien fest" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Extras:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Spielstände:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Legt fest, wo die Spielstände gespeichert werden" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Spielstände:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Keiner" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standard" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "SoundFont auswählen" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Verzeichnis mit zusätzlichen Dateien auswählen" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Verzeichnis für Spielstände auswählen" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -425,7 +425,7 @@ msgstr "" "Wenn SieIhre Spielstände synchronisieren möchten, verwenden Sie das Standard-" "Verzeichnis." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "Diese Spielkennung ist schon vergeben. Bitte eine andere wählen." @@ -441,103 +441,103 @@ msgstr "Notizen:" msgid "Ok" msgstr "OK" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Zu ladende Datei auswählen" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Dateiname zum Speichern eingeben" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Möchten Sie diese Datei wirklich überschreiben?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Hall" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Aktiv" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Raum:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Dämpfung:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Radius:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Intensität:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Chor" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "Stimmen:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Rate:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Trennzeit:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Typ:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sinus" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Dreieck" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Sonstiges" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolation:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Keine (am schnellsten)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Linear" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Vierstufig" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Siebenstufig" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Zurücksetzen" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Setzt alle FluidSynth-Einstellungen auf ihre Standard-Werte zurück." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -809,7 +809,7 @@ msgid "every 30 mins" msgstr "alle 30 Minuten" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Kein SoundFont" @@ -834,188 +834,188 @@ msgstr "Vollbildeinstellung konnte nicht geändert werden" msgid "the filtering setting could not be changed" msgstr "Die Filtereinstellung konnte nicht geändert werden" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "Virtuelle Bedienelemente anzeigen" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Touchpad-Mausmodus" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "Menü- und Zurück-Tasten vertauschen" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Zeiger-Geschw.:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "Zeiger-Geschwindigkeit der Tastatur-/Joystick-Maus" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Zeiger-Geschw.:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Joystick-Totzone:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Totzone des analogen Joysticks" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Joystick-Totzone:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "HW-Shader:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" "Verschiedene Hardware-Shader erzeugen unterschiedliche visuelle Effekte" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "HW-Shader:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Verschiedene Shader erzeugen verschiedene Grafikeffekte" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Grafikmodus:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Render-Modus:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Spezielle Farbmischungsmethoden werden von manchen Spielen unterstützt" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Vollbildmodus" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Bilineare Filterung" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "Verwende bilineare Filterung zur Grafik-Skalierung" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Seitenverhältnis korrigieren" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Seitenverhältnis für Spiele mit der Auflösung 320x200 korrigieren" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Bevorzugtes Gerät:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Musikgerät:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "" "Legt das bevorzugte Tonwiedergabe-Gerät oder den Soundkarten-Emulator fest" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "Legt das Musikwiedergabe-Gerät oder den Soundkarten-Emulator fest" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Standard-Gerät:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Musikgerät:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "AdLib-Emulator:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib wird für die Musik in vielen Spielen verwendet" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "GM-Gerät:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 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:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Keine General-MIDI-Musik" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Erstes verfügbares Gerät" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Gemischter AdLib/MIDI-Modus" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Kombiniert MIDI-Musik mit AdLib-Soundeffekten" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "MIDI-Lautstärke:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "MT-32-Gerät:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Echte Roland MT-32 (GM-Emulation deaktiviert)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1023,16 +1023,16 @@ msgstr "" "Wählen Sie dies aus, wenn Sie ein echtes Roland-kompatibles Soundgerät " "verwenden" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Echte Roland MT-32 (keine GM-Emulation)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland-GS-Gerät (MT-32-Zuweisungen aktivieren)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1040,278 +1040,278 @@ msgstr "" "Auswählen, wenn Sie ausbessernde Instrumentzuweisungen aktivieren möchten, " "um MT-32 auf einem Roland-GS-Gerät zu emulieren" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Keine Roland-MT-32-Musik" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Sprache und Text:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Sprache" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Untertitel" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Beides" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Untertitel-Tempo:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Text u. Sprache:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Spr." -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Text" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "S+T" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Untertitel anzeigen und Sprachausgabe aktivieren" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Text-Tempo:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Musiklautstärke:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Musiklautstärke:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Stumm" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Effektlautstärke:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Lautstärke spezieller Geräusch-Effekte" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Effektlautst.:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Sprachlautstärke:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Sprachlautst.:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "Shader" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "Steuerung" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "FluidSynth-Einstellungen" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Themen:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Themen:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Plugins:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugins:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Andere" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Thema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "GUI-Renderer:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Autom. Speichern:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Autospeichern:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Tasten" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Sprache:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Sprache der ScummVM-Oberfläche" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Updates suchen:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Wie oft nach Aktualisierungen von ScummVM suchen?" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Jetzt prüfen" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Cloud-Speicher:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Aktiver Cloud-Speicher" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<keiner>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Benutzername:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Benutzername, der von diesem Cloud-Speicher verwendet wird" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Belegter Speicher:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 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:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Letzte Sync.:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "Zeitpunkt der letzten Spielstand-Synchronisierung" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Verbinden" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" "Öffnet den Assistenten, der Sie durch die Einrichtung Ihres Cloud-Speichers " "führt" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Aktualisieren" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "Aktualisiert die Informationen über diesen Cloud-Speicher (Benutzername und " "Belegung)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Herunterladen" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Öffnet den Download-Manager" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Server starten" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Startet den lokalen Webserver" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Nicht gestartet" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "/root/-Pfad:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Legt fest, auf welches Verzeichnis der Dateimanager zugreifen darf" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "/root/-Pfad:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Server-Port:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1320,27 +1320,27 @@ msgstr "" "Authentifizierung mit dem Server ist nicht verfügbar, wenn ein anderer Port " "verwendet wird" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Übernehmen" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Konnte den Cloud-Speicher nicht ändern!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Ein anderer Cloud-Speicher arbeitet gerade." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "Das Theme unterstützt die gewählte Sprache nicht!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "Theme konnte nicht geladen werden!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1348,51 +1348,51 @@ msgstr "" "\n" "Verschiedene Einstellungen werden wiederhergestellt." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Verzeichnis für Oberflächen-Themen" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Verzeichnis für zusätzliche Dateien auswählen" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Verzeichnis für Erweiterungen auswählen" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "" "Wählen Sie das Verzeichnis aus, welches als Stammverzeichnis ('root') dient" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu Bytes" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<gerade eben>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<nie>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Server anhalten" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Lokalen Webserver anhalten" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1471,7 +1471,7 @@ msgstr "Möchten Sie diese Aufnahme wirklich löschen?" msgid "Unknown Author" msgstr "Unbekannter Autor" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM konnte auf das gewählte Verzeichnis nicht zugreifen!" @@ -1665,7 +1665,7 @@ msgstr "" msgid "Proceed" msgstr "Fortfahren" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Wert löschen" @@ -2418,11 +2418,11 @@ msgstr "Touchpad-Modus aktiviert." msgid "Touchpad mode disabled." msgstr "Touchpad-Modus ausgeschaltet." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Klickmodus" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2430,11 +2430,11 @@ msgstr "Klickmodus" msgid "Left Click" msgstr "Linksklick" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Mittelklick" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2815,16 +2815,16 @@ msgstr "Suche nach Aktualisierungen..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "Engine-Datendatei '%s' kann nicht gefunden werden." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "Die Engine-Datendatei '%s' ist beschädigt." @@ -4520,6 +4520,21 @@ msgstr "Disketten-Vorspann" msgid "Use the floppy version's intro (CD version only)" msgstr "Verwendet den Vorspann der Diskettenversion (nur bei CD-Version)" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"Falsche Version der Engine-Datendatei '%s' gefunden. %d erwartet, aber %d " +"bekommen." + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "" +"Der Text für die Sprache %s konnte nicht in der Engine-Datendatei '%s' " +"gefunden werden." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.10.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-04-28 11:12+0000\n" "Last-Translator: Arius <alidop@pathfinder.gr>\n" "Language-Team: Greek <https://translations.scummvm.org/projects/scummvm/" @@ -32,33 +32,33 @@ msgstr "×áñáêôçñéóôéêÜ ðïõ ðåñéëáìâÜíïíôáé:" msgid "Available engines:" msgstr "ÄéáèÝóéìåò ìç÷áíÝò:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "ÅìöÜíéóç êñõöþí áñ÷åßùí" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "ÅìöÜíåéóç áñ÷åßùí ðïõ Ý÷ïõí åðéóçìáíèåß ùò êñõöÜ" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "ÌåôÜâáóç ðÜíù" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "ÌåôÜâáóç óôï ðñïçãïýìåíï åðßðåäï êáôáëüãïõ" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -70,42 +70,42 @@ msgstr "ÌåôÜâáóç ðÜíù" msgid "Cancel" msgstr "Áêýñùóç" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "ÅðéëïãÞ" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "ÅðéëÝîôå öÜêåëï ãéá íá ìåôáöïñôþóåôå ôá äåäïìÝíá ðáé÷íéäéþí" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "ÅðéëÝîôå öÜêåëï ìå äåäïìÝíá ðáé÷íéäéïý" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Áðü: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "¸ùò: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Áêýñùóç ëÞøçò" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Áêýñùóç ëÞøçò" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Áðüêñõøç" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -113,8 +113,8 @@ msgstr "" "Öáßíåôáé ðùò ç óýíäåóÞ óáò åßíáé ðåñéïñéóìÝíç. ÈÝëåôå ðñáãìáôéêÜ íá " "ìåôáöïñôþóåôå áñ÷åßá ìå áõôÞ;" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -126,8 +126,8 @@ msgstr "" msgid "Yes" msgstr "Íáé" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -139,11 +139,11 @@ msgstr "Íáé" msgid "No" msgstr "¼÷é" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "Ôï ScummVM äå ìðüñåóå íá áíïßîåé ôï êáèïñéóìÝíï öÜêåëï!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -151,9 +151,9 @@ msgstr "" "Äåí Þôáí äõíáôÞ ç äçìéïõñãßá öáêÝëïõ ãéá ìåôáöüñôùóç - ï ðñïêáèïñéóìÝíïò " "öÜêåëïò Ý÷åé Ýíá áñ÷åßï ìå ôï ßäéï üíïìá." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -172,7 +172,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -181,26 +181,26 @@ msgstr "" "Ôï \"%s\" õðÜñ÷åé Þäç óôïí ðñïêáèïñéóìÝíï öÜêåëï.\n" "ÈÝëåôå ðñáãìáôéêÜ íá ìåôáöïñôþóåôå áñ÷åßá óå áõôü ôï öÜêåëï;" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Ìåôáöïñôþèçêáí %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Ôá÷ýôçôá ìåôáöüñôùóçò: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Ðáé÷íßäé" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -209,30 +209,30 @@ msgstr "" "áðïèçêåõìÝíùí ðáé÷íéäéþí êáé ãéá ôçí åêôÝëåóç ôïõ ðáé÷íéäéïý áðü ôç ãñáììÞ " "åíôïëþí" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "¼íïìá:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "ÐëÞñçò ôßôëïò ôïõ ðáé÷íéäéïý" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "¼íïìá:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Ãëþóóá:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -240,181 +240,181 @@ msgstr "" "Ãëþóóá ôïõ ðáé÷íéäéïý. Áõôü äå èá ìåôáôñÝøåé ôçí ÉóðáíéêÞ Ýêäïóç ôïõ " "ðáé÷íéäéïý óáò óå ÁããëéêÞ" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<ðñïêáèïñéóìÝíç>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Ðëáôöüñìá:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Ðëáôöüñìá ãéá ôçí ïðïßá ó÷åäéÜóôçêå áñ÷éêÜ ôï ðáé÷íßäé" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Ðëáôöüñìá:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Ìç÷áíÞ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "ÃñáöéêÜ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "Ãñáö." -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "ÐáñÜêáìøç êáèïëéêþí ñõèìßóåùí ãñáöéêþí" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "ÐáñÜêáìøç ñõèì, ãñáöéêþí" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "¹÷ïò" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "ÐáñÜêáìøç êáèïëéêþí ñõèìßóåùí Þ÷ïõ" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "ÐáñÜêáìøç ñõèì. Þ÷ïõ" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "¸íôáóç" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "¸íôáóç" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "ÐáñÜêáìøç êáèïëéêþí ñõèìßóåùí Ýíôáóçò" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "ÐáñÜêáìøç ñõèì. Ýíôáóçò" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "ÐáñÜêáìøç êáèïëéêþí ñõèìßóåùí MIDI" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "ÐáñÜêáìøç ñõèì. MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "ÐáñÜêáìøç êáèïëéêþí ñõèìßóåùí MT-32" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "ÐáñÜêáìøç ñõèì. MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "ÖÜêåëïé" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "ÖÜêåëïé" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "ÖÜêåëïò Ðáé÷íéäéïý:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "ÖÜêåëïò Ðáé÷íéäéïý:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "ÖÜêåëïò ¸îôñá:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 msgid "Specifies path to additional data used by the game" msgstr "" "Êáèïñßæåé äéáäñïìÞ ãéá ðñüóèåôá äåäïìÝíá ðïõ ÷ñçóéìïðïéïýíôáé áðü ôï ðáé÷íßäé" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "ÖÜêåëïò ¸îôñá:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "ÖÜêåëïò ÁðïèÞêåõóçò:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Êáèïñßæåé ôçí ôïðïèåóßá ôùí áðïèçêåõìÝíùí ðáé÷íéäéþí óáò" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "ÖÜêåëïò Áðïè.:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "ÊáíÝíá" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "ÐñïêáèïñéóìÝíï" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "ÅðéëÝîôå SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "ÅðéëÝîôå ðñüóèåôï öÜêåëï ðáé÷íéäéïý" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "ÅðéëÝîôå öÜêåëï ãéá áðïèçêåõìÝíá ðáé÷íßäéá" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 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 +423,7 @@ msgstr "" "ðñïåðéëåãìÝíïõò öáêÝëïõò. Áí åðéèõìåßôå íá óõã÷ñïíßæïíôáé ôá áðïèçêåõìÝíá " "ðáé÷íßäéá óáò, ÷ñçóéìïðïéÞóôå ôïí ðñïåðéëåãìÝíï öÜêåëï." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "" "Áõôü ôï áíáãíùñéóôéêü ðáé÷íéäéïý ÷ñçóéìïðïéåßôáé Þäç. Ðáñáêáëþ åðéëÝîôå Ýíá " @@ -441,104 +441,104 @@ msgstr "Óçìåéþóåéò:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "ÅðéëïãÞ áñ÷åßïõ ãéá öüñôùóç" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "ÅéóÜãåôå üíïìá áñ÷åßïõ ãéá áðïèÞêåõóç" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "ÈÝëåôå ðñáãìáôéêÜ íá áíôéêáôáóôÞóåôå ôï áñ÷åßï;" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "ÁíôÞ÷çóç" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Åíåñãü" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "ÄùìÜôéï:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Õãñáóßá:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "ÐëÜôïò:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Åðßðåäï:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "×ïñùäßá" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Ôá÷ýôçôá:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "ÂÜèïò:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Ôýðïò:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Çìßôïíï" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Ôñßãùíï" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "ÄéÜöïñá" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "ÐáñåìâïëÞ:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Êáìßá (ãñçãïñüôåñï)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "ÃñáììéêÞ" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "ÔÝôáñôçò-ôÜîçò" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "¸âäïìçò-ôÜîçò" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "ÅðáíáöïñÜ" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "" "ÅðáíáöïñÜ üëùí ôùí ñõèìßóåùí ôïõ FluidSynth óôéò ðñïêáèïñéóìÝíåò ôïõò ôéìÝò." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -816,7 +816,7 @@ msgid "every 30 mins" msgstr "êÜèå 30 ëåðôÜ" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "ÊáíÝíá" @@ -841,187 +841,187 @@ msgstr "äåí Þôáí äõíáôÞ ç áëëáãÞ ôçò ñýèìéóçò ðëÞñïõò ïèüíçò" msgid "the filtering setting could not be changed" msgstr "äåí Þôáí äõíáôÞ ç áëëáãÞ ôçò ñýèìéóçò öéëôñáñßóìáôïò" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "ÅìöÜíéóç ôùí óôïé÷åßùí ÷åéñéóìïý óôçí ïèüíç" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Touchpad óå ëåéôïõñãßá ðïíôéêéïý" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "ÅíáëëáãÞ ôùí êïõìðéþí Ìåíïý êáé Ðßóù" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Ôá÷ýôçôá äåßêôç:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "Ôá÷ýôçôá ÷åéñéóìïý ôïõ äåßêôç ðïíôéêéïý ìå ðëçêôñïëüãéï/÷åéñéóôÞñéï" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Ôá÷ýôçôá äåßêôç:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Ðåñéï÷Þ áäñÜíåéáò ÷åéñéóôÞñéïõ:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Ðåñéï÷Þ áäñÜíåéáò áíáëïãéêïý ÷åéñéóôÞñéïõ" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Ðåñéï÷Þ áäñÜíåéáò ÷åéñéóôÞñéïõ:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Ëåéôïõñãßá ãñáöéêþí:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Ëåéôïõñãßá áðüäïóçò:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "" "ÅéäéêÝò ëåéôïõñãßåò ÷ñùìáôéêÞò áíôéðáñÜèåóçò ïé ïðïßåò õðïóôçñßæïíôáé áðü " "ïñéóìÝíá ðáé÷íßäéá" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Ëåéôïõñãßá ðëÞñïõò ïèüíçò" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Ößëôñï ãñáöéêþí" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "×ñÞóç ãñáììéêïý öéëôñáñßóìáôïò ãéá ôçí êëéìÜêùóç ãñáöéêþí" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Äéüñèùóç áíáëïãßáò äéáóôÜóåùí" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Äéüñèùóç áíáëïãßáò äéáóôÜóåùí ãéá ðáé÷íßäéá 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Ðñïôéìþìåíç óõóêåõÞ:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "ÓõóêåõÞ ÌïõóéêÞò:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "Êáèïñßæåé ôçí ðñïôéìþìåíç óõóêåõÞ åîüäïõ Þ÷ïõ Þ åîïìïéùôÞ êÜñôáò Þ÷ïõ" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "Êáèïñßæåé ôç óõóêåõÞ åîüäïõ Þ÷ïõ Þ åîïìïéùôÞ êÜñôáò Þ÷ïõ" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Ðñïôéì. Óõóê.:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Óõóê. Ìïõó.:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "ÅîïìïéùôÞò Adlib:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "Ç Adlib ÷ñçóéìïðïéåßôáé ãéá ìïõóéêÞ óå ðïëëÜ ðáé÷íßäéá" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "ÓõóêåõÞ GM:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Êáèïñßæåé ðñïåðéëåãìÝíç óõóêåõÞ Þ÷ïõ ãéá ôçí Ýîïäï General MIDI" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Ìç ÷ñÞóç ìïõóéêÞò General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "×ñÞóç ðñþôçò äéáèÝóéìçò óõóêåõÞò" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "Ôï SoundFont õðïóôçñßæåôáé áðü ìåñéêÝò êÜñôåò Þ÷ïõ, ôï FluidSynth êáé ôï " "Timidity" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "ÌéêôÞ ëåéôïõñãßá Adlib/MIDI" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "×ñÞóç MIDI êáé Adlib ãéá äçìéïõñãßá Þ÷ïõ" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "Áýîçóç MIDI:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "ÓõóêåõÞ MT-32:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Êáèïñßæåé ðñïåðéëåãìÝíç óõóêåõÞ Þ÷ïõ ãéá Ýîïäï Roland MT-32/LAPC1/CM32l/CM64" -#: gui/options.cpp:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "ÐñáãìáôéêÞ Roland MT-32 (áðåíåñãïðïßçóç åîïìïéùôÞ GM)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1029,16 +1029,16 @@ msgstr "" "ÅðéëÝîôå áí èÝëåôå íá ÷ñçóéìïðïéÞóåôå óõóêåõÞ Þ÷ïõ óõìâáôÞ ìå Roland, ç " "ïðïßá åßíáé óõíäåäåìÝíç óôïí õðïëïãéóôÞ óáò" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "ÐñáãìáôéêÞ Roland MT-32 (÷ùñßò åîïìïßùóç GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "ÓõóêåõÞ Roland GS (åíåñãïðïßçóç áíôéóôïé÷ßóåùí MT-32)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1046,280 +1046,280 @@ msgstr "" "ÅðéëÝîôå áí èÝëåôå íá åíåñãïðïéÞóåôå äéïñèùìÝíåò áíôéóôïé÷ßóåéò ãéá íá " "åîïìïéþóåôå ìéá MT-32 óå óõóêåõÞ Roland GS" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Ìç ÷ñÞóç ìïõóéêÞò Roland MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Êåßìåíï êáé Ïìéëßá:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Ïìéëßá" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Õðüôéôëïé" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Êáé ôá äõï" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Ôá÷ýôçôá õðïôßôëùí:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Êåßìåíï êáé Ïìéëßá:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Ïìéëßá" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Õðüô." -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Êáé ôá äõï" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "ÐñïâïëÞ õðïôßôëùí êáé áíáðáñáãùãÞ öùíÞò" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Ôá÷ýôçôá õðüô.:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "¸íôáóç ìïõóéêÞò:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "¸íôáóç ìïõóéêÞò:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Óßãáóç ¼ëùí" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "¸íôáóç åöÝ:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "¸íôáóç åéäéêþí áêïõóôéêþí åöÝ" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "¸íôáóç åöÝ:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "¸íôáóç ïìéëßáò:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "¸íôáóç ïìéëßáò:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "×åéñéóìüò" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "Ñõèìßóåéò FluidSynth" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "ÖÜêåëïò ÈÝìáôïò:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "ÖÜêåëïò ÈÝìáôïò:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "Êáèïñßæåé ôç äéáäñïìÞ ãéá ðñüóèåôá äåäïìÝíá ðïõ ÷ñçóéìïðïéïýíôáé áðü üëá ôá " "ðáé÷íßäéá Þ ôï ScummVM" -#: gui/options.cpp:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "ÄéáäñïìÞ Ðñüóèåôùí:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Äéáäñ. Ðñüóè.:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "ËïéðÜ" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "ÈÝìá:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "Áðåéêüíéóç GUI:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Áõôüìáôç áðïèÞêåõóç:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Áõôüì. áðïè.:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "ÐëÞêôñá" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Ãëþóóá GUI:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Ãëþóóá ôïõ ScummVM GUI" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "¸ëåã÷ïò áíáâáèìßóåùí:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Óõ÷íüôçôá åëÝã÷ïõ åíçìåñþóåùí ôïõ ScummVM" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "ÅëÝãîôå ôþñá" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Óýííåöï" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Óýííåöï" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "ÁðïèÞêåõóç:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "ÅíåñãÞ áðïèÞêåõóç óýííåöïõ" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<êáìßá>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "¼íïìá ÷ñÞóôç:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Ôï üíïìá ÷ñÞóôç ðïõ ÷ñçóéìïðïéåßôáé áðü áõôÞ ôçí áðïèÞêç" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "×ñçóéìïðïéçìÝíïò ÷þñïò:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "" "×þñïò ðïõ ÷ñçóéìïðïéåßôáé áðü ôá áðïèçêåõìÝíá ðáé÷íßäéá ôïõ ScummVM óå áõôÞ " "ôçí áðïèÞêç" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Ôåëåõôáßá þñá óõã÷ñïíéóìïý:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "" "Ðüôå ðñáãìáôïðïéÞèçêå ï ôåëåõôáßïò óõã÷ñïíéóìüò áðïèçêåõìÝíùí ðáé÷íéäéþí" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Óýíäåóç" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" "Áíïßîôå ôï äéÜëïãï ïäçãïý ãéá íá óõíäÝóåôå ôï ëïãáñéáóìü ôïý óýííåöïõ " "áðïèÞêåõóÞò óáò" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "ÁíáíÝùóç" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "ÁíáíÝùóç ðëçñïöïñéþí ôñÝ÷ïíôïò ÷þñïõ áðïèÞêåõóçò óôï óýííåöï (üíïìá ÷ñÞóôç " "êáé ÷ñÞóç)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Ìåôáöüñôùóç" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "¶íïéãìá äéáëüãïõ äéá÷åßñéóçò ìåôáöïñôþóåùí" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "ÅêôÝëåóç äéáêïìéóôÞ" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "ÅêôÝëåóç ôïðéêïý äéáêïìéóôÞ web" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Äåí åêôåëåßôáé" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "/root/ ÄéáäñïìÞ:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Êáèïñßæåé ôï öÜêåëï óôïí ïðïßï Ý÷åé ðñüóâáóç ï File Manager" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "/root/ ÄéáäñïìÞ:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Èýñá åîõðçñåôçôÞ:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1327,27 +1327,27 @@ msgstr "" "ÐïéÜ èýñá ÷ñçóéìïðïéåßôáé áðü ôï äéáêïìéóôÞ\n" "Äåí åßíáé äéáèÝóéìç ç ðéóôïðïßçóç ìå ôï äéáêïìéóôÞ óå ìç-ðñïåðéëåãìÝíç èýñá" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "ÅöáñìïãÞ" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Áäõíáìßá áëëáãÞò áðïèÞêåõóçò óýííåöïõ!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Ìéá Üëëç áðïèÞêåõóç óýííåöïõ åßíáé Þäç åíåñãÞ." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "Ôï èÝìá äåí õðïóôçñßæåé ôçí åðéëåãìÝíç ãëþóóá!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "Ôï èÝìá äåí öïñôþèçêå!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1355,50 +1355,50 @@ msgstr "" "\n" "Ïé ëïéðÝò ñõèìßóåéò èá åðáíáöåñèïýí óôéò áñ÷éêÝò ôïõò ôéìÝò." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 msgid "The chosen directory cannot be written to. Please select another one." msgstr "" "Äåí Þôáí äõíáôÞ ç åããñáöÞ óôïí åðéëåãìÝíï öÜêåëï. Ðáñáêáëþ åðéëÝîôå êÜðïéïí " "Üëëï." -#: gui/options.cpp:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "ÅðéëÝîôå öÜêåëï ãéá èÝìáôá GUI" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "ÅðéëÝîôå öÜêåëï ãéá Ýîôñá áñ÷åßá" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "ÅðéëÝîôå öÜêåëï ãéá ðñüóèåôá" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "ÅðéëÝîôå öÜêåëï ãéá ôï /root/ ôïõ Äéá÷åéñéóôÞ Áñ÷åßùí" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<Üìåóá>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<ðïôÝ>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "ÄéáêïðÞ åîõðçñåôçôÞ" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "ÄéáêïðÞ ôïðéêïý åîõðçñåôçôÞ web" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1477,7 +1477,7 @@ msgstr "ÈÝëåôå ðñáãìáôéêÜ íá óâÞóåôå áõôÞ ôçí åããñáöÞ;" msgid "Unknown Author" msgstr "¶ãíùóôïò ÓõããñáöÝáò" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "Ôï ScummVM äå ìðüñåóå íá ðñïóðåëÜóåé ôïí öÜêåëï!" @@ -1668,7 +1668,7 @@ msgstr "" msgid "Proceed" msgstr "Ðñï÷þñá" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "ÓâÞóéìï ôéìÞò" @@ -2423,11 +2423,11 @@ msgstr "Ëåéôïõñãßá Touchpad åíåñãïðïéçìÝíç." msgid "Touchpad mode disabled." msgstr "Ëåéôïõñãßá Touchpad áðåíåñãïðïéçìÝíç." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Ëåéôïõñãßá Click" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2435,11 +2435,11 @@ msgstr "Ëåéôïõñãßá Click" msgid "Left Click" msgstr "Áñéóôåñü Click" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Ìåóáßï Click" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2820,16 +2820,16 @@ msgstr "¸ëåã÷ïò Åíçìåñþóåùí..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "Äåí Þôáí äõíáôÞ ç åýñåóç ôïõ áñ÷åßïõ ðáé÷íéäéïý '%s'." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "Ôï áñ÷åéï ðáé÷íéäéïý '%s' åßíáé êáôåóôñáììÝíï." @@ -4491,6 +4491,19 @@ msgstr "ÅéóáãùãÞ Ýêäïóçò äéóêÝôáò" msgid "Use the floppy version's intro (CD version only)" msgstr "×ñÞóç ôçò åéóáãùãÞò áðü ôçí Ýêäïóç äéóêÝôáò (Ýêäïóç CD ìüíï)" +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"ÂñÝèçêå ëáíèáóìÝíç Ýêäïóç ôïõ '%s' áñ÷åßïõ ðáé÷íéäéïý. Áíáìåíüìåíç %d.%d " +"áëëÜ âñÝèçêå ç %d.%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "Äåí Þôáí äõíáôÞ ç åýñåóç ôïõ áñ÷åßïõ ðáé÷íéäéïý '%s'." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/es_ES.po b/po/es_ES.po index f0c34f32be..828d005bcb 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-12-01 22:51+0000\n" "Last-Translator: TomasM <truido@gmail.com>\n" "Language-Team: Spanish <https://translations.scummvm.org/projects/scummvm/" @@ -33,33 +33,33 @@ msgstr "Características incluidas:" msgid "Available engines:" msgstr "Motores disponibles:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Mostrar archivos ocultos" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Mostrar los archivos marcados como ocultos" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Arriba" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Ir al nivel de directorio anterior" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,42 +71,42 @@ msgstr "Arriba" msgid "Cancel" msgstr "Cancelar" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Aceptar" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 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:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Selecciona el directorio con los datos del juego" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Desde: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Hasta: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Cancelar descarga" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Cancelar descarga" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Ocultar" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -114,8 +114,8 @@ msgstr "" "Parece que estás usando una conexión limitada. ¿Seguro que quieres descargar " "archivos?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -127,8 +127,8 @@ msgstr "" msgid "Yes" msgstr "Sí" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -140,11 +140,11 @@ msgstr "Sí" msgid "No" msgstr "No" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "¡ScummVM no ha podido abrir el directorio!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -152,9 +152,9 @@ msgstr "" "No ha podido crearse un directorio para la descarga. El directorio contiene " "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:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -173,7 +173,7 @@ msgstr "" msgid "OK" msgstr "Aceptar" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -182,26 +182,26 @@ msgstr "" "Ya existe un directorio \"%s\" en la ruta especificada .\n" "¿Seguro que quieres descargar los archivos en ese directorio?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Descargado: %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Velocidad de descarga: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Juego" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -209,30 +209,30 @@ msgstr "" "Identificador usado para las partidas guardadas y para ejecutar el juego " "desde la línea de comando" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Nombre:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Título completo del juego" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Nom.:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Idioma:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -240,180 +240,180 @@ 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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<por defecto>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Plataforma:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Plataforma para la que se diseñó el juego" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Plat.:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Gráficos" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "Gráf." -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Ignorar opciones gráficas generales" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Opciones gráficas específicas" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Sonido" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Ignorar opciones de sonido generales" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Opciones de sonido específicas" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Volumen" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Volumen" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Ignorar opciones de volumen generales" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Opciones de volumen específicas" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Ignorar opciones de MIDI generales" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Opciones de MIDI específicas" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Ignorar opciones de MT-32 generales" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Opciones de MT-32 específicas" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Rutas" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Rutas" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Juego:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Juego:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Adicional:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Adicional:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Partidas:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Especifica dónde guardar tus partidas" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Partidas:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Ninguna" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Por defecto" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Selecciona un SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Selecciona el directorio adicional" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Selecciona el directorio para partidas guardadas" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -421,7 +421,7 @@ msgstr "" "Para que la sincronización de partidas guardadas funcione, es necesario " "utilizar el directorio predeterminado." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "Esta ID ya está en uso. Elige otra." @@ -437,103 +437,103 @@ msgstr "Notas:" msgid "Ok" msgstr "Aceptar" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Elegir el archivo para cargar" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Escribir el nombre del archivo" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "¿Seguro que quieres sobrescribir esta partida?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Reverberación" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Activa" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Sala:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Atenuación:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Anchura:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Nivel:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Coro" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Velocidad:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Profundidad:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Tipo:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Seno" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Triángulo" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Otras" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolación:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Ninguna (la más rápida)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Lineal" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Cuarto grado" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Séptimo grado" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Reiniciar" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Volver a los valores por defecto de las opciones de FluidSynth." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -805,7 +805,7 @@ msgid "every 30 mins" msgstr "cada 30 minutos" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Ninguno" @@ -830,191 +830,191 @@ msgstr "no se ha podido cambiar el ajuste a pantalla completa" msgid "the filtering setting could not be changed" msgstr "no se han podido cambiar los ajustes de filtrado" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "Mostrar controles en pantalla" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Modo Touchpad" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "Intercambiar botones Menu y Volver" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Velocidad del puntero:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "Velocidad del puntero para el control por teclado o joystick" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Velocidad del puntero:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Zona inactiva del joystick:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Zona inactiva del joystick analógico" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Zona inactiva del joystick:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "Shader:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "Hardware Shaders diferentes, otorgan efectos visuales diferentes" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "HW Shader:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Cada shader produce un efecto visual distinto" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Modo gráfico:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Renderizado:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Modos especiales de difuminado compatibles con algunos juegos" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Pantalla completa" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Filtros de gráficos" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "Usar filtrado lineal para reescalar gráficos" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Corrección de la relación de aspecto" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Corregir relación de aspecto en juegos de 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Disp. preferido:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Disp. de música:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "" "Especifica el dispositivo de sonido o emulador de tarjeta de sonido " "prefierido" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 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:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Disp. preferido:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Disp. de música:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "Emul. AdLib:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib se utiliza para reproducir la música en muchos juegos" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "Dispositivo GM:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "" "Especifique el dispositivo de salidapor defecto para la salida de General " "MIDI" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "No usar música General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Usar el primer dispositivo disponible" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Modo AdLib/MIDI" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Usar tanto MIDI como AdLib en la generación de sonido" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "Ganancia MIDI:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "Disp. MT-32:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 auténtica (desactivar emulación GM)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1022,16 +1022,16 @@ msgstr "" "Marcar si se quiere usar un dispositivo de sonido real conectado al " "ordenador y compatible con Roland" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 real (sin emulación GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Dispositivo Roland GS (activar conversión MT-32)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1039,274 +1039,274 @@ msgstr "" "Marca esta opción si quieres activar la conversión para emular una MT-32 en " "un dispositivo Roland GS" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "No usar música Roland MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Texto y voces:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Voces" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Subtítulos" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Ambos" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Vel. de subtítulos:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Texto y voces:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Voz" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Subt" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "V&S" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Reproducir voces y subtítulos" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Vel. de subt.:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Música:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Música:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Silenciar" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Efectos:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Volumen de los efectos de sonido" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Efectos:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Voces:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Voces:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "Shader" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "Controles" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "Opciones de FluidSynth" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Temas:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Temas:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Plugins:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugins:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Otras" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "Interfaz:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Autoguardado:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Autoguardado:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Teclas" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Idioma:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Idioma de la interfaz de ScummVM" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Buscar actualizaciones:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Frecuencia con la que se buscan actualizaciones" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Buscar ahora" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Nube" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Nube" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Almacenamiento:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Almacenamiento activo" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<ninguno>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Usuario:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Nombre de usuario utilizado para este almacenamiento" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Espacio utilizado:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "Espacio utilizado para las partidas guardadas en este almacenamiento" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Última sincronización:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 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:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Conectar" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 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:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Refrescar" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 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:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Descargar" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Abrir el gestor de descargas" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Habilitar servidor" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Habilitar el servidor local" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Detenido" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "Directorio /raíz/:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Especifica los directorios accesibles para el gestor de archivos" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "/raíz/:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Puerto del servidor:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1314,27 +1314,27 @@ msgstr "" "Puerto utilizado por el servidor\n" "La autentificación solo es posible con el puerto predeterminado" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Aplicar" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "¡Fallo al cambiar el almacenamiento en línea!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Ya se ha habilitado otro almacenamiento en línea." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "¡El Tema no soporta el lenguaje seleccionado!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "No se ha podido cargar el tema." -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1342,48 +1342,48 @@ msgstr "" "\n" "Se restaurará la configuración por defecto." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Selecciona el directorio de temas" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Selecciona el directorio adicional" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Selecciona el directorio de plugins" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Selecciona el directorio /raíz/ para el gestor de archivos" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<ahora>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<nunca>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Detener servidor" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Detener el servidor local" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1462,7 +1462,7 @@ msgstr "¿Seguro que quieres borrar esta grabación?" msgid "Unknown Author" msgstr "Autor desconocido" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "¡ScummVM no ha podido acceder al directorio!" @@ -1653,7 +1653,7 @@ msgstr "" msgid "Proceed" msgstr "Aplicar" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Eliminar valor" @@ -2402,11 +2402,11 @@ msgstr "Modo Touchpad activado." msgid "Touchpad mode disabled." msgstr "Modo Touchpad desactivado." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Modo clic" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2414,11 +2414,11 @@ msgstr "Modo clic" msgid "Left Click" msgstr "Clic izquierdo" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Clic central" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2798,16 +2798,16 @@ msgstr "Buscar actualizaciones..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "No se puede localizar el archivo de datos del motor '%s'." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "El archivo de datos del motor '%s' está corrupto." @@ -4485,6 +4485,19 @@ msgid "Use the floppy version's intro (CD version only)" msgstr "" "Usa la introducción de la versión en disquete (solo para la versión CD)" +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"Se ha encontrado una versión incorrecta del archivo de datos del motor '%s'. " +"Se esperaba %d.%d pero se encontró %d.%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "No se puede localizar el archivo de datos del motor '%s'." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" @@ -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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2016-12-04 13:27+0000\n" "Last-Translator: Eugene Sandulenko <sev@scummvm.org>\n" "Language-Team: Basque <https://translations.scummvm.org/projects/scummvm/" @@ -33,33 +33,33 @@ msgstr "Ezaugarri erantsiak:" msgid "Available engines:" msgstr "Motore erabilgarriak:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Erakutsi fitxategi ezkutuak" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Erakutsi ezkutu modura markaturiko fitxategiak" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Joan gora" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Igo aurreko direktorio-mailara" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,50 +71,50 @@ msgstr "Joan gora" msgid "Cancel" msgstr "Utzi" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Aukeratu" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 #, fuzzy msgid "Select directory where to download game data" msgstr "Jokoaren direktorioa aukeratu" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Jokoaren direktorioa aukeratu" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "" -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "" -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" msgstr "" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -126,8 +126,8 @@ msgstr "" msgid "Yes" msgstr "Bai" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -139,19 +139,19 @@ msgstr "Bai" msgid "No" msgstr "Ez" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM-k ezin izan du zehazturiko direktorioa ireki!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." msgstr "" -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -170,33 +170,33 @@ msgstr "" msgid "OK" msgstr "Ados" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" "Do you really want to download files into that directory?" msgstr "" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, fuzzy, c-format msgid "Download speed: %s %s" msgstr "Bilaketa amaitua!" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Jokoa" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -204,216 +204,216 @@ msgstr "" "Partida gordeak identifikatzeko eta jokoa komando lerrotik abiarazteko " "erabiltzen den identifikatzailea" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Izena:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Jokoaren izen osoa" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Izena:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Hizkuntza:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" msgstr "" "Jokoaren hizkuntza. Honek ez du zure ingelesezko bertsioa frantsesera pasako" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<lehenetsia>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Plataforma:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Jatorriz, jokoa diseinatua izan zen plataforma" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Plataforma:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Motorea" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Grafikoak" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Ezarpen grafiko globalak baliogabetu" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Ezarpen grafiko globalak baliogabetu" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Soinua" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Soinu ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Soinu ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Bolumena" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Bolumena" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Bolumen ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Bolumen ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "MIDI ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "MIDI ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "MT-32 ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "MT-32 ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Bide-izenak" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Bideak" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Jokoa:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Jokoa:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Gehigarriak:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Gehigarria:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Partida gordeak:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Zure gordetako partidak non gordeko diren zehazten du" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Partida gordeak:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Bat ere ez" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Lehenetsia" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "SoundFont-a aukeratu" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Direktorio gehigarria aukeratu" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Partida gordeen direktorioa aukeratu" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 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:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "ID hau jada erabilia izaten ari da. Mesedez, aukeratu beste bat." @@ -429,103 +429,103 @@ msgstr "Oharrak:" msgid "Ok" msgstr "Ados" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Aukeratu kargatzeko fitxategia" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Sartu gordetzeko fitxategi-izena" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Gainidatzi fitxategia?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Erreberberazioa" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Aktiboa" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Gela:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Moteltzea:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Zabalera:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Maila:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Koroa" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Abiadura:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Sakonera:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Mota:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sinua" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Triangelua" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Beste" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolazioa:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Bat ere ez (azkarrena)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Lineala" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Laugarren ordena" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Zazpigarren ordena" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Berrezarri" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Berrazarri FluidSynth-en ezarpen guztiak bere balio lehenetsietara." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "FluidSynth-en ezarpen guztiak berrezarri balio lehenetsietara?" @@ -794,7 +794,7 @@ msgid "every 30 mins" msgstr "30 minuturo" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Bat ere ez" @@ -820,190 +820,190 @@ msgstr "ezin izan da pantaila-osoaren ezarpena aldatu" msgid "the filtering setting could not be changed" msgstr "ezin izan da pantaila-osoaren ezarpena aldatu" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "" -#: gui/options.cpp:932 +#: gui/options.cpp:934 #, fuzzy msgid "Touchpad mouse mode" msgstr "Touchpad modua desgaituta." -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "" -#: gui/options.cpp:941 +#: gui/options.cpp:943 #, fuzzy msgid "Pointer Speed:" msgstr "Abiadura:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "" -#: gui/options.cpp:943 +#: gui/options.cpp:945 #, fuzzy msgctxt "lowres" msgid "Pointer Speed:" msgstr "Abiadura:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Modu grafikoa:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Renderizazioa:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Joko batzuk onarturiko lausotze-modu bereziak" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Pantaila osoa" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 #, fuzzy msgid "Filter graphics" msgstr "Grafikoak" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Formatu-ratioaren zuzenketa" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "320x200 jokoentzako formatu-ratioa zuzendu" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Gogoko gailua:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Musika gailua:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "Gogoko soinu txartel edo emuladorea zein den ezartzen du" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "Irteerako soinu txartel edo emuladorea ezartzen du" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Gail. gogokoa:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Musika gailua:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "AdLib emuladorea:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib musikarako hainbat jokotan erabiltzen da" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "GM gailua:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Defektuzko soinu txartela ezartzen du General MIDI irteerarako" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Ez erabili General MIDI musika" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Erabilgarri dagoen lehen gailua erabili" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "AdLib/MIDI modua" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Soinua sortzerakoan MIDI eta AdLib erabili" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "MIDI irabazia:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "MT-32 gailua:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Benetako Roland MT-32 (GM emulazio gabe)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1011,16 +1011,16 @@ msgstr "" "Markatu ordenagailura konektaturiko Roland-ekin bateragarria den soinu-" "gailua erabiltzeko" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Benetako Roland MT-32 (GM emulazio gabe)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS Gailua (gaitu MT-32 bihurketak)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1028,358 +1028,358 @@ msgstr "" "Markatu Roland GS gailu batean MT-32 bat emulatzea ahalbidetzen " "dutenbihurketak gaitzeko" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Ez erabili Roland MT-32 musika" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Testu eta ahotsa:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Ahotsa" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Azpitituluak" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Biak" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Azpitit. abiadura:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Testu eta ahotsa:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Ahots." -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Azp." -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Biak" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Ahotsak erreproduzitu eta azpitituluak erakutsi" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Azpit. abiadura:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Musika:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Musika:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Mututu dena" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Efektuak:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Soinu efektu berezien bolumena" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Efektuak:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Ahotsak:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Ahotsak:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 #, fuzzy msgid "Control" msgstr "Saguaren kontrola" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "FluidSynth Ezarpenak" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Gaiak:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Gaiak:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Pluginak:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Pluginak:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Beste" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Gaia:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "Interfazea:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Autogordetzea:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Autogordetzea:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Teklak" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Hizkuntza:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "ScummVM interfazearen hizkuntza" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Erabiltzaile-izena:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 #, fuzzy msgid "Download" msgstr "Behera" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 #, fuzzy msgid "Not running" msgstr "Jokoa exekutatzean errorea:" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 #, fuzzy msgid "/root/ Path:" msgstr "Gehigarriak:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Zure gordetako partidak non gordeko diren zehazten du" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Gehigarriak:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 #, fuzzy msgid "Server's port:" msgstr "Zerbitzaria:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Ezin izan da jokoa gorde" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 #, fuzzy msgid "Theme does not support selected language!" msgstr "Motore-pluginak ez ditu gordetako partidak onartzen" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 #, fuzzy msgid "Theme cannot be loaded!" msgstr "Jokoa EZ da kargatu" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." msgstr "" -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Gaien direktorioa aukeratu" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Fitxategi gehigarrien direktorioa aukeratu" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Pluginen direktorioa aukeratu" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Fitxategi gehigarrien direktorioa aukeratu" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 #, fuzzy msgid "<never>" msgstr "Inoiz ez" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 #, fuzzy msgid "Stop server" msgstr "Zerbitzaria:" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1456,7 +1456,7 @@ msgstr "Ezabatu grabazio hau?" msgid "Unknown Author" msgstr "Egile ezezaguna" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 #, fuzzy msgid "ScummVM could not access the directory!" msgstr "ScummVM-k ezin izan du zehazturiko direktorioa ireki!" @@ -1643,7 +1643,7 @@ msgstr "" msgid "Proceed" msgstr "" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Balioa kendu" @@ -2390,11 +2390,11 @@ msgstr "Touchpad modua gaituta." msgid "Touchpad mode disabled." msgstr "Touchpad modua desgaituta." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Klikatzeko modua" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2402,11 +2402,11 @@ msgstr "Klikatzeko modua" msgid "Left Click" msgstr "Ezker-klika" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Erdiko klika" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2786,16 +2786,16 @@ msgstr "Eguneraketak bilatzen..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "" #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "" @@ -4442,6 +4442,17 @@ msgstr "Floppy introa" msgid "Use the floppy version's intro (CD version only)" msgstr "Erabili floppy bertsioko sarrera (CD bertsioa soilik)" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "" + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/fi_FI.po b/po/fi_FI.po index 06f29269b8..4484a1b9de 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.6.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2017-12-26 21:11+0100\n" -"PO-Revision-Date: 2017-11-10 17:07+0000\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" +"PO-Revision-Date: 2018-01-24 16:16+0000\n" "Last-Translator: Timo Mikkolainen <tmikkola@gmail.com>\n" "Language-Team: Finnish <https://translations.scummvm.org/projects/scummvm/" "scummvm/fi/>\n" @@ -33,33 +33,33 @@ msgstr "Tähän versioon käännetyt ominaisuudet:" msgid "Available engines:" msgstr "Tuetut pelimoottorit:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Näytä piilotetut tiedostot" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Näytä piilotetuksi merkatut tiedostot" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Siirry ylös" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Palaa edelliselle hakemistotasolle" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,50 +71,50 @@ msgstr "Siirry ylös" msgid "Cancel" msgstr "Peruuta" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Valitse" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "Valitse hakemisto pelilataukselle" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Valitse pelin hakemisto" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Lähde: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Kohde: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Peruuta lataus" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Peruuta lataus" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Piilota" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" msgstr "" "Yhteytesi vaikuttaa rajatulta. Haluatko varmasti ladata tiedostoja sillä?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -126,8 +126,8 @@ msgstr "" msgid "Yes" msgstr "Kyllä" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -139,11 +139,11 @@ msgstr "Kyllä" msgid "No" msgstr "Ei" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM ei voi avata kyseistä hakemistoa!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -151,9 +151,9 @@ msgstr "" "Kansion luonti latausta varten epäonnistui - valitussa kansiossa on jo " "tiedosto samalla nimellä." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -172,7 +172,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -181,26 +181,26 @@ msgstr "" "\"%s\" on jo olemassa valitussa hakemistossa. Haluatko varmasti ladata " "tiedostoja tähän hakemistoon?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Ladattu %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Latausnopeus: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Peli" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "Tunniste:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -208,30 +208,30 @@ msgstr "" "Lyhyt pelitunniste, jota käytetään kun viitataan pelitallennuksiin ja kun " "peli käynnistetään komentoriviltä" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "Tunniste:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Nimi:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Pelin koko nimi" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Nimi:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Kieli:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -239,180 +239,180 @@ msgstr "" "Pelin kieli. Tämä ei muuta esimerkiksi espanjankielistä versiota pelistä " "englanninkieliseksi" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<oletus>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Alusta:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Alusta jolle peli alunperin suunniteltiin" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Alusta:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Pelimoottori" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Grafiikka" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Ohita globaalit grafiikka-asetukset" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Ohita globaalit grafiikka-asetukset" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Ääni" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Ohita globaalit ääniasetukset" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Ohita globaalit ääniasetukset" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Voimakkuus" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Voimakkuus" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Ohita globaalit äänenvoimakkuusasetukset" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Ohita globaalit äänenvoimakkuusasetukset" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Ohita globaalit MIDI-asetukset" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Ohita globaalit MIDI-asetukset" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Ohita globaalit MT-32 asetukset" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Ohita globaalit MT-32 asetukset" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Polut" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Polut" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Pelin polku:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Pelin polku:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Lisäkansio:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Lisäkansio:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Tallennuskansio:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Määrittää polun pelitallennuksille" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Tallennuskansio:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Ei määritelty" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Oletus" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Valitse SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Valitse lisähakemisto pelille" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Valitse hakemisto pelitallennuksille" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -420,7 +420,7 @@ msgstr "" "Pelitallennusten synkronointiominaisuus toimii ainoastaa vakiohakemistoilla. " "Jos haluat synkronoida pelitallennuksesi, käytä vakiohakemistoa." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "Pelin tunnus on jo käytössä. Valitse jokin muu." @@ -436,103 +436,103 @@ msgstr "Merkinnät:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Valitse ladattava tiedosto" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Syötä tiedoston nimi tallennukselle" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Haluatko varmasti ylikirjoitaa tiedoston?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Kaiku" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Aktiivinen" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Huone:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Vaimennus:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Leveys:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Taso:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Korus" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Nopeus:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Syvyys:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Tyyppi:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sini" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Kolmio" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Muut" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolaatio:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Ei päällä (nopein)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Lineaarinen" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Neljännen asteen" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Seitsemännen asteen" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Tyhjää valinnat" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Palauta FluidSynth vakioasetukset." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "Haluatko varmasti palauttaa FluidSynth vakioasetukset?" @@ -801,7 +801,7 @@ msgid "every 30 mins" msgstr "30 minuutin välein" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Ei käytössä" @@ -826,185 +826,185 @@ msgstr "kokoruututilaa ei voitu muuttaa" msgid "the filtering setting could not be changed" msgstr "Suodatusasetusta ei voitu muuttaa" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "Virtuaalikontrollit" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Touchpad hiiritila" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "Vaihda Menu ja Takaisin nappien paikkaa" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Osoittimen Nopeus:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "Näppäimistö/joystick hiiriosoittimen nopeus" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Osoittimen Nopeus:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Joystickin Kuollut Alue:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Analogisen joystickin kuollut alue" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Joystickin Kuollut Alue:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "Laitteistosävytin:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "Laitteistosävyttimet tuottavat erilaisia visuaalisia efektejä" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "Laitteistosävytin:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Laitteistosävyttimet tuottavat erilaisia visuaalisia efektejä" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Grafiikkatila:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Renderöintitila:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Erityiset dithering asetukset joita jotkut pelit tukevat" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Kokoruututila" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Suodata grafiikka" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "Käytä bilineaarista suodatinta grafiikan skaalauksessa" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Kuvasuhteen korjaus" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Korjaa kuvasuhde 320x200 peleille" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Ensisijainen laite:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Musiikkilaite:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "" "Määrittää äänilaitteen tai äänikorttiemulaattorin jota ensisijaisesti tulisi " "käyttää" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "Määrittää äänikortin tai äänikorttia emuloivan ohjelmiston" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Ensisijainen:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Musiikkilaite:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "AdLib emulaattori:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLibiä käytetään monien pelien musiikeissa" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "GM laite:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Määrittää oletuksena käytettävän äänilaitteen General MIDIlle" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Älä käytä General MIDIä musiikissa" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Käytä ensimmäistä laitetta" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "Jotkut äänikortit tukevat äänifonttia (SoundFont), FluidSynth ja Timidity" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Yhdistetty AdLib/MIDI tila" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Käytä sekä MIDIä että Adlibiä äänentuotantoon" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "MIDIn äänilisäys:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "MT-32 laite:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Aito Roland MT-32 (ei GM emulointia)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1012,16 +1012,16 @@ msgstr "" "Valitse jos haluat käyttää aitoa Roland-yhteensopivaa laittetta joka on " "kytketty tietokoneeseesi" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Aito Roland MT-32 (ei GM emulointia)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS Laite (aktivoi MT-32 mappaukset)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1029,273 +1029,273 @@ msgstr "" "Valitse jos haluat käyttää patch mappingia MT-32:n emulointiin Roland GS " "laitteella" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Älä käytä Roland MT-32 musiikkia" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Tekstitys ja puhe:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Puhe" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Tekstitys" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Molemmat" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Tekstityksen nopeus:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Tekstitys ja puhe:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Puhe" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Tekstit" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Molemmat" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Näytä tekstitys ja käytä puhetta" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Tekstityksen nopeus:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Musiikki:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Musiikki:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Vaimenna" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Ääniefektit:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Erikoisefektit" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Ääniefektit:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Puhe:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Puhe:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "Sävytin" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "Kontrollit" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "FluidSynth asetukset" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Teemojen polku:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Teemojen polku:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Pluginien sijainti:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Pluginien sijainti:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Muut" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Teema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "GUI renderöijä:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Autom. tallennus:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Autom. tallennus:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Näppäimet" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "ScummVM:n kieli:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "ScummVM käyttöliittymän kieli" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Päivitystarkistus:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Kuinka usein tarkistetaan onko ScummVM:ään päivityksiä" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Tarkista nyt" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Pilvi" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Pilvi" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Tallennustila:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Aktiivinen pilvitallennus" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<tyhjä>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Käyttäjänimi:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Tallennustilan käyttäjänimi" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Käytetty tila:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "ScummVM:n pelitallennusten käyttämä tila tallennustilassa" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Viimeisin synkronointi:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "Milloin pelitallennukset viimeksi synkronoitiin tähän tallennustilaan" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Yhdistä" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "Avaa velhodialogi pilvitilan tiliin kirjautumiseen" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Päivitä" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "Päivitä tämänhetkiset pilvitilan tiedot (käyttäjänimi ja käyttöaste)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Lataa" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Avaa lataustenhallintadialogi" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Käynnistä palvelin" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Käynnistä paikallinen webpalvelin" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Ei käynnissä" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "/root/-polku:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Määrittää hakemiston johon tiedostonhallinnalla on pääsy" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "/root/-polku:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Palvelimen portti:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1303,27 +1303,27 @@ msgstr "" "Palvelimen käyttämä portti\n" "Autentikaatio palvelimella on mahdollista vain vakioportilla" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Käytä" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Pilvitallennustilan vaihtaminen epäonnistui!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Toinen pilvitila on jo aktiivinen." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "Teema ei tue valittua kieltä!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "Teemaa ei pystytä lataamaan!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1331,48 +1331,48 @@ msgstr "" "\n" "Muut asetukset palautetaan." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Valittuun hakemistoon ei voi kirjoittaa. Valitse toinen hakemisto." -#: gui/options.cpp:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Valitse hakemisto käyttöliittymän teemoille" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Valitse hakemisto lisätiedostoille" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Valitse hakemisto plugineille" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Valitse /root/ hakemisto tiedostonhallinnalle" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu tavua" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<nyt>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<ei koskaan>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Pysäytä palvelin" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Pysäytä paikallinen webpalvelin" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1451,7 +1451,7 @@ msgstr "Haluatko varmasti poistaa tämän pelinauhoituksen?" msgid "Unknown Author" msgstr "Tuntematon tekijä" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM ei voi avata kyseistä hakemistoa!" @@ -1642,7 +1642,7 @@ msgstr "" msgid "Proceed" msgstr "Jatka" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Tyhjennä arvo" @@ -2390,11 +2390,11 @@ msgstr "Touchpad tila päällä." msgid "Touchpad mode disabled." msgstr "Touchpad tila pois päältä." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Klikkaus moodi" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2402,11 +2402,11 @@ msgstr "Klikkaus moodi" msgid "Left Click" msgstr "Vasen klikkaus" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Keskiklikkaus" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2787,16 +2787,16 @@ msgstr "Tarkista päivitykset..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "\"%s\" pelimoottorin datatiedostoa ei löydetty." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "\"%s\" pelimoottorin datatiedosto on korruptoitunut." @@ -4459,6 +4459,19 @@ msgstr "Levykeversion intro" msgid "Use the floppy version's intro (CD version only)" msgstr "Käytä levykeversion introa (vain CD versiossa)" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"Pelimoottorin \"%s\" datatiedostosta löytyi väärä versio. Odotettu versio " +"%d, löytynyt versio %d." + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "Kielen %s tekstejä ei löydetty tiedostosta '%s'." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/fr_FR.po b/po/fr_FR.po index 6cda422451..ae691dd584 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-11-12 22:44+0000\n" "Last-Translator: Thierry Crozat <criezy@scummvm.org>\n" "Language-Team: French <https://translations.scummvm.org/projects/scummvm/" @@ -33,33 +33,33 @@ msgstr "Options incluses :" msgid "Available engines:" msgstr "Moteurs disponibles :" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Afficher les fichiers cachés" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Montre les fichiers cachés" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Remonter" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Remonte d'un niveau dans la hiérarchie de répertoire" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,42 +71,42 @@ msgstr "Remonter" msgid "Cancel" msgstr "Annuler" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Choisir" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 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:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Sélectionner le répertoire contenant les données du jeu" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Depuis : " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Vers : " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Annuler téléch." -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Annuler téléch." -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Masquer" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -114,8 +114,8 @@ msgstr "" "Votre connexion semble limitée. Voulez-vous vraiment télécharger des " "fichiers ?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -127,8 +127,8 @@ msgstr "" msgid "Yes" msgstr "Oui" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -140,11 +140,11 @@ msgstr "Oui" msgid "No" msgstr "Non" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM n'a pas pu ouvrir le répertoire sélectionné !" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -152,9 +152,9 @@ msgstr "" "Impossible de créer un répertoire de téléchargement - un fichier portant le " "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:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -173,7 +173,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -182,26 +182,26 @@ msgstr "" "Le répertoire \"%s\" existe déjà localement.\n" "Êtes-vous sûr de vouloir télécharger dans ce répertoire ?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Téléchargé %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Vitesse de téléchargement : %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Jeu" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID :" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -209,30 +209,30 @@ msgstr "" "ID compact du jeu utilisée pour identifier les sauvegardes et démarrer le " "jeu depuis la ligne de commande" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID :" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Nom :" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Nom complet du jeu" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Nom :" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Langue :" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -240,181 +240,181 @@ 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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<défaut>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Système :" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Plateforme pour laquelle votre jeu a été conçu" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Système :" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Moteur" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Graphique" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Utiliser des réglages graphiques spécifiques à ce jeu" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Réglages spécifiques à ce jeu" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Audio" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Utiliser des réglages audio spécifiques à ce jeu" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Réglages spécifiques à ce jeu" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Utiliser des réglages de volume sonore spécifiques à ce jeu" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Réglages spécifiques à ce jeu" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Utiliser des réglages MIDI spécifiques à ce jeu" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Réglages spécifiques à ce jeu" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Utiliser des réglages MT-32 spécifiques à ce jeu" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Réglages spécifiques à ce jeu" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Chemins" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Chemins" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Chemin du Jeu :" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Chemin du Jeu :" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Extra :" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 msgid "Specifies path to additional data used by the game" msgstr "" "Définie un chemin vers des données supplémentaires utilisées par le jeu" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Extra :" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Sauvegardes :" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Définit l'emplacement où les fichiers de sauvegarde sont créés" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Sauvegardes :" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Aucun" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Défaut" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Choisir une banque de sons" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Sélectionner un répertoire supplémentaire" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Sélectionner le répertoire pour les sauvegardes" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 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 +423,7 @@ msgstr "" "les répertoires par défaut. Si vous souhaitez synchroniser vos sauvegardes, " "utilisez le répertoire par défaut." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 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." @@ -439,103 +439,103 @@ msgstr "Notes :" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Choisir le fichier à charger" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Choisir le nom de fichier pour la sauvegarde" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Voulez-vous vraiment remplacer ce fichier ?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Réverb" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Actif" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Pièce :" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Atténuation :" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Largeur :" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Niveau :" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Chorus" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N :" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Vitesse :" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Profondeur :" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Type :" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sinus" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Triangle" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Divers" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolation :" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Aucune (plus rapide)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Linéaire" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Quatrième degré" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Septième degré" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Réinitialiser" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Remet tous les réglages FluidSynth à leurs valeurs par défaut." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -807,7 +807,7 @@ msgid "every 30 mins" msgstr "Toutes les 30 mins" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Aucune" @@ -832,191 +832,191 @@ msgstr "le mode plein écran n'a pu être changé" msgid "the filtering setting could not be changed" msgstr "le mode de filtrage n'a pu être changé" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "Afficher les contrôles sur l'écran" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Souris en mode Touchpad" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "Inverser les boutons Menu et Retour" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Vitesse du pointeur :" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "" "Vitesse du pointeur de souris pour les contrôles par clavier ou joystick" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Vitesse du pointeur :" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Zone inactive du joystick :" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Zone inactive du joystick analogique" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Zone inactive du joystick :" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "Shader :" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "Les divers shaders matériels créent des effets visuels différents" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "Shader :" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Divers shaders créent des effets visuels différents" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Mode graphique :" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Mode de rendu :" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Mode spécial de tramage supporté par certains jeux" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Plein écran" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Filtrer les graphiques" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "" "Utiliser une interpolation bi-linéaire lors du changement d'échelle des " "graphiques" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Correction du rapport d'aspect" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Corrige le rapport d'aspect pour les jeux en 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Sortie Préférée :" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Sortie Audio :" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 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:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 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:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Sortie Préférée :" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Sortie Audio :" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "Émulateur AdLib :" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib est utilisé pour la musique dans de nombreux jeux" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "Sortie GM :" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 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:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Ne pas utiliser la musique General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Utiliser le premier périphérique disponible" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "Banque de sons :" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont :" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Mode mixte AdLib/MIDI" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Utiliser à la fois MIDI et AdLib" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "Gain MIDI :" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "Sortie MT-32 :" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 exacte (désactive l'émulation GM)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1024,16 +1024,16 @@ msgstr "" "Vérifie si vous voulez utiliser un périphérique audio compatible Roland " "connecté à l'ordinateur" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 exacte (pas d'ému GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS (active le mappage MT-32)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1041,275 +1041,275 @@ 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:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Ne pas utiliser la musique Roland MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Dialogue :" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Voix" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Sous-titres" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Les deux" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Vitesse des ST :" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Dialogue :" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Voix" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Subs" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "V&S" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Affiche les sous-titres et joue les dialogues audio" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Vitesse des ST :" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Volume Musique :" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Musique :" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Silence" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Volume Bruitage :" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Volume des effets spéciaux sonores" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Bruitage :" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Volume Dialogues :" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Dialogues :" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "Shader" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "Contrôles" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "Paramètres FluidSynth" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Thèmes :" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Thèmes :" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Plugins :" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugins :" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Divers" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Thème :" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "Interface :" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Sauvegarde auto :" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Sauvegarde :" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Touches" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Langue :" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Langue de l'interface graphique de ScummVM" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Vérif. mises à jour :" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Fréquence des vérifications" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Maintenant" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Nuage" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Nuage" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Stockage :" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Service de stockage actif" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<aucun>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nom d'utilisateur :" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Nom d'utilisateur pour ce service" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Espace utilisé :" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 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:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Synchronisé :" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "Quand la dernière synchronisation des sauvegardes a eu lieu" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Se connecter" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 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:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Rafraîchir" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 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:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Télécharger" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Ouvrir le gestionnaire de téléchargement" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Démarrer serveur" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Démarre le serveur web local" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Arrêté" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "Chemin /racine/ :" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Indique le répertoire auquel le gestionnaire de fichier peut accéder" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "/racine/ :" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Port :" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1317,27 +1317,27 @@ msgstr "" "Port utilisé par le serveur\n" "Authentification avec le serveur n'est disponible qu'avec le port par défaut" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Appliquer" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Echec du changement de service de stockage !" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Un autre service de stockage est déjà actif." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "Cette langue ne peut pas être utilisée avec le thème actuel !" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "Erreur au chargement du thème !" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1345,50 +1345,50 @@ msgstr "" "\n" "Les réglages Divers vont être restaurés à leurs valeurs précédentes." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 msgid "The chosen directory cannot be written to. Please select another one." msgstr "" "Le répertoire sélectionné est verrouillé en écriture. Sélectionnez un autre " "répertoire." -#: gui/options.cpp:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Sélectionner le répertoire des thèmes d'interface" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Sélectionner le répertoire pour les fichiers supplémentaires" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Sélectionner le répertoire des plugins" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Indique le répertoire pour la /racine/ du Gestionnaire de Fichiers" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu octets" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<maintenant>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<jamais>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Arrêter serveur" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Arrêter le serveur" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1467,7 +1467,7 @@ msgstr "Voulez-vous vraiment supprimer cet enregistrement ?" msgid "Unknown Author" msgstr "Auteur inconnu" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM n'a pas pu accéder au répertoire !" @@ -1659,7 +1659,7 @@ msgstr "" msgid "Proceed" msgstr "Appliquer" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Effacer la valeur" @@ -2409,11 +2409,11 @@ msgstr "Mode touchpad activé." msgid "Touchpad mode disabled." msgstr "Mode touchpad désactivé." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Mode Clic" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2421,11 +2421,11 @@ msgstr "Mode Clic" msgid "Left Click" msgstr "Clic Gauche" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Clic Milieu" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2806,16 +2806,16 @@ msgstr "Recherche des mises à jour..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "Le fichier de données '%s' n'a pu être trouvé." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "Le fichier de données '%s' est corrompu." @@ -4510,6 +4510,19 @@ msgstr "Intro disquette" msgid "Use the floppy version's intro (CD version only)" msgstr "Utiliser l'intro de la version disquette (version CD uniquement)" +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"La bonne version du fichier de données '%s' n'a pu être trouvée. Version " +"attendue : %d.%d ; version trouvée : %d.%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "Le fichier de données '%s' n'a pu être trouvé." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/gl_ES.po b/po/gl_ES.po index 8eb9e70ce3..df977d434d 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-11-23 12:42+0000\n" "Last-Translator: Santiago G. Sanz <santiagogarciasanz@gmail.com>\n" "Language-Team: Galician <https://translations.scummvm.org/projects/scummvm/" @@ -33,33 +33,33 @@ msgstr "Funcionalidades compiladas:" msgid "Available engines:" msgstr "Motores dispoñibles:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Mostrar ficheiros ocultos" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Mostra os ficheiros marcados co atributo Oculto." -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Arriba" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Ir ao directorio superior" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,42 +71,42 @@ msgstr "Arriba" msgid "Cancel" msgstr "Cancelar" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Elixir" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 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:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Selecciona un directorio con datos de xogo" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "De: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Para: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Cancelar descarga" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Cancelar descarga" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Ocultar" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -114,8 +114,8 @@ msgstr "" "Parece que a conexión é limitada. Seguro que queres descargar ficheiros con " "ela?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -127,8 +127,8 @@ msgstr "" msgid "Yes" msgstr "Si" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -140,11 +140,11 @@ msgstr "Si" msgid "No" msgstr "Non" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM non foi quen de abrir o directorio!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -152,9 +152,9 @@ msgstr "" "Non se pode crear un directorio para descargar. O directorio especificado " "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:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -173,7 +173,7 @@ msgstr "" msgid "OK" msgstr "Aceptar" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -182,26 +182,26 @@ msgstr "" "\"%s\" xa existe no directorio especificado.\n" "Seguro que queres descargar os ficheiros a ese directorio?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Descargado: %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Velocidade de descarga: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Xogo" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -209,209 +209,209 @@ msgstr "" "Identificador curto do xogo para os ficheiros de gardado e a execución do " "xogo dende a liña de comandos" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Nome:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Título completo do xogo" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Nome:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Idioma:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<por defecto>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Plataforma:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Plataforma para a que se desenvolvera o xogo inicialmente" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Plataforma:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Gráficos" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "Efectos gráficos" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Anular a configuración dos gráficos" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Anular a configuración dos gráficos" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Son" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Anular a configuración do son" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Anular a configuración do son" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Anular a configuración do volume" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Anular a configuración do volume" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Anular a configuración de MIDI" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Anular a configuración de MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Anular a configuración de MT-32" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Anular a configuración de MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Camiños" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Camiños" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Camiño do xogo:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Camiño do xogo:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Camiño adicional:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Camiño adicional:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Camiño de gardado:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Especifica o lugar dos ficheiros de gardado" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Camiño de gardado:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Ningún" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Predefinido" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Seleccionar SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Selecciona un directorio con datos adicionais" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Selecciona un directorio para ficheiros de gardado" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -420,7 +420,7 @@ msgstr "" "directorios non predeterminados. Para sincronizar as partidas gardadas, " "emprega o directorio predeterminado." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "Este ID de xogo xa está en uso. Selecciona outro." @@ -436,104 +436,104 @@ msgstr "Notas:" msgid "Ok" msgstr "Aceptar" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Escoller ficheiro para cargar" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Introducir nome de ficheiro para gardar" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Seguro que queres sobreescribir o ficheiro?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Reverberación" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Activa" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Sala:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Humidade:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Largo:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Nivel:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Refrán" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Velocidade:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Profundidade:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Tipo:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Seno" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Triángulo" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Misc." -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolación:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Ningunha (máis rápido)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Lineal" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Cuarta orde" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Séptima orde" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Restablecer" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "" "Restablece a configuración de FluidSynth aos seus valores predefinidos." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -800,7 +800,7 @@ msgid "every 30 mins" msgstr "cada 30 min" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Ningunha" @@ -825,203 +825,203 @@ msgstr "non se puido cambiar a configuración de pantalla completa." msgid "the filtering setting could not be changed" msgstr "non se puido cambiar a configuración de filtrado." -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "Mostrar controis na pantalla" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Modo Panel táctil" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "Cambiar botóns Menú e Atrás" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Velocidade do punteiro:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "Velocidade do control do punteiro." -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Velocidade do punteiro:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Zona morta da panca:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Zona morta da panca de xogos" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Zona morta da panca:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "Sombreador HW:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" "Os distintos sombreadores por hardware teñen efectos visuais diferentes." -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "Sombreador HW:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Os distintos sombreadores teñen efectos diferentes." -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Gráficos:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Procesamento:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Modos de interpolación de cores compatibles con algúns xogos" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Pantalla completa" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Filtrar gráficos" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "Empregar filtrado linear ao escalar gráficos" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Corrección de proporción" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Corrixir a proporción para os xogos en 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Dispositivo preferido:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Dispositivo de música:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "Especifica o dispositivo ou emulador de tarxeta de son preferido" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 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:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Disp. preferido:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Disp. música:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "Emulador de AdLib:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "Moitos xogos empregan AdLib para a música" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "Dispositivo de GM:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 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:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Non empregar música en General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Empregar o primeiro dispositivo dispoñible" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Modo AdLib/MIDI mixto" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Empregar xeración de son MIDI e máis AdLib" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "Ganancia de MIDI:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "Dispositivo de MT-32:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 verdadeiro (sen emulación de GM)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 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:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 (sen emulación de GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Dispositivo Roland GS (activar atribución MT-32)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1029,278 +1029,278 @@ msgstr "" "Marcar para activar a atribución de parches e emular MT-32 nun dispositivo " "Roland GS" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Non empregar música en Roland MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Texto e voz:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Voz" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Subtítulos" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Ambos" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Velocidade dos subtítulos:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Texto e voz:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Voz" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Subs" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Ambos" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Mostrar os subtítulos e reproducir as voces" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Velocidade subs:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Volume de música:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Volume música:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Silenciar todo" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Volume de efectos:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Volume dos efectos de son" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Volume efectos:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Volume de voz:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Volume voz:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "Sombreador" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "Control" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "Configuración de FluidSynth" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Camiño do tema:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Camiño tema:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Camiño dos complementos:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Camiño complementos:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Misc." -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "Procesamento da interfaz:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Autogardado:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Autogardado:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Teclas" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Idioma de interfaz:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Idioma da interfaz de ScummVM" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Comprobación de actualizacións:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Frecuencia de comprobación das actualizacións de ScummVM" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Comprobar agora" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Nube" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Nube" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Almacenamento:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Almacenamento na nube activo" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<ningún>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nome de usuario:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Nome de usuario empregado por este almacenamento" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Espazo empregado:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "" "Espazo empregado polas partidas gardadas de ScummVM neste almacenamento." -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Última sincronización:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 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:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Conectar" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 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:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Actualizar" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 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:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Descargar" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Abre o diálogo do xestor de descargas." -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Executar servidor" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Executar servidor web local" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Non se está a executar" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "Camiño de /root/:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Especifica o directorio de acceso do xestor de ficheiros." -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "Camiño de /root/:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Porto do servidor:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1308,27 +1308,27 @@ msgstr "" "O porto empregado polo servidor.\n" "Autenticación non dispoñible con portos non predeterminados." -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Aplicar" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Erro ao cambiar o almacenamento na nube!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Xa está activo outro almacenamento na nube." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "O tema non é compatible co idioma seleccionado!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "Non se puido cargar o tema!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1336,48 +1336,48 @@ msgstr "" "\n" "A configuración de Misc. será restaurada." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Non é posible escribir no directorio elixido. Selecciona outro." -#: gui/options.cpp:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Seleccionar directorio para temas de interfaz" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Seleccionar directorio para ficheiros adicionais" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Seleccionar directorio para complementos" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Seleccionar directorio para /root/ de xestor de ficheiros" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<agora mesmo>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<nunca>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Deter servidor" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Deter servidor web local" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1456,7 +1456,7 @@ msgstr "Seguro que queres eliminar esta gravación?" msgid "Unknown Author" msgstr "Autor descoñecido" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM non foi quen de acceder ao directorio!" @@ -1647,7 +1647,7 @@ msgstr "" msgid "Proceed" msgstr "Continuar" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Limpar valor" @@ -2395,11 +2395,11 @@ msgstr "Modo Panel táctil activado." msgid "Touchpad mode disabled." msgstr "Modo Panel táctil desactivado." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Modo Rato" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2407,11 +2407,11 @@ msgstr "Modo Rato" msgid "Left Click" msgstr "Botón primario" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Botón central" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2790,16 +2790,16 @@ msgstr "Buscar actualizacións..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "Non se puido localizar o ficheiro de datos do motor %s." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "O ficheiro de datos do motor %s está danado." @@ -4475,6 +4475,19 @@ msgstr "Intro de disquete" msgid "Use the floppy version's intro (CD version only)" msgstr "Emprega a introdución da versión en disquete (só versión en CD)." +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"Atopouse unha versión incorrecta do ficheiro de datos do motor %s. Ficheiro " +"esperado: %d.%d. Ficheiro atopado: %d.%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "Non se puido localizar o ficheiro de datos do motor %s." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/hu_HU.po b/po/hu_HU.po index 6d8b740065..bd8c8aab18 100644 --- 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: 2017-12-26 21:11+0100\n" -"PO-Revision-Date: 2017-11-10 16:20+0000\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" +"PO-Revision-Date: 2018-01-24 04:01+0000\n" "Last-Translator: George Kormendi <grubycza@hotmail.com>\n" "Language-Team: Hungarian <https://translations.scummvm.org/projects/scummvm/" "scummvm/hu/>\n" @@ -33,33 +33,33 @@ msgstr "Lefordított összetevõk:" msgid "Available engines:" msgstr "Támogatott játékmotorok:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Rejtett fájlok látszanak" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Rejtett attribútumu fájlok megjelenítése" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Feljebb" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Vissza az elõzõ könyvtárszintre" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,42 +71,42 @@ msgstr "Feljebb" msgid "Cancel" msgstr "Mégse" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Választ" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 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:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Játékok helyének kiválasztása" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Ebbõl: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Ide: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Letöltés megszakítás" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Letöltés megszakítás" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Elrejt" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -114,8 +114,8 @@ msgstr "" "Úgy néz ki, korlátozott a kapcsolat. Biztos benne hogy letölti ezeket a " "fájlokat is?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -127,8 +127,8 @@ msgstr "" msgid "Yes" msgstr "Igen" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -140,11 +140,11 @@ msgstr "Igen" msgid "No" msgstr "Nem" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM nem tudja megnyitni a választott mappát!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -152,9 +152,9 @@ msgstr "" "A letöltési mappa nem hozható létre - a megadott könyvtárban van egy fájl " "ugyanazzal a névvel." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -173,7 +173,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -182,236 +182,236 @@ msgstr "" "A \"%s\" már létezik a megadott könyvtárban.\n" "Biztos benne hogy letölti a fájlokat ebbe a könyvtárba?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Letöltött %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Letöltés sebessége: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Játék" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" msgstr "" "Rövid játékazonosító a játékmentésekhez és a játék parancssori futtatásához" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Név:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "A játék teljes neve" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Név:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Nyelv:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" 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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<alapértelmezett>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Platform:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Platform amire a játékot eredetileg készítették" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Platform:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Grafika" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Globális grafikai beállítások felülbírálása" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 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:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Audió" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Globális audió beállítások felülbírálása" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 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:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Hangerõ" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Hangerõ" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Globális hangerõbeállítások felülbírálása" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 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:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Globális MIDI beállítások felülbírálása" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 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:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Globális MT-32 beállítások felülbírálása" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 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:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Mappák" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Mappák" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Játék Mappa:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Játék Mappa:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Extra Mappa:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Extra Mappa:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Mentés Mappa:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 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:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Mentés Mappa:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Nincs" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Alapértelmezett" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "SoundFont kiválasztás" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Válassz mappát a játék kiegészítõkhöz" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Válaszz játékmentéseknek mappát" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 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 +419,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:534 +#: gui/editgamedialog.cpp:535 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." @@ -435,103 +435,103 @@ msgstr "Megjegyzés:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Válassz betöltendõ fájlt" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Írd be a fájlnevet mentéshez" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Biztos hogy felül akarod írni a fájlt?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Forgatás" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Aktív" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Szoba:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Csillapítás:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Szélesség:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Szint:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Kórus" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Sebesség:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Mélység:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Típus:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Színusz" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Háromszög" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Vegyes" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpoláció:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Nincs (gyorsabb)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Lineáris" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Negyedrangú" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Hetedrangú" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Reset" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Minden FluidSynth beállítás alapértelmezett értékre." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -798,7 +798,7 @@ msgid "every 30 mins" msgstr "30 percenként" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Nincs" @@ -823,183 +823,183 @@ msgstr "a teljesképernyõs beállítás nem változott" msgid "the filtering setting could not be changed" msgstr "a szûrési beállítást nem lehet megváltoztatni" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "Irányítás a képernyõn megjelenítése" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Touchpad egér mód" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "Menü és Vissza gombok cseréje" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Mutató Sebesség:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "Billentyûzet/joystick egérmutató vezérlés sebessége" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Mutató Sebesség:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Joy Holtzóna:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Analóg joystick Holtzóna" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Joy Holtzóna:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "HW Árnyaló:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "Különbözõ hardver árnyalók különbözõ vizuális effekteket adnak" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "HW Árnyaló:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Különbözõ hardver árnyalók különbözõ vizuális effekteket adnak" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Grafikus mód:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Kirajzolás mód:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 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:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Teljesképernyõs mód" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Grafika szûrése" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 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:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Képméretarány korrekció" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Helyes oldalarány a 320x200 játékokhoz" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Elsõdleges eszköz:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Zene eszköz:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 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:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "Hangeszköz vagy hangkártya emulátor beállítások" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Elsõdleges eszk.:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Zene eszköz:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "AdLib emulátor:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib meghajtót sok játék használja zenéhez" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "GM Eszköz:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Alapértelmezett hangeszköz General MIDI kimenethez" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Ne használj General MIDI zenét" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Elsõ elérhetõ eszköz használata" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Vegyes AdLib/MIDI mód" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "MIDI és AdLib hanggenerátorok használata" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "MIDI erõsítés:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "MT-32 Eszköz:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 Hardver (GM emuláció tiltva)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1007,16 +1007,16 @@ msgstr "" "Jelöld be, ha hardveres Roland-Kompatibilis hangeszköz van csatlakoztatva a " "gépedhez és használni akarod" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 Hardver (GM emuláció nincs)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS eszköz (MT-32 mapping engedélyezés)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1024,272 +1024,272 @@ 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:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Ne használj Roland MT-32 zenét" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Szöveg és beszéd:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Csak beszéd" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Csak felirat" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Mind" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Felirat sebesség:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Felirat és beszéd:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Besz" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Text" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Mind" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Hang és feliratok megjelenítése" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Felirat sebesség:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Zene hangerõ:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Zene hangerõ:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Összes némítása" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "SFX hangerõ:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Speciális hangeffektusok hangereje" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "SFX hangerõ:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Beszéd hangerõ:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Beszéd hangerõ:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "Árnyaló" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "Irányitás" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "FluidSynth Beállítása" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Téma Mappa:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Téma Mappa:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Plugin Mappa:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugin Mappa:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Vegyes" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Téma:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "GUI Renderelõ:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Automentés:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Automentés:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Billentyûk" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "GUI nyelve:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "A ScummVM GUI nyelve" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Frissítés ellenõrzés:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Milyen gyakran ellenõrizze a ScummVM frissítéseket" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Ellenõrzés most" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Felhõ" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Felhõ" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Tároló:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Aktív felhõ tároló" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<nincs>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Felhasználó:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Felhasználónév ehhez a tárolóhoz" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Használt hely:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 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:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Utolsó szinkron:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 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:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Csatlakozás" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 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:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Frissítés" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 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:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Letöltés" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Letöltéskezelõ párbeszédablak megnyitása" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Szerver futtatás" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Helyi webszerver futtatása" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Nem fut" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "/gyökér/ Útvonal:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 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:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "/gyökér/ Útvonal:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Szerver portja:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1297,27 +1297,27 @@ msgstr "" "Melyik portot használja a szerver\n" "Szerver engedély nem elérhetõ nem alapértelmezett porttal" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Alkalmaz" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Felhõtároló csere nem sikerült!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Egy másik felhõtároló már aktív." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "A téma nem támogatja a választott nyelvet!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "A témát nem lehet betölteni!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1325,48 +1325,48 @@ msgstr "" "\n" "A különbözõ beállítások visszaállítva." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "GUI téma mappa kiválasztása" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Mappa választás az extra fájloknak" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Plugin mappa kiválasztása" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Válassz mappát a Fájlkezelõnek /gyökér/" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu byte" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<épp most>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<soha>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Szerver leállítás" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Helyi webszerver leállítása" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1445,7 +1445,7 @@ msgstr "Biztos hogy törölni akarod ezt a felvételt?" msgid "Unknown Author" msgstr "Ismeretlen Szerzõ" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM nem tud hozzáférni a mappához!" @@ -1636,7 +1636,7 @@ msgstr "" msgid "Proceed" msgstr "Folyamatban" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Érték törlése" @@ -2382,11 +2382,11 @@ msgstr "Touchpad mód engedélyezve." msgid "Touchpad mode disabled." msgstr "Touchpad mód letiltva." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Kattintás Mód" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2394,11 +2394,11 @@ msgstr "Kattintás Mód" msgid "Left Click" msgstr "Bal katt" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Középsõ katt" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2775,16 +2775,16 @@ msgstr "Frissítések keresése..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "Nem található a(z) '%s' motorhoz adat fájl." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "A(z) '%s' motor adatfájl korrupt." @@ -4452,6 +4452,20 @@ msgstr "Floppy intro" msgid "Use the floppy version's intro (CD version only)" msgstr "A floppy verzió intro használata (csak CD verziónál)" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"Hibás verziójú '%s' motor adatfájlt találtam. Elvárt %d helyett ez %d " +"található." + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "" +"Nem sikerült megtalálni a %s nyelvû szöveget a '%s' motor adat fájlban." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/it_IT.po b/po/it_IT.po index 0b7406305e..7ba0cb6465 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-12-18 17:00+0000\n" "Last-Translator: Paolo Bossi <pbossi86@gmail.com>\n" "Language-Team: Italian <https://translations.scummvm.org/projects/scummvm/" @@ -33,33 +33,33 @@ msgstr "Funzionalità incluse:" msgid "Available engines:" msgstr "Motori disponibili:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Mostra file nascosti" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Mostra file contrassegnati come nascosti" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Cartella superiore" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Vai alla cartella superiore" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,42 +71,42 @@ msgstr "Su" msgid "Cancel" msgstr "Annulla" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Scegli" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "Seleziona la cartella dove scaricare i file dati del gioco" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Seleziona la cartella con i file dati del gioco" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Da: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "A: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Annulla download" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Annulla download" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Nascondi" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -114,8 +114,8 @@ msgstr "" "Sembra che la connessione abbia dei limiti di dati. Sei sicuro di voler " "procedere?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -127,8 +127,8 @@ msgstr "" msgid "Yes" msgstr "Sì" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -140,11 +140,11 @@ msgstr "Sì" msgid "No" msgstr "No" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM non ha potuto aprire la cartella specificata!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -152,9 +152,9 @@ msgstr "" "Impossibile creare la cartella - la directory specificata ha un file con lo " "stesso nome." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -173,7 +173,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -182,26 +182,26 @@ msgstr "" "%s esiste già nella cartella selezionata.\n" "Sei sicuro di voler scaricare i file in questa cartella?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Scaricato %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Velocità di download: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Gioco" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -209,210 +209,210 @@ msgstr "" "Breve identificatore di gioco utilizzato per il riferimento a salvataggi e " "per l'esecuzione del gioco dalla riga di comando" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Nome:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Titolo completo del gioco" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Nome:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Lingua:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" msgstr "" "Lingua del gioco. Un gioco inglese non potrà risultare tradotto in italiano" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<predefinito>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Piattaforma:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "La piattaforma per la quale il gioco è stato concepito" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Piattaf.:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Motore" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Grafica" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "Grafica" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Ignora le impostazioni grafiche globali" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Ignora le impostazioni grafiche globali" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Audio" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Ignora le impostazioni audio globali" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Ignora le impostazioni audio globali" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Ignora le impostazioni globali di volume" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Ignora le impostazioni globali di volume" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Ignora le impostazioni MIDI globali" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Ignora le impostazioni MIDI globali" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Ignora le impostazioni MT-32 globali" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Ignora le impostazioni MT-32 globali" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Percorsi" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Perc" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Percorso gioco:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Perc. gioco:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Percorso extra:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Perc. extra:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Salvataggi:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Specifica dove archiviare i salvataggi" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Salvataggi:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Nessuno" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Predefinito" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Seleziona SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Seleziona la cartella di gioco aggiuntiva" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Seleziona la cartella dei salvataggi" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -421,7 +421,7 @@ msgstr "" "percorsi personalizzati. Per sincronizzare i salvataggi, usa la cartella " "predefinita." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 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." @@ -437,104 +437,104 @@ msgstr "Note:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Seleziona il file da caricare" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Digitare il nome del salvataggio" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Sei sicuro di voler sovrascrivere questo salvataggio?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Riverbero" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Attivo" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Stanza:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Smorzamento:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Larghezza:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Livello:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Chorus" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Velocità:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Profondità:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Tipo:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Seno" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Triangolo" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Varie" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolazione:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Nessuna (più veloce)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Lineare" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Quarto ordine" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Settimo ordine" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Ripristina" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "" "Ripristina tutte le impostazioni di FluidSynth al loro valore predefinito." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -806,7 +806,7 @@ msgid "every 30 mins" msgstr "ogni 30 minuti" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Nessuno" @@ -831,186 +831,186 @@ msgstr "Impossibile modificare l'impostazione schermo intero" msgid "the filtering setting could not be changed" msgstr "Impossibile modificare le impostazioni del filtro video" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "Controlli in sovraimpressione" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Mouse in modalità Touchpad" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "Inverti i tasti Menu e Indietro" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Velocità Puntatore:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "Velocità puntatore (se controllato con joystick o tastiera)" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Velocità del puntatore:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Deadzone Joystick:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Deadzone (zona inerte) per joystick analogici" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Deadzone Joy:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "Shader Hardware:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "Shader differenti danno effetti visivi differenti" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "HW Shader:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Shader diversi danno diversi effetti grafici" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Modalità grafica:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Resa grafica:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Modalità di resa grafica speciali supportate da alcuni giochi" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Modalità a schermo intero" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Applica filtro grafico" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "Usa filtro bilineare per lo scaling della grafica" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Correzione proporzioni" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Correggere il rapporto d'aspetto dei giochi con risoluzione a 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Disp. preferito:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Dispositivo audio:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "" "Specifica il dispositivo audio o l'emulatore della scheda audio preferiti" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 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:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Disp. preferito:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Disposit. audio:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "Emulatore AdLib:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib è utilizzato per la musica in molti giochi" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "Dispositivo GM:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Specifica il dispositivo audio predefinito per l'output General MIDI" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Non utilizzare la musica General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Utilizza il primo dispositivo disponibile" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "SoundFont è supportato da alcune schede audio, FluidSynth e Timidity" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Modalità mista AdLib/MIDI" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Utilizza generazione di suono sia MIDI che AdLib" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "Guadagno MIDI:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "Disposit. MT-32:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 effettivo (disattiva emulazione GM)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1018,16 +1018,16 @@ msgstr "" "Seleziona se vuoi usare il dispositivo hardware audio compatibile con Roland " "che è connesso al tuo computer" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 effettivo (disat.emul.GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Dispositivo Roland GS (attiva mappature MT-32)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1035,274 +1035,274 @@ msgstr "" "Seleziona se vuoi attivare le mappature per emulare un MT-32 su un " "dispositivo Roland GS" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Non utilizzare la musica Roland MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Testo e voci:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Voci" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Sottotitoli" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Entrambi" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Velocità testo:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Testo e voci:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Voci" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Sub" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Entr." -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Mostra i sottotitoli e attiva le voci" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Velocità testo:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Volume musica:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Volume musica:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Disattiva audio" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Volume effetti:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Volume degli effetti sonori" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Volume effetti:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Volume voci:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Volume voci:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "Shader" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "Controllo" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "Impostazioni FluidSynth" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Percorso temi:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Perc. temi:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Percorso plugin:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Perc. plugin:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Varie" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "Renderer GUI:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Autosalva:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Salvataggio automatico:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Tasti" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Lingua GUI:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Lingua dell'interfaccia grafica di ScummVM" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Controllo aggiornamenti:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Frequenza delle verifiche disponibilità aggiornamenti" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Controlla ora" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Servizio cloud:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Servizio di archiviazione cloud attivo" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<nessuno>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nome utente:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Nome utilizzato per questo spazio di archiviazione" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Spazio su disco utilizzato:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "Spazio utilizzato dai salvataggi di ScummVM su questo archivio Cloud" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Ultima sincronizzazione:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "" "Ultima sincronizzazione dei salvataggi in questo spazio di archiviazione" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Connetti" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "Apri assistente di connessione all'account di archiviazione su Cloud" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Aggiorna" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "Aggiorna le informazioni del servizio di archiviazione su Cloud (nome utente " "e spazio utilizzato)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Scarica" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Apri finestra di gestione dei download" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Avvia server" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Avvia webserver locale" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Non avviato" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "Percorso base:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Specifica quali cartelle sono accessibili dal File Manager" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "Percorso base:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Porta del Server:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1310,27 +1310,27 @@ msgstr "" "Porta utillizzata dal server\n" "L'autenticazione non è disponibile tramite una porta personalizzata" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Applica" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Impossibile cambiare dispositivo di archiviazione Cloud!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Un altro servizio di archiviazione cloud è già attivo." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "Questo tema non supporta la lingua selezionata!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "Errore nel caricamento del tema grafico!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1338,48 +1338,48 @@ msgstr "" "\n" "Le impostazioni della categoria Varie saranno riportati ai valori precedenti." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Seleziona la cartella dei temi dell'interfaccia" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Seleziona la cartella dei file aggiuntivi" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Seleziona la cartella dei plugin" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Seleziona la cartella di partenza del File Manager" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%lIu bytes" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<adesso>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<mai>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Arresta server" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Arresta webserver locale" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1458,7 +1458,7 @@ msgstr "Sei sicuro di voler eliminare questa registrazione?" msgid "Unknown Author" msgstr "Autore sconosciuto" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM non ha potuto aprire la cartella specificata!" @@ -1651,7 +1651,7 @@ msgstr "" msgid "Proceed" msgstr "Procedi" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Cancella" @@ -2402,11 +2402,11 @@ msgstr "Modalità touchpad attivata." msgid "Touchpad mode disabled." msgstr "Modalità touchpad disattivata." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Modalità clic" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2414,11 +2414,11 @@ msgstr "Modalità clic" msgid "Left Click" msgstr "Clic sinistro" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Clic centrale" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2797,16 +2797,16 @@ msgstr "Cerca aggiornamenti..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "File dati del motore '%s' non trovato." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "Il file dati del motore '%s' è danneggiato." @@ -4493,6 +4493,19 @@ msgstr "Intro floppy" msgid "Use the floppy version's intro (CD version only)" msgstr "Usa la versione floppy dell'intro (solo versione CD)" +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"Il file dati del motore '%s' non è corretto. Versione richiesta: %d.%d; " +"versione trovata: %d.%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "File dati del motore '%s' non trovato." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/nb_NO.po b/po/nb_NO.po index 0250ddca82..4fa603fe17 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2016-12-26 17:36+0000\n" "Last-Translator: Einar Johan Trøan Sømåen <einarjohants@gmail.com>\n" "Language-Team: Norwegian Bokmål <https://translations.scummvm.org/projects/" @@ -34,33 +34,33 @@ msgstr "Funksjoner innkompilert:" msgid "Available engines:" msgstr "Tilgjengelige motorer:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Vis skjulte filer" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Vis filer merket med «skjult»-attributten" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Opp et nivå" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Gå til forrige mappenivå" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -72,42 +72,42 @@ msgstr "Oppover" msgid "Cancel" msgstr "Avbryt" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Velg" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "Velg mappe for nedlasting av spilldata" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Velg mappe med spilldata" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Fra: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Til: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Avbryt nedlasting" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Avbryt nedlasting" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Skjul" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -115,8 +115,8 @@ msgstr "" "Det ser ut til at tilkoblingen din er begrenset. Vil du virkelig laste ned " "filer med den?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -128,8 +128,8 @@ msgstr "" msgid "Yes" msgstr "Ja" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -141,11 +141,11 @@ msgstr "Ja" msgid "No" msgstr "Nei" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM kunne ikke åpne den valgte mappa!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -153,9 +153,9 @@ msgstr "" "Kan ikke opprette mappe for nedlasting - den angitte mappa har ei fil med " "samme navn." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -174,7 +174,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -183,26 +183,26 @@ msgstr "" "\"%s finnes allerede i den angitte mappa.\n" "Vil du virkelig laste ned filer til denne mappa?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Lastet ned %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Nedlastingshastighet: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Spill" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -210,30 +210,30 @@ msgstr "" "Kort spill-identifikator, brukt for å referere til lagrede spill, og å kjøre " "spillet fra kommandolinjen" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Navn:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Full spilltittel" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Navn:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Språk:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -241,180 +241,180 @@ 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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<standard>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Plattform:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Plattform spillet opprinnelig ble designet for" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Plattform:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Grafikk" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Overstyr globale grafikkinstillinger" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Overstyr globale grafikkinstillinger" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Lyd" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Overstyr globale lydinstillinger" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Overstyr globale lydinstillinger" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Volum" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Volum" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Overstyr globale voluminstillinger" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Overstyr globale voluminstillinger" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Overstyr globale MIDI-instillinger" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Overstyr globale MIDI-instillinger" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Overstyr globale MT-32-instillinger" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Overstyr globale MT-32-instillinger" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Sti" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Sti" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Spillsti:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Spillsti:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Ekstrasti:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Ekstrasti:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Lagringssti:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Bestemmer sti til lagrede spill" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Lagringssti:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Ingen" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standard" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Velg SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Velg mappe med ytterligere data" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Velg mappe for lagrede spill" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -422,7 +422,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:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "Denne spill-IDen er allerede i bruk. Vennligst velg en annen." @@ -438,103 +438,103 @@ msgstr "Notater:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Velg fil for lasting" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Skriv inn filnavn for lagring" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Vil du virkelig overskrive denne filen?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Romklang" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Aktiv" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Rom:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Demp:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Bredde:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Nivå:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Hastighet:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Dybde:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Type:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sinus" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Trekant" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Diverse" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolering:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Ingen (raskest)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Linjær" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Nullstill" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Nullstill alle FluidSynth-instillinger til standardverdier." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -803,7 +803,7 @@ msgid "every 30 mins" msgstr "hvert 30. min" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Ingen" @@ -828,185 +828,185 @@ msgstr "fullskjermsinnstillingen kunne ikke endres" msgid "the filtering setting could not be changed" msgstr "filterinnstillingen kunne ikke endres" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "" -#: gui/options.cpp:932 +#: gui/options.cpp:934 #, fuzzy msgid "Touchpad mouse mode" msgstr "Touchpad-modus deaktivert." -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "" -#: gui/options.cpp:941 +#: gui/options.cpp:943 #, fuzzy msgid "Pointer Speed:" msgstr "Hastighet:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "" -#: gui/options.cpp:943 +#: gui/options.cpp:945 #, fuzzy msgctxt "lowres" msgid "Pointer Speed:" msgstr "Hastighet:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Grafikkmodus:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Tegnemodus:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Spesiel dithering-modus støttet av enkelte spill" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Fullskjermsmodus" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Filtrer grafikk" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Aspekt-rate korrigering" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Korriger aspekt-rate for 320x200-spill" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Foretrukket enhet:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Musikkenhet:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "Velger foretrukket lydenhet eller lydkort-emulator" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "Velger ut-lydenhet eller lydkortemulator" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Foretrukket enh.:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Musikkenhet:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "AdLib-emulator:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib brukes til musikk i mange spill" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "GM-enhet:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Velger standard lydenhet for General MIDI-utdata" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Ikke bruk General MIDI-musikk" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Bruk første tilgjengelige enhet" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Mikset AdLib/MIDI-modus" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Bruk både MIDI- og AdLib- lydgenerering" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "MIDI gain:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "MT-32 Enhet:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Ekte Roland MT-32 (deaktiver GM-emulering)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1014,16 +1014,16 @@ msgstr "" "Velg hvis du har et ekte Roland-kompatible lydkort tilkoblet maskinen, og " "vil bruke dette" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Ekte Roland MT-32 (deaktiver GM-emulering)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS Modus (aktiver MT32-mapping)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1031,272 +1031,272 @@ msgstr "" "Aktiver hvis du vil slå på patch mappinger for å emulere en MT-32 eller " "Roland GS enhet" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Ikke bruk Roland MT-32-musikk" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Tekst og Tale:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Tale" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Undertekster" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Begge" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Teksthastighet:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Tekst og Tale:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Tale" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Tekst" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Begge" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Vis undertekster, og spill av tale" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Underteksthastighet:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Musikkvolum:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Musikkvolum:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Demp alle" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Lydeffektvolum:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Volum for spesielle lydeffekter" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Lydeffektvolum:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Talevolum:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Talevolum:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 #, fuzzy msgid "Control" msgstr "Styr Mus" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "FluidSynth-instillinger" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Temasti:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Temasti:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Pluginsti:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Pluginsti:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Div" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "GUI-tegner:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Autolagre:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Autolagre:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Taster" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "GUI-språk:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Språk i ScummVM-GUIet" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Oppdateringssjekk:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Hvor ofte det skal sjekkes for ScummVM-oppdateringer" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Sjekk nå" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Sky" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Sky" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Lagring:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Aktiv skylagring" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<ingen>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Brukernavn:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Brukernavn for denne lagringsmåten" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Brukt plass:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 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:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Forrige synctidspunkt:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 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:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Koble til" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "Åpne veiviserdialog for å koble til skylagringen din" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Oppfrisk" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "Oppfrisk gjeldende skylagringsinformasjon (brukernavn og bruk)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Last ned" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Åpne nedlastingsbehandlerdialog" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Kjør server" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Kjør lokal webserver" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Kjører ikke" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "/root/ Sti:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Angi mappe som filbehandleren skal ha tilgang til" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "/root/ Sti:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Serverport:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1304,76 +1304,76 @@ msgstr "" "Hvilken port som brukes av serveren\n" "Autentisering med server støttes ikke med ikke-standard port" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Klarte ikke å kontakte skylagring!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "En annen skylagring er allerede aktiv." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 #, fuzzy msgid "Theme does not support selected language!" msgstr "Spillmotor-plugin støtter ikke lagrede spill" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 #, fuzzy msgid "Theme cannot be loaded!" msgstr "Spillet ble IKKE lastet" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." msgstr "" -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Velg mappe for GUI-temaer" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Velg mappe for ytterligere filer" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Velg mappe for plugins" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Velg mappe for filbehandler /root/" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<med en gang>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<aldri>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Stopp server" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Stopp lokal webserver" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1452,7 +1452,7 @@ msgstr "" msgid "Unknown Author" msgstr "Ukjent Forfatter" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM kunne ikke åpne mappen!" @@ -1644,7 +1644,7 @@ msgstr "" msgid "Proceed" msgstr "Fortsett" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Tøm verdi" @@ -2388,11 +2388,11 @@ msgstr "Touchpad-modus aktivert." msgid "Touchpad mode disabled." msgstr "Touchpad-modus deaktivert." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Klikkmodus" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2400,11 +2400,11 @@ msgstr "Klikkmodus" msgid "Left Click" msgstr "Venstreklikk" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Midtklikk" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2784,16 +2784,16 @@ msgstr "Sjekk for oppdateringer..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "" #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "" @@ -4424,6 +4424,17 @@ msgstr "Diskett-intro" msgid "Use the floppy version's intro (CD version only)" msgstr "Bruk diskettversjonens intro (Kun for CD-versjon)" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "" + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/nl_NL.po b/po/nl_NL.po index bcc7d3a58b..281351cce0 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-11-11 15:31+0000\n" "Last-Translator: Ben Castricum <github@bencastricum.nl>\n" "Language-Team: Dutch <https://translations.scummvm.org/projects/scummvm/" @@ -34,33 +34,33 @@ msgstr "Features meegecompileerd:" msgid "Available engines:" msgstr "Beschikbare engines:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Verborgen bestanden weergeven" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Bestanden die gemarkeerd zijn met het verbergen kenmerk weergeven" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Ga omhoog" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Ga naar bovenliggende map" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -72,49 +72,49 @@ msgstr "Ga omhoog" msgid "Cancel" msgstr "Annuleren" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Selecteer" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "Selecteer map voor de te downloaden speldata" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Selecteer map met speldata" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Van: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Naar: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Download annuleren" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Download annuleren" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Verberg" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" 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/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -126,8 +126,8 @@ msgstr "Uw verbinding lijkt beperkt. Wilt u echt bestanden ermee downloaden?" msgid "Yes" msgstr "Ja" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -139,11 +139,11 @@ msgstr "Ja" msgid "No" msgstr "Nee" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM kon de opgegeven map niet openen!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -151,9 +151,9 @@ msgstr "" "Kan geen download folder creëren - de gespecificeerde folder bevat een file " "met dezelfde naam." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -172,7 +172,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -181,26 +181,26 @@ msgstr "" "De \"%s\" bestaat al in de gespecificeerde map.\n" "Wilt u echt bestanden in die map downloaden?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "%s %s / %s %s gedownload" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Download snelheid: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Spel" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -208,210 +208,210 @@ msgstr "" "Korte identifier die gebruikt wordt voor opgeslagen spellen en voor het " "starten van een spel vanaf de opdrachtprompt" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Naam:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Volledige titel van het spel" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Naam:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Taal:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" 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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<standaard>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Platform:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Het platform waar het spel oorspronkelijk voor ontworpen was" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Platform:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Engine" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Beeld" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Negeer algemene grafische instellingen" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Negeer algemene grafische instellingen" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Geluid" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Negeer algemene audio instellingen" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Negeer algemene audio instellingen" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Negeer algemene volume instellingen" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Negeer algemene volume instellingen" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Negeer algemene MIDI instellingen" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Negeer algemene MIDI instellingen" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Negeer algemene MT-32 instellingen" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Negeer algemene MT-32 instellingen" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Paden" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Paden" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Spel Pad:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Spel Pad:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Extra Pad:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Extra Pad:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Bewaar Pad:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Bepaalt waar opgeslagen spellen worden bewaard" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Bewaar Pad:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Geen" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standaard" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Selecteer SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Selecteer additionele speldatamap" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Selecteer map voor opgeslagen spellen" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -420,7 +420,7 @@ msgstr "" "mappen. Als u de opgeslagen spellen wilt synchroniseren, gebruik dan de " "standaard map." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 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." @@ -436,103 +436,103 @@ msgstr "Notities:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Selecteer te laden bestand" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Geef bestandsnaam voor bewaren" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Wilt u dit bestand echt overschrijven?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Galm" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Actief" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Kamer:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Demping:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Breedte:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Level:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Koor" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Snelheid:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Diepte:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Type:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sinus" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Driehoek" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Overig" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolatie:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Geen (snelst)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Lineair" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Vierde-order" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Zevende-order" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Reset" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Alle FluidSynth instellingen terugzetten naar de standaard waarden." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -805,7 +805,7 @@ msgid "every 30 mins" msgstr "elke 30 minuten" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Geen" @@ -830,185 +830,185 @@ msgstr "de volledig-scherminstelling kon niet veranderd worden" msgid "the filtering setting could not be changed" msgstr "de filterinstelling kon niet veranderd worden" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "Toon scherm-besturing" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Touchpadmodus" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "Knoppen Menu en Terug omwisselen" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Aanwijzer Snelheid:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "Snelheid voor toetsenbord/joystick muis aanwijzer besturing" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Aanwijzer Snelheid:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Joy Deadzone:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Analoge Joystick Deadzone" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Joy Deadzone:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "HW Shader:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "Verschillende hardware shaders geven verschillende visuele effecten" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "HW Shader:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Verschillende shaders geven verschillende visuele effecten" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Grafische modus:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Render modus:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Speciale ditheringmodi die door sommige games ondersteund worden" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Volledig-scherm modus" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Filter afbeeldingen" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "Gebruik lineair filteren tijdens het schalen van afbeeldingen" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Pixelverhoudingcorrectie" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Corrigeer de pixelverhouding voor 320x200 spellen" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Voorkeursapparaat:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Muziekapparaat:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "Specificeert het voorkeurs geluidsapparaat of geluidskaartemulator" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "Specificeert geluidsapparaat of geluidskaartemulator" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Voorkeursapparaat:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Muziekapparaat:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "AdLib emulator:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib word in vele spelen voor muziek gebruikt" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "GM Apparaat:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Specificeert het standaard geluidsapparaat voor General MIDI" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Geen General MIDI muziek gebruiken" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Gebruik eerst beschikbare apparaat" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont wordt ondersteund door FluidSynth, Timidity en sommige " "geluidskaarten" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Gemengde AdLib/MIDI modus" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Gebruik zowel MIDI als AdLib geluid" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "MIDI versterking:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "MT-32 Apparaat:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Waarheidsgetrouwe Roland MT-32 (GM emulatie uitschakelen)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1016,16 +1016,16 @@ msgstr "" "Selecteer als u een hardware Roland-compatible geluidsapparaat gekoppeld aan " "uw computer wilt gebruiken" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Echte Roland MT-32 (geen GM emulatie)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS Device (met MT-32 mappings)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1033,273 +1033,273 @@ msgstr "" "Selecteer dit als u patchmappings wilt om een MT-32 op een Roland GS " "apparaat te emuleren" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Geen Roland MT-32 muziek gebruiken" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Spraak en/of tekst:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Spraak" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Tekst" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Beide" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Snelheid tekst:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Spraak en/of text:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Sprk" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Text" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Beide" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Toon tekst en speel spraak af" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Snelheid text:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Muziek volume:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Muziek volume:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Alles Dempen" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "SFX volume:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Volume voor speciale geluidseffecten" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "SFX volume:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Spraak volume:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Spraak volume:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "Shader" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "Besturing" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "FluidSynth Instellingen" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Thema Pad:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Thema Pad:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Plugins Pad:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugins Pad:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Overig" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Thema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "GUI Renderer:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Auto opslaan:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Auto opslaan:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Toetsen" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "GUI Taal:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Taal van de ScummVM GUI" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Update controle:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Hoe vaak checken op ScummVM updates" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Controleer nu" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Opslag:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Actieve cloud opslag" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<geen>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Gebruikersnaam:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Gebruikersnaam gebruikt voor deze opslag" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Gebruikte ruimte:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "Ruimte in gebruik door ScummVM's opgeslagen spellen op deze opslag" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Laatste synchronisatie:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "Wanneer de laatste synchronisatie voor deze opslag is geweest" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Verbinden" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 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:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Ververs" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "Ververs de huidige opslag informatie (gebruikersnaam en gebruik)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Download" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Open downloads manager dialoogvenster" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Start server" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Draai lokale webserver" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Draait niet" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "/root/ Pad:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Bepaalt welke map de Bestanden Manager gebruiken mag" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "/root/ Pad:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Serverport:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1307,27 +1307,27 @@ msgstr "" "Welke port is gebruikt voor de server\n" "Auth met server is niet beschikbaar met een niet standaard port" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Toepassen" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Veranderen van cloud opslag mislukt!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Er is al een andere cloud opslag actief." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "Thema biedt geen ondersteuning voor geselecteerde taal!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "Thema kan niet worden geladen!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1335,49 +1335,49 @@ msgstr "" "\n" "Misc instellingen worden teruggezet." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Selecteer map voor GUI themas" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Selecteer map voor extra bestanden" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Selecteer map voor plugins" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Selecteer map voor Bestanden Manager /root/" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<nu>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<nooit>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Stop server" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Stop lokale webserver" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1454,7 +1454,7 @@ msgstr "Wilt u deze opname echt verwijderen?" msgid "Unknown Author" msgstr "Onbekende Auteur" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM kon de opgegeven map niet openen!" @@ -1644,7 +1644,7 @@ msgstr "" msgid "Proceed" msgstr "Ga verder" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Veld leegmaken" @@ -2396,11 +2396,11 @@ msgstr "Touchpadmodus ingeschakeld." msgid "Touchpad mode disabled." msgstr "Touchpadmodus uitgeschakeld." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Klik Modus" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2408,11 +2408,11 @@ msgstr "Klik Modus" msgid "Left Click" msgstr "Linker Klik" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Middelste Klik" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2793,16 +2793,16 @@ msgstr "Controleren op updates..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "Kon de '%s' engine data file niet vinden." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "De '%s' engine data file is corrupt." @@ -4489,6 +4489,19 @@ msgstr "Floppy intro" msgid "Use the floppy version's intro (CD version only)" msgstr "Gebruik de floppy versie van de intro (alleen voor de CD versie)" +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"Verkeerde versie van de '%s' engine data file gevonden. Verwacht werd %d.%d " +"maar vond %d.%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "Kon de '%s' engine data file niet vinden." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/nn_NO.po b/po/nn_NO.po index 78491af57e..4aed3522ed 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2016-12-18 18:23+0000\n" "Last-Translator: Eugene Sandulenko <sev@scummvm.org>\n" "Language-Team: Norwegian Nynorsk <https://translations.scummvm.org/projects/" @@ -34,33 +34,33 @@ msgstr "Funksjonar innkompilert:" msgid "Available engines:" msgstr "Tilgjengelege motorar:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Vis skjulte filer" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Syn filer markert med skjult-attributten" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Opp eit nivå" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Gå til forrige mappenivå" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -72,50 +72,50 @@ msgstr "Oppover" msgid "Cancel" msgstr "Avbryt" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Vel" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 #, fuzzy msgid "Select directory where to download game data" msgstr "Vel mappe med speldata" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Vel mappe med speldata" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "" -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "" -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" msgstr "" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -127,8 +127,8 @@ msgstr "" msgid "Yes" msgstr "Ja" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -140,19 +140,19 @@ msgstr "Ja" msgid "No" msgstr "Nei" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM kunne ikkje åpne den velde mappa!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." msgstr "" -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -171,33 +171,33 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" "Do you really want to download files into that directory?" msgstr "" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, fuzzy, c-format msgid "Download speed: %s %s" msgstr "Søk fullført!" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Spel" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -205,30 +205,30 @@ msgstr "" "Kort spelidentifikator nytta for å referere til lagra spel, og å køyre " "spelet frå kommandolinja" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Namn:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Full speltittel" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Namn:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Språk:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -236,186 +236,186 @@ 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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<standard>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Plattform:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Plattform spelet opprineleg vart designa for" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Plattform:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Grafikk" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Overstyr globale grafikkinstillingar" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Overstyr globale grafikkinstillingar" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Lyd" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Overstyr globale lydinstillingar" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Overstyr globale lydinstillingar" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Volum" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Volum" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Overstyr globale voluminstillingar" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Overstyr globale voluminstillingar" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Overstyr globale MIDI-instillingar" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Overstyr globale MIDI-instillingar" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Overstyr globale MT-32-instillingar" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Overstyr globale MT-32-instillingar" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Stiar" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Stiar" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Spelsti:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Spelsti:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Ekstrasti:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Ekstrasti:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Lagringssti:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Veljer kor lagra spel vert lagra" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Lagringssti:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Ingen" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standard" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Vel SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Vel mappe med tileggsdata for spelet" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Vel mappe for lagra spel" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 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:534 +#: gui/editgamedialog.cpp:535 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." @@ -431,103 +431,103 @@ msgstr "Notatar:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Vel fil for lasting" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Skriv inn filnamn for lagring" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Vil du verkeleg overskrive fila?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Romklang" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Aktiv" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Rom:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Bredde:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Nivå:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Hastighet:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Dybde:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Type:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sinus" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Triangel" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Diverse" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolering:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Ingen (raskast)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Linjær" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Nullstill" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Nullstill alle FluidSynth-instillingar til standardverdiar." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -794,7 +794,7 @@ msgid "every 30 mins" msgstr "kvart 30. min" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Ingen" @@ -820,186 +820,186 @@ msgstr "Fullskjerminstillinga kunne ikkje endrast" msgid "the filtering setting could not be changed" msgstr "Fullskjerminstillinga kunne ikkje endrast" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "" -#: gui/options.cpp:932 +#: gui/options.cpp:934 #, fuzzy msgid "Touchpad mouse mode" msgstr "Touchpadmodus avslått." -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "" -#: gui/options.cpp:941 +#: gui/options.cpp:943 #, fuzzy msgid "Pointer Speed:" msgstr "Hastighet:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "" -#: gui/options.cpp:943 +#: gui/options.cpp:945 #, fuzzy msgctxt "lowres" msgid "Pointer Speed:" msgstr "Hastighet:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Grafikkmodus:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Teiknemodus:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Spesielle dithering-modus som støttast av nokre spel" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Fullskjermsmodus" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 #, fuzzy msgid "Filter graphics" msgstr "Grafikk" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Aspekt-korrigering" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Rett opp aspekt for 320x200 spel" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Føretrukken eining:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Musikkeining:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Musikkeining:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "AdLib emulator:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib nyttast til musikk i mange spel" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "GM Eining:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Veljer standard lydeining for General MIDI avspeling" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Ikkje nytt General MIDI musikk" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Nytt første tilgjengelege eining" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "SoundFont støttast av enkelte lydkort, FluidSynth og Timidity" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Blanda AdLib/MIDI-modus" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Nytt båe MIDI og AdLib lydskaping" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "MIDI gain:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "MT-32 Eining:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Ekte Roland MT-32 (deaktiver GM-emulering)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1007,371 +1007,371 @@ msgstr "" "Vel om du vil nytte din Roland-kompatible lydeining som du har tilkopla " "datamaskina di" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Ekte Roland MT-32 (ingen GS-emulering)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" msgstr "" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Ikkje nytt Roland MT-32 musikk" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Tekst og Tale:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Tale" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Teksting" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Begge" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Undertekstfart:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Tekst og Tale:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Tale" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Tekst" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Båe" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Vis teksting og spel av tale" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Undertekstfart:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Musikkvolum:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Musikkvolum:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Demp alle" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Lydeffektvolum:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Spesiallydeffekt volum" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Lydeffektvolum:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Talevolum:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Talevolum:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "FluidSynth instillingar" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Temasti:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Temasti:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" -#: gui/options.cpp:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Pluginsti:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Pluginsti:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Div" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "GUI-teiknar:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Autolagre:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Autolagre:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Tastar" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "GUI-språk:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Språk i ScummVM-GUIet" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Brukarnamn:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 #, fuzzy msgid "Download" msgstr "Ned" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 #, fuzzy msgid "Not running" msgstr "Feil under køyring av spel:" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 #, fuzzy msgid "/root/ Path:" msgstr "Ekstrasti:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Veljer kor lagra spel vert lagra" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Ekstrasti:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 #, fuzzy msgid "Server's port:" msgstr "Teinar:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Klarte ikkje lagre spel" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 #, fuzzy msgid "Theme does not support selected language!" msgstr "Spelmotor-plugin støttar ikkje lagra tilstandar." -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 #, fuzzy msgid "Theme cannot be loaded!" msgstr "Spelet vart IKKJE lasta" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." msgstr "" -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Vel ei mappe for GUI-tema" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Vel ei mappe for ekstra filer" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Vel ei mappe for plugins" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Vel ei mappe for ekstra filer" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 #, fuzzy msgid "<never>" msgstr "Aldri" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 #, fuzzy msgid "Stop server" msgstr "Teinar:" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1448,7 +1448,7 @@ msgstr "" msgid "Unknown Author" msgstr "Ukjend Forfattar" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 #, fuzzy msgid "ScummVM could not access the directory!" msgstr "ScummVM kunne ikkje åpne den velde mappa!" @@ -1636,7 +1636,7 @@ msgstr "" msgid "Proceed" msgstr "" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Tøm verdi" @@ -2381,11 +2381,11 @@ msgstr "Touchpadmodus påslått." msgid "Touchpad mode disabled." msgstr "Touchpadmodus avslått." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Klikkmodus" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2393,11 +2393,11 @@ msgstr "Klikkmodus" msgid "Left Click" msgstr "Venstreklikk" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Midtklikk" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2775,16 +2775,16 @@ msgstr "SJå etter oppdateringar..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "" #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "" @@ -4384,6 +4384,17 @@ msgstr "Diskettintro" msgid "Use the floppy version's intro (CD version only)" msgstr "Nytt diskettversjonens åpning (Kun CD-versjon)" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "" + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/pl_PL.po b/po/pl_PL.po index 29ab3730b0..81d25ebc2f 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-01-25 12:49+0000\n" "Last-Translator: Rafa³ Rzepecki <divided.mind@gmail.com>\n" "Language-Team: Polish <https://translations.scummvm.org/projects/scummvm/" @@ -38,33 +38,33 @@ msgstr "Wkompilowane funkcje:" msgid "Available engines:" msgstr "Dostêpne silniki:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Poka¿ ukryte pliki" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Poka¿ pliki oznaczone atrybutem ukryty" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "W górê" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Przejd¼ do poprzedniego katalogu" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -76,42 +76,42 @@ msgstr "W górê" msgid "Cancel" msgstr "Anuluj" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Wybierz" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "Wybierz katalog, do którego pobrane zostan± pliki gry" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Wybierz katalog z plikami gry" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "¬ród³o: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Cel: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Przerwij pobieranie" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Anuluj pobieranie" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Ukryj" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -119,8 +119,8 @@ msgstr "" "Wygl±da na to, ¿e Twoje po³±czenie ma ograniczon± ³±czno¶æ. Czy chcesz " "pobraæ pliki za jego pomoc± mimo to?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -132,8 +132,8 @@ msgstr "" msgid "Yes" msgstr "Tak" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -145,11 +145,11 @@ msgstr "Tak" msgid "No" msgstr "Nie" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM nie mo¿e otworzyæ katalogu!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -157,9 +157,9 @@ msgstr "" "Nie mo¿na utworzyæ katalogu pobierania - podany katalog zawiera plik o " "jednakowej nazwie." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -178,7 +178,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -187,26 +187,26 @@ msgstr "" "Katalog \"%s\" ju¿ istnieje w wybranej ¶cie¿ce.\n" "Czy na pewno pobraæ pliki do tego katalogu?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Pobrano %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Prêdko¶æ pobierania: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Gra" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -214,209 +214,209 @@ msgstr "" "Krótki identyfikator gry u¿ywany do rozpoznawania zapisów i uruchamiania gry " "z linii komend" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Nazwa:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Pe³ny tytu³ gry" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Nazwa:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Jêzyk:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<domy¶lne>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Platforma:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Platforma, na któr± stworzono grê" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Platforma:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Silnik" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Grafika" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "Grafika" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "U¿yj w³asnych ustawieñ grafiki" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "U¿yj w³asnych ustawieñ grafiki" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "D¼wiêk" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "U¿yj w³asnych ustawieñ d¼wiêku" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "U¿yj w³asnych ustawieñ d¼wiêku" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "G³o¶no¶æ" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "G³o¶no¶æ" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "U¿yj w³asnych ustawieñ g³o¶no¶ci" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "U¿yj w³asnych ustawieñ g³o¶no¶ci" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "U¿yj w³asnych ustawieñ MIDI" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "U¿yj w³asnych ustawieñ MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "U¿yj w³asnych ustawieñ MT-32" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "U¿yj w³asnych ustawieñ MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "¦cie¿ki" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "¦cie¿ki" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "¦cie¿ka gry:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "¦cie¿ka gry:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "¦c. dodatków:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "¦c. dodatków:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "¦cie¿ka zapisów:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Okre¶la gdzie zapisywaæ stan gry" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "¦cie¿ka zapisów:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Brak" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Domy¶lnie" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Wybierz SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Wybierz dodatkowy katalog gry" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Wybierz katalog dla zapisów" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -424,7 +424,7 @@ msgstr "" "Synchronizacja zapisanych stanów dzia³a wy³±cznie przy standardowych " "¶cie¿kach. Aby z niej korzystaæ nale¿y u¿ywaæ domy¶lnych katalogów." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "Identyfikator jest ju¿ zajêty. Wybierz inny." @@ -440,103 +440,103 @@ msgstr "Uwagi:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Wybierz plik do wczytania" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Podaj nazwê pliku do zapisania" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Na pewno chcesz nadpisaæ ten plik?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Pog³os" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Aktywny" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Przestrzeñ:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "T³umienie:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Szeroko¶æ:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Poziom:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Refren" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Szybko¶æ:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "G³êbia:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Typ:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sinus" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Trójk±t" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Ró¿ne" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolacja:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Brak (najszybsze)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Liniowa" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Czterostopniowa" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Siedmiostopniowa" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Reset" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Przywróæ domy¶lne warto¶ci wszystkich ustawieñ FluidSynth." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -801,7 +801,7 @@ msgid "every 30 mins" msgstr "co 30 min" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Brak" @@ -826,188 +826,188 @@ msgstr "nie uda³o siê zmieniæ trybu pe³noekranowego" msgid "the filtering setting could not be changed" msgstr "nie uda³o siê zmieniæ trybu filtrowania" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "" -#: gui/options.cpp:932 +#: gui/options.cpp:934 #, fuzzy msgid "Touchpad mouse mode" msgstr "Tryb touchpada wy³±czony." -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "" -#: gui/options.cpp:941 +#: gui/options.cpp:943 #, fuzzy msgid "Pointer Speed:" msgstr "Szybko¶æ:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "" -#: gui/options.cpp:943 +#: gui/options.cpp:945 #, fuzzy msgctxt "lowres" msgid "Pointer Speed:" msgstr "Szybko¶æ:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Tryb grafiki:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Renderer:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Specjalne tryby ditheringu wspierane przez niektóre gry" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Pe³ny ekran" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Filtrowanie obrazu" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "U¿ywa filtrowania dwuliniowego przy skalowaniu obrazu" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Korekcja formatu obrazu" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Korekcja formatu obrazu dla gier 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Pref. urz±dzenie:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Urz. muzyczne:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 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:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 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:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Pref. urz±dzenie:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Urz. muzyczne:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "Emulator AdLib:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib jest u¿ywany do muzyki w wielu grach" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "Urz±dzenie GM:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 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:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Nie u¿ywaj muzyki General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "U¿yj pierwszego dostêpnego urz±dzenia" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Tryb miksowanego AdLib/MIDI" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 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:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "Wzm. MIDI:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "Urz±dzenie MT-32:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Prawdziwy Roland MT-32 (wy³±cz emulacjê GM)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1015,16 +1015,16 @@ msgstr "" "Zaznacz, je¶li chcesz u¿ywaæ swojej prawdziwej karty kompatybilnej z Roland " "pod³±czonej do twojego komputera" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Prawdziwy Roland MT-32 (brak emulacji GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland w trybie GS (w³±cz mapowanie MT-32)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1032,274 +1032,274 @@ msgstr "" "Zaznacz, je¶li chcesz w³±czyæ ³atki mapowania pozwalaj±ce na emulacjê MT-32 " "na urz±dzeniu Roland GS" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Nie u¿ywaj muzyki Roland MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Tekst i mowa:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Mowa" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Napisy" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Oba" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Prêd. napisów:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Tekst i mowa:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Mowa" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Napisy" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Oba" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Wy¶wietlaj napisy i odtwarzaj mowê" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Prêd. napisów:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "G³o¶no¶æ muzyki:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "G³o¶no¶æ muzyki:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Wycisz" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "G³. efekt. d¼w.:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "G³o¶no¶æ efektów d¼w." -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "G³. efekt. d¼w.:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "G³o¶no¶æ mowy:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "G³o¶no¶æ mowy:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 #, fuzzy msgid "Control" msgstr "Steruj myszk±" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "Ustawienia FluidSynth" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "¦cie¿ka stylu:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "¦cie¿ka stylu:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "¦cie¿ka wtyczek:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "¦cie¿ka wtyczek:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Ró¿ne" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Styl:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "Renderer interf.:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Autozapis:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Autozapis:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Klawisze" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Jêzyk interfejsu:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Jêzyk interfejsu ScummVM" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Sprawd¼ aktualizacje:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Czêstotliwo¶æ automatycznego wyszukiwania aktualizacji ScummVM" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Sprawd¼ teraz" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Chmura" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Chmura" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Dostawca:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Wybrany dostawca przechowywania w chmurze" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<brak>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nazwa u¿ytkownika:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Nazwa u¿ytkownika w tej us³udze" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "U¿ywane miejsce:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "Ilo¶æ miejsca zajmowana przez gry zapisane przez ScummVM w tej us³udze" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Ostatnia synchronizacja:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "Czas ostatniej synchronizacji zapisanych stanów gry z t± us³ug±" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Po³±cz" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "Otwórz asystenta po³±czenia z us³ug± przechowywania danych w chmurze" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Od¶wie¿" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "Od¶wie¿ informacje o us³udze przechowywania (nazwê u¿ytkownika i zajmowane " "miejsce)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Pobierz" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Otwiera okno dialogowe zarz±dzania pobieraniem" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Uruchom serwer" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Uruchamia lokalny serwer WWW" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Nie uruchomiono" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "¦cie¿ka bazowa:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Okre¶la ¶cie¿kê g³ówn± dla mened¿era plików" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "G³ówna /:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Port:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1307,76 +1307,76 @@ msgstr "" "Okre¶la port u¿ywany do komunikacji z serwerem.\n" "(Uwierzytelnianie jest dostêpne jedynie na domy¶lnym porcie.)" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Zastosuj" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Nie uda³o siê zmieniæ dostawcy przechowywania!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Inna us³uga przechowywania jest ju¿ aktywna." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 #, fuzzy msgid "Theme does not support selected language!" msgstr "Silnik nie wspiera zapisu stanu gry" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 #, fuzzy msgid "Theme cannot be loaded!" msgstr "NIE wczytano gry" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." msgstr "" -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Ten katalog jest zabezpieczony przed zapisem. Wybierz inny." -#: gui/options.cpp:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Wybierz katalog dla stylów GUI" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Wybierz katalog dla dodatkowych plików" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Wybierz katalog dla wtyczek" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Wybierz g³ówny katalog dla mened¿era plików" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu B" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<teraz>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<nigdy>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Zatrzymaj serwer" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Zatrzymuje lokalny serwer WWW" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1455,7 +1455,7 @@ msgstr "Na pewno chcesz usun±æ to nagranie?" msgid "Unknown Author" msgstr "Nieznany autor" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM nie mo¿e otworzyæ katalogu!" @@ -1646,7 +1646,7 @@ msgstr "" msgid "Proceed" msgstr "Kontynuuj" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Wyczy¶æ" @@ -2392,11 +2392,11 @@ msgstr "Tryb touchpada w³±czony." msgid "Touchpad mode disabled." msgstr "Tryb touchpada wy³±czony." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Tryb klikania" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2404,11 +2404,11 @@ msgstr "Tryb klikania" msgid "Left Click" msgstr "Klikniêcie LPM" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "¦rodkowy przycisk" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2785,16 +2785,16 @@ msgstr "Sprawd¼ aktualizacjê..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "" #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "" @@ -4433,6 +4433,17 @@ msgstr "Intro z wersji dyskietkowej" msgid "Use the floppy version's intro (CD version only)" msgstr "U¿yj intra z wersji dyskietkowej (tylko dla wersji CD)" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "" + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/pt_BR.po b/po/pt_BR.po index 92243f43b3..3cf3c37068 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-03-03 22:26+0000\n" "Last-Translator: rafaelmessias <rmmartins@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://translations.scummvm.org/" @@ -36,33 +36,33 @@ msgstr "Funções compiladas em:" msgid "Available engines:" msgstr "Programas disponíveis:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Mostrar arquivos ocultos" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Mostrar arquivos marcados como ocultos" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Acima" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Ir para o diretório anterior" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -74,50 +74,50 @@ msgstr "Acima" msgid "Cancel" msgstr "Cancelar" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Escolher" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "Selecione a pasta para baixar os arquivos do jogo" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Selecione a pasta com os arquivos do jogo" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "De: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Para: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Cancelar download" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Cancelar download" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Ocultar" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" msgstr "" "Parece que a sua conexão é limitada. Deseja baixar os arquivos mesmo assim?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -129,8 +129,8 @@ msgstr "" msgid "Yes" msgstr "Sim" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -142,11 +142,11 @@ msgstr "Sim" msgid "No" msgstr "Não" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM não conseguiu abrir a pasta especificada!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -154,9 +154,9 @@ msgstr "" "Não é possível criar uma pasta para baixar - a pasta especificada possui um " "arquivo com o mesmo nome." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -175,7 +175,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -184,26 +184,26 @@ msgstr "" "O \"%s\" já existe na pasta especificada.\n" "Deseja mesmo baixar arquivos nessa pasta?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Baixado %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Velocidade de download: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Jogo" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "Código:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -211,215 +211,215 @@ msgstr "" "Código identificador usado para se referir a jogos salvos e execução do jogo " "a partir da linha de comando" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "Código:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Nome:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Título completo do jogo" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Nome:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Idioma:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<padrão>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Sistema:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Sistema que o jogo foi desenvolvido originalmente" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Sistema:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Engine" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Gráficos" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Sobrepor configuração global de gráficos" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Sobrepor configuração global de gráficos" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Áudio" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Sobrepor configuração global de áudio" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Sobrepor configuração global de áudio" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Sobrepor configuração global de volume" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Sobrepor configuração global de volume" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Sobrepor configuração global de MIDI" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Sobrepor configuração global de MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Sobrepor configuração global de MT-32" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Sobrepor configuração global de MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Pastas" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Pastas" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Pasta do Jogo:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Pasta do Jogo:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Pasta de Extras:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Pasta de Extras:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Pasta para Salvar:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Especifique onde guardar seus jogos salvos" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Pasta para Salvar:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Nenhum(a)" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Padrão" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Selecione o SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Selecione a pasta adicional do jogo" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Selecione a pasta para os jogos salvos" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 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:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "Este código já esta sendo utilizado. Por favor, escolha outro." @@ -435,107 +435,107 @@ msgstr "" msgid "Ok" msgstr "" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 #, fuzzy msgid "Do you really want to overwrite the file?" msgstr "Você realmente quer excluir este jogo salvo?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 #, fuzzy msgid "Reverb" msgstr "Nunca" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 #, fuzzy msgid "Active" msgstr "(Ativo)" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 #, fuzzy msgid "Speed:" msgstr "Voz" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Outros" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "" -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 #, fuzzy msgid "" "Do you really want to reset all FluidSynth settings to their default values?" @@ -812,7 +812,7 @@ msgid "every 30 mins" msgstr "a cada 30 mins" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Nenhum(a)" @@ -838,188 +838,188 @@ msgstr "a configuração de tela cheia não pôde ser mudada" msgid "the filtering setting could not be changed" msgstr "a configuração de tela cheia não pôde ser mudada" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "" -#: gui/options.cpp:932 +#: gui/options.cpp:934 #, fuzzy msgid "Touchpad mouse mode" msgstr "Modo Touchpad desligado." -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "" -#: gui/options.cpp:941 +#: gui/options.cpp:943 #, fuzzy msgid "Pointer Speed:" msgstr "Voz" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "" -#: gui/options.cpp:943 +#: gui/options.cpp:945 #, fuzzy msgctxt "lowres" msgid "Pointer Speed:" msgstr "Voz" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Modo gráfico:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Renderização:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Modos especiais de dithering suportados por alguns jogos" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Modo Tela Cheia" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 #, fuzzy msgid "Filter graphics" msgstr "Gráficos" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Correção de proporção" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Correção de proporção para jogos 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Dispositivo pref.:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Disp. de música:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 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:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 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:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Dispositivo pref.:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Dispositivo de música:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "Emulador AdLib:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib é utilizado para música em vários jogos" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "Dispositivo GM:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 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:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Não usar música General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Usar o primeiro dispositivo disponível" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Mixar AdLib/MIDI" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Usar MIDI e AdLib juntos na geração de som" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "Ganho MIDI:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "Dispositivo MT-32:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 real (desligar emulação GM)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1027,375 +1027,375 @@ msgstr "" "Verifique se você quer usar o seu dispositivo de hardware de som compatível " "com Roland" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 real (sem emulação GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 #, fuzzy msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland MT-32 real (desligar emulação GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" msgstr "" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Não usar música Roland MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Texto e Voz:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Voz" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Legendas" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Ambos" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Rapidez legendas:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Texto e Voz:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Voz" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Legs" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Ambos" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Mostrar legenda e vozes (dublagem)" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Velocidade das legendas:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Volume da Música:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Volume da Música:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Mudo" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Volume dos Sons:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Volume dos efeitos sonoros especiais" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Volume dos Sons:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Volume da Voz:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Volume da Voz:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 #, fuzzy msgid "Control" msgstr "Controle do Mouse" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Pasta do Tema:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Pasta do Tema:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Pasta de Plugins:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Pasta de Plugins:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Outros" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "Renderizador GUI:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Auto-Salvar:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Auto-Salvar:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Teclas" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Idioma do GUI:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Linguagem do ScummVM GUI" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nome de usuário:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 #, fuzzy msgid "Download" msgstr "Baixo" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 #, fuzzy msgid "Not running" msgstr "Erro ao executar o jogo:" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 #, fuzzy msgid "/root/ Path:" msgstr "Pasta de Extras" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Especifique onde guardar seus jogos salvos" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Pasta de Extras" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 #, fuzzy msgid "Server's port:" msgstr "Servidor:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Falha ao salvar o jogo" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 #, fuzzy msgid "Theme does not support selected language!" msgstr "O programa atual não suporta salvar o progresso do jogo" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 #, fuzzy msgid "Theme cannot be loaded!" msgstr "O jogo NÃO foi carregado" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." msgstr "" -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Selecione a pasta para os temas da Interface de Uso Gráfico" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Selecione a pasta para os arquivos extras" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Selecione a pasta para os plugins" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Selecione a pasta para os arquivos extras" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 #, fuzzy msgid "<never>" msgstr "Nunca" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 #, fuzzy msgid "Stop server" msgstr "Servidor:" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1476,7 +1476,7 @@ msgstr "Você realmente quer excluir este jogo salvo?" msgid "Unknown Author" msgstr "Erro desconhecido" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 #, fuzzy msgid "ScummVM could not access the directory!" msgstr "ScummVM não conseguiu abrir a pasta especificada!" @@ -1671,7 +1671,7 @@ msgstr "" msgid "Proceed" msgstr "" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Limpar valor" @@ -2429,11 +2429,11 @@ msgstr "Modo Touchpad ligado." msgid "Touchpad mode disabled." msgstr "Modo Touchpad desligado." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2441,12 +2441,12 @@ msgstr "" msgid "Left Click" msgstr "Clique com o botão esquerdo" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 #, fuzzy msgid "Middle Click" msgstr "Item do meio na esquerda" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2827,16 +2827,16 @@ msgstr "Procurar por Atualizações..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "" #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "" @@ -4473,6 +4473,17 @@ msgstr "" msgid "Use the floppy version's intro (CD version only)" msgstr "" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "" + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/pt_PT.po b/po/pt_PT.po index d6683f85d1..3a53d9d690 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.10.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-01-30 14:50+0000\n" "Last-Translator: Vitor Santos <vitorhgsantos90@gmail.com>\n" "Language-Team: Portuguese (Portugal) <https://translations.scummvm.org/" @@ -33,33 +33,33 @@ msgstr "Recursos compilados em:" msgid "Available engines:" msgstr "Motores de jogo disponíveis:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Mostrar ficheiros ocultos" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Mostrar ficheiros marcados como ocultos" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Acima" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Ir para a directoria anterior" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,42 +71,42 @@ msgstr "Acima" msgid "Cancel" msgstr "Cancelar" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Escolher" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "Seleccione a directoria de descarga dos arquivos do jogo" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Seleccione a directoria com os arquivos do jogo" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "De: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Para: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Cancelar descarga" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Cancelar descarga" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Esconder" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -114,8 +114,8 @@ msgstr "" "Parece que a sua conexão é limitada. Deseja mesmo assim fazer a descarga dos " "ficheiros?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -127,8 +127,8 @@ msgstr "" msgid "Yes" msgstr "Sim" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -140,11 +140,11 @@ msgstr "Sim" msgid "No" msgstr "Não" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM não conseguiu abrir a directoria especificada!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -152,9 +152,9 @@ msgstr "" "Não é possível criar uma directoria para a descarga - a directoria " "especificada possui um arquivo com o mesmo nome." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -173,7 +173,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -182,26 +182,26 @@ msgstr "" "O \"%s\" já existe na directoria especificada.\n" "Deseja mesmo descarregar ficheiros nessa directoria?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Descarregado %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Velocidade de descarga: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Jogo" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "Código:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -209,30 +209,30 @@ msgstr "" "Código usado para identificar os jogos salvos e para executar o jogo a " "partir da linha de comandos" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "Código:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Nome:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Título completo do jogo" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Nome:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Idioma:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -240,180 +240,180 @@ msgstr "" "Idioma do jogo. Esta opção não muda a sua versão do jogo de Português para " "Inglês" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<padrão>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Plataforma:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Plataforma para a qual o jogo foi originalmente desenvolvido" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Plataforma:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Recursos" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Gráficos" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Substituir configurações gerais de gráficos" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Substituir configurações gerais de gráficos" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Áudio" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Substituir configurações gerais de áudio" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Substituir configurações gerais de áudio" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Substituir configurações gerais de volume" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Substituir configurações gerais de volume" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Substituir configurações gerais de MIDI" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Substituir configurações gerais de MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Substituir configurações gerais de MT-32" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Substituir configurações gerais de MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Caminhos" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Caminhos" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Caminho do Jogo:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Caminho do Jogo:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Caminho de Extras:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 msgid "Specifies path to additional data used by the game" msgstr "Especifica o caminho para dados adicionais usados pelo jogo" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Caminho de Extras:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Caminho para Salvar:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Especifica onde os jogos salvos são colocados" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Caminho para Salvar:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Nenhum" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Padrão" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Seleccione o SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Seleccione uma directoria adicional para o jogo" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Seleccione uma directoria para salvar o jogo" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -422,7 +422,7 @@ msgstr "" "directorias que não sejam predefinidas. Se quiser que os seus jogos salvos " "sejam sincronizados, use a directoria padrão." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "" "O código deste jogo já se encontra em utilização. Por favor, escolha outro " @@ -440,103 +440,103 @@ msgstr "Notas:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Escolher ficheiro para carregar" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Introduzir nome para salvar" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Deseja mesmo substituir o ficheiro?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Reverberação" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Activo" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Espaço:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Supressão:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Amplitude:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Nível:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Coro" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Velocidade:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Intensidade:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Tipo:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Seno" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Triângulo" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Vários" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolação:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Nenhum (acelerado)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Linear" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Quarta" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Sétima" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Reiniciar" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Restaurar todas as configurações FluidSynth para os valores de origem." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -813,7 +813,7 @@ msgid "every 30 mins" msgstr "a cada 30 mins" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Nenhuma" @@ -838,543 +838,543 @@ msgstr "a configuração de ecrã inteiro não pôde ser alterada" msgid "the filtering setting could not be changed" msgstr "a configuração de filtragem não pôde ser alterada" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "" -#: gui/options.cpp:941 +#: gui/options.cpp:943 #, fuzzy msgid "Pointer Speed:" msgstr "Velocidade:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "" -#: gui/options.cpp:943 +#: gui/options.cpp:945 #, fuzzy msgctxt "lowres" msgid "Pointer Speed:" msgstr "Velocidade:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Modelo de gráficos:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Renderização:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Modos especiais de pontilhado suportados por alguns jogos" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Modo de ecrã inteiro" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Filtros gráficos" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "Usar filtragem linear quando dimensionar gráficos" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Correção da taxa de proporção" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Corrigir taxa de proporção em jogos de 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Dispositivo Preferido:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Dispositivo de Música:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "Especifica dispositivo sonoro ou emulador de placa sonora preferida" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "Emulador AdLib:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib é usado para música em vários jogos" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" -#: gui/options.cpp:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" msgstr "" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" msgstr "" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" -#: gui/options.cpp:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 #, fuzzy msgid "Theme does not support selected language!" msgstr "Este jogo não permite carregar jogos a partir do menu principal." -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." msgstr "" -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 msgid "The chosen directory cannot be written to. Please select another one." msgstr "" -#: gui/options.cpp:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1451,7 +1451,7 @@ msgstr "" msgid "Unknown Author" msgstr "" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "" @@ -1635,7 +1635,7 @@ msgstr "" msgid "Proceed" msgstr "" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "" @@ -2347,11 +2347,11 @@ msgstr "" msgid "Touchpad mode disabled." msgstr "" -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2359,11 +2359,11 @@ msgstr "" msgid "Left Click" msgstr "" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2738,16 +2738,16 @@ msgstr "" #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "" #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "" @@ -4294,6 +4294,17 @@ msgstr "" msgid "Use the floppy version's intro (CD version only)" msgstr "" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "" + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/ru_RU.po b/po/ru_RU.po index 36f9deecef..39a2fcb20c 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.8.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-11-28 17:59+0300\n" "Last-Translator: Ivan Lukyanov <greencis@mail.ru>\n" "Language-Team: Russian <https://translations.scummvm.org/projects/scummvm/" @@ -33,33 +33,33 @@ msgstr "²ÚÛîçñÝÝëÕ Ò áÑÞàÚã ÞßæØØ:" msgid "Available engines:" msgstr "´ÞáâãßÝëÕ ÔÒØÖÚØ:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "¿ÞÚÐ×Ðâì áÚàëâëÕ äÐÙÛë" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "¿ÞÚÐ×Ðâì äÐÙÛë á ÐâàØÑãâÞÜ \"áÚàëâëÙ\"" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "²ÒÕàå" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "¿ÕàÕÙâØ ÝÐ ÔØàÕÚâÞàØî ãàÞÒÝÕÜ ÒëèÕ" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,42 +71,42 @@ msgstr "²ÒÕàå" msgid "Cancel" msgstr "¾âÜÕÝÐ" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "²ëÑàÐâì" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "²ëÑÕàØâÕ ÔØàÕÚâÞàØî ÔÛï áÚÐçØÒÐÝØï ÔÐÝÝëå ØÓàë" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "²ëÑÕàØâÕ ÔØàÕÚâÞàØî á äÐÙÛÐÜØ ØÓàë" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "¾â: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "º: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "¿àÕàÒÐâì ×ÐÓàã×Úã" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "¿àÕàÒÐâì" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "ÁßàïâÐâì" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -114,8 +114,8 @@ msgstr "" "¿ÞåÞÖÕ, çâÞ ÒÐèÕ áÞÕÔØÝÕÝØÕ ÞÓàÐÝØçÕÝÞ. ²ë ÔÕÙáâÒØâÕÛìÝÞ åÞâØâÕ ×ÐÓàãרâì " "äÐÙÛë?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -127,8 +127,8 @@ msgstr "" msgid "Yes" msgstr "´Ð" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -140,11 +140,11 @@ msgstr "´Ð" msgid "No" msgstr "½Õâ" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM ÝÕ ÜÞÖÕâ ÞâÚàëâì ãÚÐ×ÐÝÝãî ÔØàÕÚâÞàØî!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -152,9 +152,9 @@ msgstr "" "½Õ ãÔÐÛÞáì áÞ×ÔÐâì ÔØàÕÚâÞàØî ÔÛï ×ÐÓàã×ÚØ: ãÚÐ×ÐÝÝÐï ÔØàÕÚâÞàØï ãÖÕ " "áÞÔÕàÖØâ äÐÙÛ á âÐÚØÜ ÖÕ ØÜÕÝÕÜ." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -173,7 +173,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -182,26 +182,26 @@ msgstr "" "\"%s\" ãÖÕ áãéÕáâÒãÕâ Ò ãÚÐ×ÐÝÝÞÙ ÔØàÕÚâÞàØØ.\n" "²ë ÔÕÙáâÒØâÕÛìÝÞ åÞâØâÕ ×ÐÓàãרâì äÐÙÛë Ò íâã ÔØàÕÚâÞàØî?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "·ÐÓàãÖÕÝÞ %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "ÁÚÞàÞáâì ×ÐÓàã×ÚØ: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "¸ÓàÐ" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -209,210 +209,210 @@ msgstr "" "ºÞàÞâÚØÙ ØÔÕÝâØäØÚÐâÞà, ØáßÞÛì×ãÕÜëÙ ÔÛï ØÜñÝ áÞåàÐÝÕÝØÙ ØÓà Ø ÔÛï ×ÐßãáÚÐ " "Ø× ÚÞÜÐÝÔÝÞÙ áâàÞÚØ" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "½Ð×ÒÐÝØÕ:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "¿ÞÛÝÞÕ ÝÐ×ÒÐÝØÕ ØÓàë" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "½Ð×Ò:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Ï×ëÚ:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" msgstr "" "Ï×ëÚ ØÓàë. ¸×ÜÕÝÕÝØÕ íâÞÙ ÝÐáâàÞÙÚØ ÝÕ ßàÕÒàÐâØâ ØÓàã ÝÐ ÐÝÓÛØÙáÚÞÜ Ò àãááÚãî" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<ßÞ ãÜÞÛçÐÝØî>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "¿ÛÐâäÞàÜÐ:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "¿ÛÐâäÞàÜÐ, ÔÛï ÚÞâÞàÞÙ ØÓàÐ ÑëÛÐ Ø×ÝÐçÐÛìÝÞ àÐ×àÐÑÞâÐÝÐ" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "¿ÛÐâäÞàÜÐ:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "´ÒØÖÞÚ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "³àÐäØÚÐ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "³àä" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "¿ÕàÕÚàëâì ÓÛÞÑÐÛìÝëÕ ãáâÐÝÞÒÚØ ÓàÐäØÚØ" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "¿ÕàÕÚàëâì ÓÛÞÑÐÛìÝëÕ ãáâÐÝÞÒÚØ ÓàÐäØÚØ" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "°ãÔØÞ" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "¿ÕàÕÚàëâì ÓÛÞÑÐÛìÝëÕ ãáâÐÝÞÒÚØ ÐãÔØÞ" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "¿ÕàÕÚàëâì ÓÛÞÑÐÛìÝëÕ ãáâÐÝÞÒÚØ ÐãÔØÞ" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "³àÞÜÚÞáâì" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "³àÞÜÚ" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "¿ÕàÕÚàëâì ÓÛÞÑÐÛìÝëÕ ãáâÐÝÞÒÚØ ÓàÞÜÚÞáâØ" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "¿ÕàÕÚàëâì ÓÛÞÑÐÛìÝëÕ ãáâÐÝÞÒÚØ ÓàÞÜÚÞáâØ" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "¿ÕàÕÚàëâì ÓÛÞÑÐÛìÝëÕ ãáâÐÝÞÒÚØ MIDI" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "¿ÕàÕÚàëâì ÓÛÞÑÐÛìÝëÕ ãáâÐÝÞÒÚØ MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "¿ÕàÕÚàëâì ÓÛÞÑÐÛìÝëÕ ãáâÐÝÞÒÚØ MT-32" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "¿ÕàÕÚàëâì ÓÛÞÑÐÛìÝëÕ ãáâÐÝÞÒÚØ MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "¿ãâØ" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "¿ãâØ" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "¿ãâì Ú ØÓàÕ:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "³ÔÕ ØÓàÐ:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "´Þß. ßãâì:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 msgid "Specifies path to additional data used by the game" msgstr "ÃÚÐ×ëÒÐÕâ ßãâì Ú ÔÞßÞÛÝØâÕÛìÝëÜ äÐÙÛÐÜ ÔÐÝÝëå ÔÛï ØÓàë" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "´Þß. ßãâì:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "ÁÞåàÐÝÕÝØï ØÓà:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "ÃÚÐ×ëÒÐÕâ ßãâì Ú áÞåàÐÝÕÝØïÜ ØÓàë" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "¿ãâì áÞåà:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "½Õ ×ÐÔÐÝ" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "¿Þ ãÜÞÛçÐÝØî" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "²ëÑÕàØâÕ SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "²ëÑÕàØâÕ ÔÞßÞÛÝØâÕÛìÝãî ÔØàÕÚâÞàØî ØÓàë" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "²ëÑÕàØâÕ ÔØàÕÚâÞàØî ÔÛï áÞåàÐÝÕÝØÙ" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -421,7 +421,7 @@ msgstr "" "µáÛØ Òë åÞâØâÕ, çâÞÑë ÒÐèØ áÞåàÐÝÕÝØï ØÓà áØÝåàÞÝØ×ØàÞÒÐÛØáì, ØáßÞÛì×ãÙâÕ " "ÔØàÕÚâÞàØî ßÞ ãÜÞÛçÐÝØî." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "ÍâÞâ ID ØÓàë ãÖÕ ØáßÞÛì×ãÕâáï. ¿ÞÖÐÛãÙáâÐ, ÒëÑÕàØâÕ ÔàãÓÞÙ." @@ -437,103 +437,103 @@ msgstr "·ÐÜÕâÚØ:" msgid "Ok" msgstr "Ok" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "²ëÑÕàØâÕ äÐÙÛ ÔÛï ×ÐÓàã×ÚØ" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "²ÒÕÔØâÕ ØÜï äÐÙÛÐ ÔÛï ×ÐߨáØ" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "²ë ÔÕÙáâÒØâÕÛìÝÞ åÞâØâÕ ßÕàÕ×ÐߨáÐâì íâÞâ äÐÙÛ?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "ÀÕÒÕàÑÕàÐæØï" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "°ÚâØÒÝÞ" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "ºÞÜÝÐâÐ:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "¿ÞÔÐÒÛÕÝØÕ:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "ÈØàØÝÐ:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "ÃàÞÒÕÝì:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "ÅÞà" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "ÁÚÞàÞáâì:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "³ÛãÑØÝÐ:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "ÂØß:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "ÁØÝãáÞØÔÐ" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "ÂàÕãÓÞÛìÝÐï" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "ÀÐ×ÝÞÕ" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "¸ÝâÕàßÞÛïæØï:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "½Õâ (ÑëáâàÞ)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "»ØÝÕÙÝÐï" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "ÇÕâÒñàâÞÓÞ ßÞàïÔÚÐ" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "ÁÕÔìÜÞÓÞ ßÞàïÔÚÐ" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "ÁÑàÞá" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "ÁÑàÞáØâì ÒáÕ ãáâÐÝÞÒÚØ FluidSynth Ò ×ÝÐçÕÝØï ßÞ ãÜÞÛçÐÝØî." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -802,7 +802,7 @@ msgid "every 30 mins" msgstr "ÚÐÖÔëÕ 30 ÜØÝãâ" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "½Õ ×ÐÔÐÝ" @@ -827,186 +827,186 @@ msgstr "ßÞÛÝÞíÚàÐÝÝëÙ àÕÖØÜ ÝÕ ÜÞÖÕâ Ñëâì Ø×ÜÕÝñÝ" msgid "the filtering setting could not be changed" msgstr "àÕÖØÜ äØÛìâàÐæØØ ÝÕ ÜÞÖÕâ Ñëâì Ø×ÜÕÝñÝ" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "¿ÞÚÐ×Ðâì ãßàÐÒÛÕÝØÕ íÚàÐÝÞÜ" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "ÀÕÖØÜ âÐçßÐÔÐ" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "¿ÞÜÕÝïâì ÜÕáâÐÜØ ÚÝÞßÚØ ¼ÕÝî Ø ½Ð×ÐÔ" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "ÁÚÞàÞáâì ãÚÐ×ÐâÕÛï:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "ÁÚÞàÞáâì ÔÛï ÚÛÐÒØè íÜãÛïæØØ ÜëèØ ÝÐ ÚÛÐÒØÐâãàÕ/ÔÖÞÙáâØÚÕ" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "ÁÚÞàÞáâì ãÚÐ×ÐâÕÛï:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "¼ñàâÒÐï ×ÞÝÐ ÔÖÞÙáâØÚÐ:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "¼ñàâÒÐï ×ÞÝÐ ÐÝÐÛÞÓÞÒÞÓÞ ÔÖÞÙáâØÚÐ" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "¼ñàâÒÐï ×ÞÝÐ ÔÖÞÙáâØÚÐ:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "°ßßÐàÐâÝëÙ èÕÙÔÕà:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "ÀÐ×ÛØçÝëÕ ÐßßÐàÐâÝëÕ èÕÙÔÕàë ÔÐîâ àÐ×ÛØçÝëÕ ×àØâÕÛìÝëÕ íääÕÚâë" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "°ßßÐàÐâÝëÙ èÕÙÔÕà:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "ÀÐ×ÛØçÝëÕ èÕÙÔÕàë ÔÐîâ àÐ×ÛØçÝëÕ íääÕÚâë" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "³àÐä. àÕÖØÜ:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "ÀÕÖØÜ àÐáâàÐ:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "ÁßÕæØÐÛìÝëÕ àÕÖØÜë àÕÝÔÕàØÝÓÐ, ßÞÔÔÕàÖØÒÐÕÜëÕ ÝÕÚÞâÞàëÜØ ØÓàÐÜØ" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "¿ÞÛÝÞíÚàÐÝÝëÙ àÕÖØÜ" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "ÄØÛìâàÞÒÐÝØÕ ÓàÐäØÚØ" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "¸áßÞÛì×ÞÒÐâì ÛØÝÕÙÝãî äØÛìâàÐæØî ÔÛï ãÒÕÛØçÕÝØï àÐ×àÕèÕÝØï" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "ºÞààÕÚæØï áÞÞâÝÞèÕÝØï áâÞàÞÝ" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "ºÞààÕÚâØàÞÒÐâì áÞÞâÝÞèÕÝØÕ áâÞàÞÝ ÔÛï ØÓà á àÐ×àÕèÕÝØÕÜ 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "¿àÕÔßÞçØâÐÕÜÞÕ:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "·ÒãÚÞÒÞÕ ãáâ-ÒÞ:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "" "ÃÚÐ×ëÒÐÕâ ßàÕÔßÞçØâÐÕÜÞÕ ×ÒãÚÞÒÞÕ ãáâàÞÙáâÒÞ ØÛØ íÜãÛïâÞà ×ÒãÚÞÒÞÙ ÚÐàâë" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "ÃÚÐ×ëÒÐÕâ ÒëåÞÔÝÞÕ ×ÒãÚÞÒÞÕ ãáâàÞÙáâÒÞ ØÛØ íÜãÛïâÞà ×ÒãÚÞÒÞÙ ÚÐàâë" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "¿àÕÔßÞçØâÐÕÜÞÕ:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "·ÒãÚÞÒÞÕ ãáâ-ÒÞ:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "ÍÜãÛïâÞà AdLib:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "·ÒãÚÞÒÐï ÚÐàâÐ AdLib ØáßÞÛì×ãÕâáï ÜÝÞÓØÜØ ØÓàÐÜØ" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "ÃáâàÞÙáâÒÞ GM:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "ÃÚÐ×ëÒÐÕâ ÒëåÞÔÝÞÕ ×ÒãÚÞÒÞÕ ãáâàÞÙáâÒÞ ÔÛï MIDI" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "½Õ ØáßÞÛì×ÞÒÐâì Üã×ëÚã ÔÛï General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "¸áßÞÛì×ÞÒÐâì ßÕàÒÞÕ ÔÞáâãßÝÞÕ ãáâàÞÙáâÒÞ" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont ßÞÔÔÕàÖØÒÐÕâáï ÝÕÚÞâÞàëÜØ ×ÒãÚÞÒëÜØ ÚÐàâÐÜØ, FluidSynth Ø Timidity" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "ÁÜÕèÐÝÝëÙ àÕÖØÜ AdLib/MIDI" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "¸áßÞÛì×ÞÒÐâì Ø MIDI, Ø AdLib ÔÛï ÓÕÝÕàÐæØØ ×ÒãÚÐ" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "ÃáØÛÕÝØÕ MIDI:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "Ãáâà. MT-32:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "ÃÚÐ×ëÒÐÕâ ×ÒãÚÞÒÞÕ ãáâàÞÙáâÒÞ ßÞ ãÜÞÛçÐÝØî ÔÛï ÒëÒÞÔÐ ÝÐ Roland MT-32/LAPC1/" "CM32l/CM64" -#: gui/options.cpp:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "½ÐáâÞïéØÙ Roland MT-32 (×ÐßàÕâØâì íÜãÛïæØî GM)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1014,16 +1014,16 @@ msgstr "" "¾âÜÕâìâÕ, ÕáÛØ ã ÒÐá ßÞÔÚÛîçÕÝÞ Roland-áÞÒÜÕáâØÜÞÕ ×ÒãÚÞÒÞÕ ãáâàÞÙáâÒÞ Ø Òë " "åÞâØâÕ ÕÓÞ ØáßÞÛì×ÞÒÐâì" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "½ÐáâÞïéØÙ Roland MT-32 (ÑÕ× íÜãÛïæØØ GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "ÃáâàÞÙáâÒÞ Roland GS (àÐ×àÕèØâì ÜÐßߨÝÓ MT-32)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1031,273 +1031,273 @@ msgstr "" "¾âÜÕâìâÕ, ÕáÛØ åÞâØâÕ àÐ×àÕèØâì ÜÐßߨÝÓ ÔÛï íÜãÛïæØØ MT-32 ÝÐ ãáâàÞÙáâÒÕ " "Roland GS" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "½Õ ØáßÞÛì×ÞÒÐâì Üã×ëÚã ÔÛï MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "ÂÕÚáâ Ø Þ×ÒãçÚÐ:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "¾×ÒãçÚÐ" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "ÁãÑâØâàë" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "¾ÑÐ" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "ÁÚÞàÞáâì âØâàÞÒ:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "ÂÕÚáâ Ø Þ×ÒãçÚÐ:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "¾×Ò" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "ÁãÑ" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "¾ÑÐ" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "¿ÞÚÐ×ëÒÐâì áãÑâØâàë Ø ÒÞáßàÞØ×ÒÞÔØâì àÕçì" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "ÁÚÞàÞáâì âØâàÞÒ:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "³àÞÜÚ. Üã×ëÚØ:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "³àÞÜÚ. Üã×ëÚØ:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "²ëÚÛ. Òáñ" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "³àÞÜÚÞáâì SFX:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "³àÞÜÚÞáâì áßÕæØÐÛìÝëå ×ÒãÚÞÒëå íääÕÚâÞÒ" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "³àÞÜÚ. SFX:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "³àÞÜÚ. Þ×ÒãçÚØ:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "³àÞÜÚ. Þ×ÒãçÚØ:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "ÈÕÙÔÕà" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "ÃßàÐÒÛÕÝØÕ" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "½ÐáâàÞÙÚØ FluidSynth" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "¿ãâì Ú âÕÜÐÜ:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "³ÔÕ âÕÜë:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "ÃÚÐ×ëÒÐÕâ ßãâì Ú ÔÞßÞÛÝØâÕÛìÝëÜ äÐÙÛÐÜ ÔÐÝÝëå, ØáßÞÛì×ãÕÜëå ÒáÕÜØ ØÓàÐÜØ " "ÛØÑÞ ScummVM" -#: gui/options.cpp:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "¿ãâì Ú ßÛÐÓØÝÐÜ:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "¿ãâì Ú ßÛÐÓØÝÐÜ:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "ÀÐ×ÝÞÕ" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "ÂÕÜÐ:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "ÀØáÞÒÐÛÚÐ GUI:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "°ÒâÞáÞåàÐÝÕÝØÕ:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "°ÒâÞáÞåà.:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "ºÛÐÒØèØ" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Ï×ëÚ GUI:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Ï×ëÚ ÓàÐäØçÕáÚÞÓÞ ØÝâÕàäÕÙáÐ ScummVM" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "¿àÞÒÕàïâì ÞÑÝÞÒÛÕÝØï:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "ºÐÚ çÐáâÞ ßàÞÒÕàïâì ÞÑÝÞÒÛÕÝØï ScummVM" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "¿àÞÒÕàØâì áÕÙçÐá" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "¾ÑÛÐÚÞ" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "¾ÑÛÐÚÞ" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "¾ÑÛÐÚÞ:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "°ÚâØÒÝÞÕ ÞÑÛÐçÝÞÕ åàÐÝØÛØéÕ" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<ÝÕâ>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "¿ÞÛì×ÞÒÐâÕÛì:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "¸Üï ßÞÛì×ÞÒÐâÕÛï Ò íâÞÜ ÞÑÛÐÚÕ" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "¸áßÞÛì×ãÕÜëÙ ÞÑêñÜ:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "¾ÑêñÜ, ×ÐÝØÜÐÕÜëÙ áÞåàÐÝÕÝØïÜØ ØÓà ScummVM ÝÐ íâÞÜ ÞÑÛÐÚÕ" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "¿ÞáÛÕÔÝïï áØÝåàÞÝØ×ÐæØï:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "ºÞÓÔÐ ßàÞØ×ÒÞÔØÛÐáì ßÞáÛÕÔÝïï áØÝåàÞÝØ×ÐæØï á íâØÜ ÞÑÛÐÚÞÜ" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "¿ÞÔÚÛîçØâì" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "¾âÚàëÒÐÕâ ÔØÐÛÞÓ ÔÛï ãáâÐÝÞÒÚØ ßÞÔÚÛîçÕÝØï Ú ÞÑÛÐÚã" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "¾ÑÝÞÒØâì" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "¾ÑÝÞÒÛïÕâ âÕÚãéãî ØÝäÞàÜÐæØî ÞÑ ÞÑÛÐÚÕ (ØÜï ßÞÛì×ÞÒÐâÕÛï Ø ÞÑêñÜ)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "·ÐÓàãרâì" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "¾âÚàëÒÐÕâ ÜÕÝÕÔÖÕà ×ÐÓàã×ÞÚ" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "·ÐßãáâØâì áÕàÒÕà" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "·ÐßãáÚÐÕâ ÛÞÚÐÛìÝëÙ ÒÕÑ-áÕàÒÕà" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "½Õ ×ÐßãéÕÝ" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "ºÞàÝÕÒÐï ÔØàÕÚâÞàØï:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "ÃÚÐ×ëÒÐÕâ ßãâì Ú ÔØàÕÚâÞàØØ, ÚãÔÐ ÑãÔÕâ ØÜÕâì ÔÞáâãß ÜÕÝÕÔÖÕà äÐÙÛÞÒ" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "ºÞàÕÝì:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "¿Þàâ áÕàÒÕàÐ:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1305,27 +1305,27 @@ msgstr "" "½ÞÜÕà ßÞàâÐ, ØáßÞÛì×ãÕÜëÙ áÕàÒÕàÞÜ\n" "ÃáâÐÝÞÒÛÕÝØÕ ÔÞáâãßÐ àÐÑÞâÐÕâ âÞÛìÚÞ á ßÞàâÞÜ ßÞ ãÜÞÛçÐÝØî" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "¿àØÜÕÝØâì" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "½Õ ãÔÐÛÞáì áÜÕÝØâì ÞÑÛÐÚÞ!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "ÃÖÕ ÐÚâØÒÝÞ ÔàãÓÞÕ ÞÑÛÐçÝÞÕ åàÐÝØÛØéÕ." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "ÂÕÜÐ ÝÕ ßÞÔÔÕàÖØÒÐÕâ ÒëÑàÐÝÝëÙ ï×ëÚ!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "½ÕÒÞ×ÜÞÖÝÞ ×ÐÓàãרâì âÕÜã!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1333,48 +1333,48 @@ msgstr "" "\n" "½ÐáâàÞÙÚØ ÝÐ ×ÐÚÛÐÔÚÕ ÀÐ×ÝÞÕ ÑãÔãâ ÒÞááâÐÝÞÒÛÕÝë." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 msgid "The chosen directory cannot be written to. Please select another one." msgstr "½Õ ÜÞÓã ߨáÐâì Ò ÒëÑàÐÝÝãî ÔØàÕÚâÞàØî. ¿ÞÖÐÛãÙáâÐ, ãÚÐÖØâÕ ÔàãÓãî." -#: gui/options.cpp:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "²ëÑÕàØâÕ ÔØàÕÚâÞàØî ÔÛï âÕÜ GUI" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "²ëÑÕàØâÕ ÔØàÕÚâÞàØî á ÔÞßÞÛÝØâÕÛìÝëÜØ äÐÙÛÐÜØ" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "²ëÑÕàØâÕ ÔØàÕÚâÞàØî á ßÛÐÓØÝÐÜØ" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "²ëÑÕàØâÕ ÔØàÕÚâÞàØî ÔÛï ÚÞàÝï Ò ÜÕÝÕÔÖÕàÕ äÐÙÛÞÒ" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu ÑÐÙâ" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<áÕÙçÐá>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<ÝØÚÞÓÔÐ>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "¾áâÐÝÞÒØâì áÕàÒÕà" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "¾áâÐÝÐÒÛØÒÐÕâ ÛÞÚÐÛìÝëÙ ÒÕÑ-áÕàÒÕà" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1453,7 +1453,7 @@ msgstr "²ë ÔÕÙáâÒØâÕÛìÝÞ åÞâØâÕ ãÔÐÛØâì íâã ×Ðߨáì?" msgid "Unknown Author" msgstr "½ÕØ×ÒÕáâÝëÙ ÐÒâÞà" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM ÝÕ ØÜÕÕâ ÔÞáâãßÐ Ú ãÚÐ×ÐÝÝÞÙ ÔØàÕÚâÞàØØ!" @@ -1644,7 +1644,7 @@ msgstr "" msgid "Proceed" msgstr "¿àÞÔÞÛÖØâì" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "¾çØáâØâì ×ÝÐçÕÝØÕ" @@ -2393,11 +2393,11 @@ msgstr "ÀÕÖØÜ âÐçßÐÔÐ ÒÚÛîçñÝ." msgid "Touchpad mode disabled." msgstr "ÀÕÖØÜ âÐçßÐÔÐ ÒëÚÛîçÕÝ." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "ÀÕÖØÜ éÕÛçÚÐ" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2405,11 +2405,11 @@ msgstr "ÀÕÖØÜ éÕÛçÚÐ" msgid "Left Click" msgstr "»ÕÒëÙ éÕÛçÞÚ" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "ÁàÕÔÝØÙ éÕÛçÞÚ" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2789,16 +2789,16 @@ msgstr "¿àÞÒÕàØâì ÞÑÝÞÒÛÕÝØï..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "½Õ ãÔÐÛÞáì ÝÐÙâØ äÐÙÛ ÔÒØÖÚÐ %s." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "ÄÐÙÛ ÔÒØÖÚÐ %s ßÞÒàÕÖÔñÝ." @@ -4473,6 +4473,17 @@ msgstr "²áâãßÛÕÝØÕ á ÔØáÚÕâ" msgid "Use the floppy version's intro (CD version only)" msgstr "¸áßÞÛì×ÞÒÐâì ÒáâãßÛÕÝØÕ á ÓØÑÚØå ÔØáÚÞÒ (âÞÛìÚÞ ÔÛï CD-ÒÕàáØØ ØÓàë)" +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "½ÕÒÕàÝÐï ÒÕàáØï äÐÙÛÐ ÔÒØÖÚÐ %s. ¾ÖØÔÐÕâáï %d.%d, Ð ÝÐÙÔÕÝÐ %d.%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "½Õ ãÔÐÛÞáì ÝÐÙâØ äÐÙÛ ÔÒØÖÚÐ %s." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/scummvm.pot b/po/scummvm.pot index 3ece34a704..425e93f0ca 100644 --- a/po/scummvm.pot +++ b/po/scummvm.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 2.1.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+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" @@ -30,33 +30,33 @@ msgstr "" msgid "Available engines:" msgstr "" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -68,49 +68,49 @@ msgstr "" msgid "Cancel" msgstr "" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "" -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "" -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" msgstr "" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -122,8 +122,8 @@ msgstr "" msgid "Yes" msgstr "" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -135,19 +135,19 @@ msgstr "" msgid "No" msgstr "" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." msgstr "" -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -166,247 +166,247 @@ msgstr "" msgid "OK" msgstr "" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" "Do you really want to download files into that directory?" msgstr "" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" msgstr "" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" msgstr "" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 msgid "Specifies path to additional data used by the game" msgstr "" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 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:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "" @@ -422,103 +422,103 @@ msgstr "" msgid "Ok" msgstr "" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "" -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -781,7 +781,7 @@ msgid "every 30 mins" msgstr "" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "" @@ -806,540 +806,540 @@ msgstr "" msgid "the filtering setting could not be changed" msgstr "" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" -#: gui/options.cpp:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" msgstr "" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" msgstr "" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" -#: gui/options.cpp:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." msgstr "" -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 msgid "The chosen directory cannot be written to. Please select another one." msgstr "" -#: gui/options.cpp:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1416,7 +1416,7 @@ msgstr "" msgid "Unknown Author" msgstr "" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "" @@ -1600,7 +1600,7 @@ msgstr "" msgid "Proceed" msgstr "" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "" @@ -2312,11 +2312,11 @@ msgstr "" msgid "Touchpad mode disabled." msgstr "" -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2324,11 +2324,11 @@ msgstr "" msgid "Left Click" msgstr "" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2703,16 +2703,16 @@ msgstr "" #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "" #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "" @@ -4258,6 +4258,17 @@ msgstr "" msgid "Use the floppy version's intro (CD version only)" msgstr "" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "" + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/sv_SE.po b/po/sv_SE.po index cada4aa88a..25cbad138d 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-12-01 10:54+0000\n" "Last-Translator: hampusf <hampus.flink@gmail.com>\n" "Language-Team: Swedish <https://translations.scummvm.org/projects/scummvm/" @@ -34,33 +34,33 @@ msgstr "Funktioner kompilerade i:" msgid "Available engines:" msgstr "Tillgängliga motorer:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Visa gömda filer" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Visa dolda filer" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "Uppåt" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Gå till föregående katalognivå" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -72,42 +72,42 @@ msgstr "Uppåt" msgid "Cancel" msgstr "Avbryt" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Välj" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 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:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Välj katalog med speldata" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "Från: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "Till: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "Avbryt nedladdning" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "Avbryt nedladdning" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "Göm" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -115,8 +115,8 @@ msgstr "" "Det verkar som att din anslutning är begränsad. Vill du verkligen använda " "den för att ladda ner filer?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -128,8 +128,8 @@ msgstr "" msgid "Yes" msgstr "Ja" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -141,11 +141,11 @@ msgstr "Ja" msgid "No" msgstr "Nej" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM kunde inte öppna den valda katalogen!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -153,9 +153,9 @@ msgstr "" "Kan inte skapa katalog för nedladdning - den angivna katalogen innehåller en " "fil med samma namn." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -174,7 +174,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -183,26 +183,26 @@ msgstr "" "\"%s\" existerar redan i den angivna katalogen. Vill du verkligen ladda ner " "filer i den katalogen?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "Laddar ner %s %s / %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "Nedladdningshastighet: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Spel" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -210,30 +210,30 @@ msgstr "" "Kortnamn för spel. Används för att hänvisa till spardata och att starta " "spelet från kommandoraden" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Namn:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Spelets fullständiga titel" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Namn:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Språk:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -241,180 +241,180 @@ 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:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<standard>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Plattform:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Plattformen spelet ursprungligen tillverkades för" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Plattform:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Grafik" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Överskrid globala grafikinställningar" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Överskrid globala grafikinställningar" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Ljud" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Överskrid globala ljudinställningar" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Överskrid globala ljudinställningar" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Volym" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "Volym" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Överskrid globala volyminställningar" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Överskrid globala volyminställningar" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Överskrid globala MIDI-inställningar" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Överskrid globala MIDI-inställningar" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Överskrid globala MT-32 inställningar" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Överskrid globala MT-32 inställningar" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Sökvägar" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Sökvägar" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Sökv. spel:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Sökv. spel:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Sökv. extra:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Sökv. extra:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Sökv. sparat:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Bestämmer var dina spardata lagras" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Sökv. sparat:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Ingen" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standard" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Välj SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Välj en ytterligare spelkatalog" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Välj katalog för spardata" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -422,7 +422,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:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "Detta ID-namn är upptaget. Var god välj ett annat." @@ -438,104 +438,104 @@ msgstr "Anteckningar:" msgid "Ok" msgstr "OK" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Välj en fil att ladda" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Ange ett filnamn för att spara" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Vill du verkligen skriva över filen?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Reverb" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Aktiv" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Rum:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Dämpa:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Bredd:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Nivå:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Chorus" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Hastighet:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Djup:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Typ:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Sinus" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Triangel" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Diverse" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Interpolering:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Ingen (snabbast)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Linjär" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "Fjärde ordningen" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "Sjunde ordningen" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Återställ" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "" "Återställ alla FluidSynth-inställningar till deras ursprungliga värden." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -804,7 +804,7 @@ msgid "every 30 mins" msgstr "var 30:e minut" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Ingen" @@ -829,183 +829,183 @@ msgstr "fullskärmsinställningen kunde inte ändras" msgid "the filtering setting could not be changed" msgstr "filterinställningen kunde inte ändras" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "Visa kontroller på skärmen" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "Touchpad-musläge" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "Växla meny- och tillbakaknappar" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "Pekarhastighet:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "Hastighet för kontroll av muspekare via tangentbord/joystick" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "Pekarhastighet:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "Dödzon för joystick:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "Dödzon för analog joystick" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "Dödzon för joystick:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "Hårdvarushader:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "Olika hårdvarubaserade shaders ger olika visuella effekter" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "Hårdvarushader:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Olika shaders ger olika visuella effekter" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Grafikläge:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Renderingsläge:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Speciella gitterlägen stödda av vissa spel" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Fullskärmsläge" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "Filtrera grafik" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "Använd linjärt filter för att förstora bilden" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Korrektion av bildförhållande" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "Korrigera bildförhållandet för 320 x 200-spel" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Föredragen enhet:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Musikenhet:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "Bestämmer din föredragna emulator för ljudenhet eller ljudkort" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "Bestämmer emulator för ljudenhet eller ljudkort" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Föredr. enhet:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Musikenhet:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "AdLib-emulator:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib används för musik i många spel" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "GM-enhet:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Bestämmer standardenheten för General MIDI-uppspelning" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Använd inte General MIDI-musik" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Använd första tillgängliga enhet" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 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:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Blandat AdLib/MIDI-läge" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "Använd både MIDI och AdLib för ljudgeneration" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "MIDI gain:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "MT-32 enhet:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Äkta Roland MT-32 (inaktivera GM-emulation)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1013,16 +1013,16 @@ msgstr "" "Aktivera om du vill använda din verkliga Roland-kompatibla och dator-" "anslutna ljudenhet" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Äkta Roland MT-32 (ingen GM-emulation)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS-enhet (aktivera MT-32 mappings)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1030,273 +1030,273 @@ msgstr "" "Aktivera om du vill använda patch mapping för att emulera en MT-32 på en " "Roland GS-enhet" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Använd inte Roland MT-32 musik" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Undertext och tal:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Tal" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Undertexter" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Båda" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Texthastighet:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Text och tal:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Tal" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Text" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Båda" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Visa undertexter och spela upp tal" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Texthastighet:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Musikvolym:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Musikvolym:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Ljud av" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "SFX-volym:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Volym för specialeffekter" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "SFX-volym:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Talvolym:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Talvolym:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "Shader" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "Kontroll" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "FluidSynth inställningar" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Sökv. tema:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Sökv. tema:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 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:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Sökv. tillägg:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Sökv. tillägg:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Diverse" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "GUI-rendering:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Autospara:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Autospara:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Tangenter" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "GUI-språk:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "Språk för ScummVM:s användargränssnitt" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "Uppdateringskoll:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "Hur ofta ScummVM kollar efter uppdateringar" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "Kolla nu" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "Moln" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "Moln" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "Lager:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "Aktivera molnlagring" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<ingen>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Anv. namn:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "Användarnamn som används av detta lager" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "Utnyttjat utrymme:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 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:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "Senast synkad:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 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:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Anslut" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "Öppna anslutningsguiden för att ansluta ditt molnlagerkonto" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "Uppdatera" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "Uppdaterar informationen om aktuellt molnlager (användarnamn och användning)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "Nedladdning" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "Öppna fönstret för nedladdningshantering" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "Starta server" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "Starta lokal webbserver" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "Ej aktiv" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "/root/-sökväg:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "Bestämmer vilken katalog filhanteraren har åtkomst till" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "/root/-sökväg:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "Serverport:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1304,27 +1304,27 @@ msgstr "" "Vilken port används av servern\n" "Serverautorisering är endast tillgänglig med standardporten" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "Verkställ" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "Kunde inte ändra molnlager!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "Ett annat molnlager är redan aktivt." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "Temat stöder inte det valda språket!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "Temat kunde inte laddas!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1332,49 +1332,49 @@ msgstr "" "\n" "Diverse inställningar kommer att återställas." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Välj katalog för GUI-teman" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Välj katalog för extra filer" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Välj katalog för tillägg" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "Välj katalog för filhanterarens /root/" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<nu direkt>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<aldrig>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "Stoppa server" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "Stoppa lokal webbserver" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1453,7 +1453,7 @@ msgstr "Vill du verkligen radera den här inspelningen?" msgid "Unknown Author" msgstr "Okänd skapare" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM kunde inte öppna katalogen!" @@ -1644,7 +1644,7 @@ msgstr "" msgid "Proceed" msgstr "Fortsätt" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Töm sökfältet" @@ -2390,11 +2390,11 @@ msgstr "Touchpad-läge aktiverat." msgid "Touchpad mode disabled." msgstr "Touchpad-läge inaktiverat." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Klickläge" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2402,11 +2402,11 @@ msgstr "Klickläge" msgid "Left Click" msgstr "Vänsterklick" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Mittenklick" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2786,16 +2786,16 @@ msgstr "Sök efter uppdateringar..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "Kunde inte hitta spelmotorns datafil '%s'." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "Datafilen '%s' är trasig." @@ -4466,6 +4466,19 @@ msgstr "Diskettintro" msgid "Use the floppy version's intro (CD version only)" msgstr "Använd diskettversionens intro (endast CD-version)" +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"Felaktig version av datafilen '%s' hittades. Version %d.%d krävs, hittade %d." +"%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "Kunde inte hitta spelmotorns datafil '%s'." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/uk_UA.po b/po/uk_UA.po index c57fe07d51..bd09e479eb 100644 --- a/po/uk_UA.po +++ b/po/uk_UA.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.9.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2017-06-14 14:55+0000\n" "Last-Translator: Eugene Sandulenko <sev@scummvm.org>\n" "Language-Team: Ukrainian <https://translations.scummvm.org/projects/scummvm/" @@ -35,33 +35,33 @@ msgstr "²ÚÛîçÕÝö Ò ÑöÛÔ Þßæö÷:" msgid "Available engines:" msgstr "´ÞáâãßÝö ÔÒØÖÚØ:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "¿ÞÚÐ×ÐâØ cåÞÒÐÝö äÐÙÛö" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "¿ÞÚÐ×ãÒÐâØ äÐÙÛØ ïÚö ßÞÜöçÕÝÞ ïÚ áåÞÒÐÝö" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "²ÓÞàã" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "¿ÕàÕÙâØ ÝÐ ßÐßÚã àöÒÝÕÜ ÒØéÕ" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -73,42 +73,42 @@ msgstr "²ÓÞàã" msgid "Cancel" msgstr "²öÔÜöÝÐ" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "²ØÑàÐâØ" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 msgid "Select directory where to download game data" msgstr "²ØÑÕàöâì ßÐßÚã ÚãÔØ ×ÐÒÐÝâÐÖãÒÐâØ äÐÙÛØ ÓàØ" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "²ØÑÕàöâì ßÐßÚã × äÐÙÛÐÜØ ÓàØ" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "²öÔ: " -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "´Þ: " -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "¿àØßØÝØâØ ×ÐÒÐÝâÐÖÕÝÝï" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "¿àØßØÝØâØ" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "ÁåÞÒÐâØ" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" @@ -116,8 +116,8 @@ msgstr "" "²ØÓÛïÔÐô, éÞ ÒÐèÕ ßÞâÞçÝÕ ×'ôÔÝÐÝÝï ÛöÜöâÞÒÐÝÞ. ²Ø ÝÐáßàÐÒÔö åÞçÕâÕ ×ÐàÐ× " "×ÐÒÐÝâÐÖãÒÐâØ äÐÙÛØ ÝÐ æìÞÜã ×'ôÔÝÐÝÝö?" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -129,8 +129,8 @@ msgstr "" msgid "Yes" msgstr "ÂÐÚ" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -142,11 +142,11 @@ msgstr "ÂÐÚ" msgid "No" msgstr "½ö" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM ÝÕ ÜÞÖÕ ÒöÔÚàØâØ ÒÚÐ×ÐÝã ßÐßÚã!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." @@ -154,9 +154,9 @@ msgstr "" "½ÕÜÞÖÛØÒÞ áâÒÞàØâØ ßÐßÚã ÔÛï áÚÐçãÒÐÝÝï: ÒÚÐ×ÐÝÐ ßÐßÚÐ ÜÐô äÐÙÛ × âÐÚÞî Ö " "ÝÐ×ÒÞî." -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -175,7 +175,7 @@ msgstr "" msgid "OK" msgstr "OK" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" @@ -184,26 +184,26 @@ msgstr "" "\"%s\" ÒÖÕ öáÝãô ã ÒÚÐ×ÐÝöÙ ßÐßæö.\n" "ÇØ ÒØ ÔöÙáÝÞ åÞçÕâÕ ×ÐÒÐÝâÐÖØâØ äÐÙÛØ Ò æî ßÐßÚã?" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "·ÐÒÐÝâÐÖÕÝÞ %s %s × %s %s" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, c-format msgid "Download speed: %s %s" msgstr "ÈÒØÔÚöáâì ×ÐÒÐÝâÐÖÕÝÝï: %s %s" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "³àÐ" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -211,30 +211,30 @@ msgstr "" "ºÞàÞâÚØÙ öÔÕÝâØäöÚÐâÞà, ïÚØÙ ÒØÚÞàØáâÞÒãôâìáï ÔÛï ÝÐ×Ò ×ÑÕàÕÖÕÝØå öÓÞà ö ÔÛï " "×ÐßãáÚã × ÚÞÜÐÝÔÝÞ÷ áâàöçÚØ" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "½Ð×ÒÐ:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "¿ÞÒÝÐ ÝÐ×ÒÐ ÓàØ" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "½Ð×ÒÐ:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "¼ÞÒÐ:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" @@ -242,180 +242,180 @@ msgstr "" "¼ÞÒÐ ÓàØ. ·ÜöÝÐ æìÞÓÞ ÝÐÛÐèâãÒÐÝÝï ÝÕ ßÕàÕâÒÞàØâì Óàã ÐÝÓÛöÙáìÚÞî ÝÐ " "ãÚàÐ÷ÝáìÚã" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<×Ð ãÜÞÒçÐÝÝïÜ>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "¿ÛÐâäÞàÜÐ:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "¿ÛÐâäÞàÜÐ, ÔÛï ïÚÞ÷ Óàã ÑãÛÞ àÞ×àÞÑÛÕÝÞ ßÞçÐâÚÞÒÞ" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "¿ÛÐâäÞàÜÐ:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "´ÒØÖÞÚ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "³àÐäöÚÐ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "³àä" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "¿ÕàÕÚàØâØ ÓÛÞÑÐÛìÝö ÝÐÛÐèâãÒÐÝÝï ÓàÐäöÚØ" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "¿ÕàÕÚàØâØ ÓÛÞÑÐÛìÝö ÝÐÛÐèâãÒÐÝÝï ÓàÐäöÚØ" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "°ãÔöÞ" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "¿ÕàÕÚàØâØ ÓÛÞÑÐÛìÝö ÝÐÛÐèâãÒÐÝÝï ÐãÔöÞ" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "¿ÕàÕÚàØâØ ÓÛÞÑÐÛìÝö ÝÐÛÐèâãÒÐÝÝï ÐãÔöÞ" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "³ãçÝöáâì" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "³ãçÝ" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "¿ÕàÕÚàØâØ ÓÛÞÑÐÛìÝö ÝÐÛÐèâãÒÐÝÝï ÓãçÝÞáâö" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "¿ÕàÕÚàØâØ ÓÛÞÑÐÛìÝö ÝÐÛÐèâãÒÐÝÝï ÓãçÝÞáâö" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "¿ÕàÕÚàØâØ ÓÛÞÑÐÛìÝö ÝÐÛÐèâãÒÐÝÝï MIDI" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "¿ÕàÕÚàØâØ ÓÛÞÑÐÛìÝö ÝÐÛÐèâãÒÐÝÝï MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "¿ÕàÕÚàØâØ ÓÛÞÑÐÛìÝö ÝÐÛÐèâãÒÐÝÝï MT-32" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "¿ÕàÕÚàØâØ ÓÛÞÑÐÛìÝö ÝÐÛÐèâãÒÐÝÝï MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "ÈÛïåØ" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "ÈÛïåØ" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "ÈÛïå ÔÞ ÓàØ:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "ÈÛïå ÔÞ ÓàØ:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "´ÞÔÐâÚ. èÛïå:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 msgid "Specifies path to additional data used by the game" msgstr "²ÚÐ×ãô èÛïå ÔÞ ÔÞÔÐâÚÞÒØå äÐÙÛöÒ ÔÐÝØå ÔÛï ÓàØ" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "´ÞÔ. èÛïå:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "ÈÛïå ×ÑÕà.:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "²ÚÐ×ãô èÛïå ÔÞ ×ÑÕàÕÖÕÝØå öÓÞà" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "ÈÛïå ×ÑÕà.:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "½Õ ×ÐÒÔÐÝÞ" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "·Ð ãÜÞÒçÐÝÝïÜ" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "²ØÑÕàöâì SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "²ØÑÕàöâì ÔÞÔÐâÚÞÒã ßÐßÚã ÓàØ" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "²ØÑÕàöâì ßÐßÚã ÔÛï ×ÑÕàÕÖÕÝØå öÓÞà" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -424,7 +424,7 @@ msgstr "" "åÞçÕâÕ, éÞÑ ÒÐèö ×ÑÕàÕÖÕÝö öÓàØ áØÝåàÞÝö×ãÒÐÛØáï, ÒØÚÞàØáâÞÒãÙâÕ ßÐßÚã ×Ð " "×ÐÜÞÒçÕÝÝïÜ." -#: gui/editgamedialog.cpp:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "ÆÕÙ ID ÓàØ ÒÖÕ ÒØÚÞàØáâÞÒãôâìáï. ±ãÔì ÛÐáÚÐ, ÒØÑÕàöâì öÝèØÙ." @@ -440,103 +440,103 @@ msgstr "¿àØÜöâÚØ:" msgid "Ok" msgstr "³ÐàÐ×Ô" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "¾ÑÕàöâì äÐÙÛ ÔÛï ×ÐÒÐÝâÐÖÕÝÝï" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "½ÐÔÐÙâÕ öÜ'ï äÐÙÛã ÔÛï ×Ðߨáã" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "ÇØ ÒØ ÔöÙáÝÞ åÞçÕâÕ ×ÐÜöÝØâØ æÕÙ äÐÙÛ?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "ÀÕÒÕàÑÕàÐæöï" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "°ÚâØÒÝÕ" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "ºöÜÝÐâÐ:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "²ÞÛÞÓöáâì:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "ÈØàØÝÐ:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "ÀöÒÕÝì:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "¿àØáßöÒ" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "ÈÒØÔÚöáâì:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "³ÛØÑØÝÐ:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "ÂØß:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "ÁØÝãáÞ÷ÔÐ" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "ÂàØÚãâÝØÚ" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Àö×ÝÕ" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "¦ÝâÕàßÞÛïæöï:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "½ÕÜÐ (ÝÐÙèÒØÔèÕ)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "»öÝöÙÝÐ" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "ÇÕâÒÕàâÞÓÞ ßÞàïÔÚã" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "ÁìÞÜÞÓÞ ßÞàïÔÚã" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "ÁÚØÝãâØ" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "ÁÚØÝãâØ Òáö ÝÐÛÐèâãÒÐÝÝï FluidSynth ÔÞ ÷å ×ÝÐçÕÝì ×Ð ×ÐÜÞÒçÕÝÝïÜ." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "" @@ -803,7 +803,7 @@ msgid "every 30 mins" msgstr "ÚÞÖÝö 30 åÒ" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "½Õ ×ÐÔÐÝØÙ" @@ -828,185 +828,185 @@ msgstr "ÝÕ ÒÔÐÛÞáï ×ÜöÝØâØ àÕÖØÜ ßÞÒÝÞÓÞ ÕÚàÐÝã" msgid "the filtering setting could not be changed" msgstr "ÝÕ ÒÔÐÛÞáï ×ÜöÝØâØ àÕÖØÜ äöÛìâàãÒÐÝÝï" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "¿ÞÚÐ×ãÒÐâØ ÕÚàÐÝÝÕ ÚÕàãÒÐÝÝï" -#: gui/options.cpp:932 +#: gui/options.cpp:934 msgid "Touchpad mouse mode" msgstr "ÀÕÖØÜ âÐçßÐÔã" -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "¿ÞÜöÝïâØ ÜöáæïÜØ ÚÝÞßÚØ ¼ÕÝî ö ½Ð×ÐÔ" -#: gui/options.cpp:941 +#: gui/options.cpp:943 msgid "Pointer Speed:" msgstr "ÈÒØÔÚöáâì ÒÚÐ×öÒÝØÚÐ:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "ÃßàÐÒÛöÝÝï èÒØÔÚöáâî ÒÚÐ×öÒÝØÚÐ ÜØèö/ÔÖÞÙáâØÚÐ" -#: gui/options.cpp:943 +#: gui/options.cpp:945 msgctxt "lowres" msgid "Pointer Speed:" msgstr "ÈÒØÔÚöáâì ÒÚÐ×öÒÝØÚÐ:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "¼ÕàâÒÐ ×ÞÝÐ ÔÖÞÙáâØÚÐ:" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "¼ÕàâÒÐ ×ÞÝÐ ÐÝÐÛÞÓÞÒÞÓÞ ÔÖÞÙáâØÚÐ" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "¼ÕàâÒÐ ×ÞÝÐ ÔÖÞÙáâØÚÐ:" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "°ßÐàÐâÝØÙ èÕÙÔÕà:" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "Àö×Ýö ÐßÐàÐâÝö èÕÙÔÕàØ ÔÐîâì àö×Ýö Òö×ãÐÛìÝö ÕäÕÚâØ" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "°ßÐàÐâÝØÙ èÕÙÔÕà:" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "Àö×Ýö èÕÙÔÕàØ ÔÐîâì àö×Ýö Òö×ãÐÛìÝö ÕäÕÚâØ" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "³àÐäöçÝ. àÕÖØÜ:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "ÀÕÖØÜ àÐáâàãÒ.:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "ÁßÕæöÐÛìÝö àÕÖØÜØ àÐáâàãÒÐÝÝï, ïÚö ßöÔâàØÜãîâì ÔÕïÚö öÓàØ" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "¿ÞÒÝÞÕÚàÐÝÝØÙ àÕÖØÜ" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Filter graphics" msgstr "ÄöÛìâàãÒÐÝÝï ÓàÐäöÚØ" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "²ØÚÞàØáâÞÒãÒÐâØ ÛöÝöÙÝã äöÛìâàÐæöî ÔÛï ×ÑöÛìèÕÝÝï ÓàÐäöÚØ" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "ºÞàÕÚæöï áßöÒÒöÔÝÞèÕÝÝï áâÞàöÝ" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "ºÞàØÓãÒÐâØ áßöÒÒöÔÝÞèÕÝÝï áâÞàöÝ ÔÛï öÓÞà × ÓàÐäöÚÞî 320x200" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "ÃßÞÔÞÑÐÝØÙ ßàØáâàöÙ:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "¼ãרç. ßàØáâàöÙ:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "²ÚÐ×ãô ãßÞÔÞÑÐÝØÙ ×ÒãÚÞÒØÙ ßàØáâàöÙ ÐÑÞ ÕÜãÛïâÞà ×ÒãÚÞÒÞ÷ ÚÐàâØ" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "²ÚÐ×ãô ÒØåöÔÝØÙ ×ÒãÚÞÒØÙ ßàØáâàöÙ ÐÑÞ ÕÜãÛïâÞà ×ÒãÚÞÒÞ÷ ÚÐàâØ" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "ÃßÞÔÞÑ. ßàØáâàöÙ:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "¼ãרçÝØÙ ßàØáâàöÙ:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "µÜãÛïâÞà AdLib:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "·ÒãÚÞÒÐ ÚÐàâÐ AdLib ÒØÚÞàØáâÞÒãôâìáï ÑÐÓÐâìÜÐ öÓàÐÜØ ÔÛï Üã×ØÚØ" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "¿àØáâàöÙ GM:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "²ÚÐ×ãô ÒØåöÔÝØÙ ×ÒãÚÞÒØÙ ßàØáâàöÙ ÔÛï General MIDI" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "½Õ ÒØÚÞàØáâÞÒãÒÐâØ ÜãרÚã General MIDI" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "²ØÚÞàØáâÞÒãÒÐâØ ßÕàèØÙ ÝÐïÒÝØÙ ßàØáâàöÙ" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont ßöÔâàØÜãôâìáï ÔÕïÚØÜØ ×ÒãÚÞÒØÜØ ÚÐàâÐÜØ, FluidSynth âÐ Timidity" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "·ÜöèÐÝØÙ àÕÖØÜ AdLib/MIDI" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "²ØÚÞàØáâÞÒãÒÐâØ ö MIDI ö AdLib ÔÛï ÓÕÝÕàÐæö÷ ×ÒãÚã" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "¿ÞáØÛÕÝÝï MIDI:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "¿àØáâàöÙ MT-32:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "²ÚÐ×ãô ×ÒãÚÞÒØÙ ßàØáâàöÙ ×Ð ×ÐÜÞÒçÕÝÝïÜ ÔÛï ÒØÒÞÔã ÝÐ Roland MT-32/LAPC1/" "CM32l/CM64" -#: gui/options.cpp:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "ÁßàÐÒÖÝöÙ Roland MT-32 (ÒØÜÚÝãâØ ÕÜãÛïæØî GM)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1014,16 +1014,16 @@ msgstr "" "²öÔÜöâìâÕ, ïÚéÞ ã ÒÐá ßöÔÚÛîçÕÝÞ Roland-áãÜöáÝØÙ ×ÒãÚÞÒØÙ ßàØáâàöÙ ö ÒØ " "åÞçÕâÕ ÙÞÓÞ ÒØÚÞàØáâÞÒãÒÐâØ" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "ÁßàÐÒÖÝöÙ Roland MT-32 (ÒØÜÚÝãâØ ÕÜãÛïæØî GM)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "ÀÕÖØÜ Roland GS (ÒÒöÜÚÝãâØ ÜÐßÛÕÝÝï MT-32)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1031,276 +1031,276 @@ msgstr "" "²öÔÜöâìâÕ, ïÚéÞ åÞçÕâÕ ÒÚÛîçØâØ ÛÐâÚØ ÔÛï öÝáâàãÜÕÝâöÒ ÔÛï ÕÜãÛïæö÷ MT-32 ÝÐ " "Roland" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "½Õ ÒØÚÞàØáâÞÒãÒÐâØ ÜãרÚã ÔÛï Roland MT-32" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "ÂÕÚáâ ö Þ×ÒãçÚÐ:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "¾×ÒãçÚÐ" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "ÁãÑâØâàØ" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "²áÕ" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "ÈÒØÔ. áãÑâØâàöÒ:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "ÂÕÚáâ ö Þ×ÒãçÚÐ:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "¾×Ò" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "ÁãÑ" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "²áÕ" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "¿ÞÚÐ×ãÒÐâØ áãÑâØâàØ ö ÒöÔâÒÞàîÒÐâØ ÜÞÒã" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "ÈÒØÔ. áãÑâØâàöÒ:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "³ãçÝöáâì Üã×ØÚØ:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "³ãçÝöáâì Üã×ØÚØ:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "²ØÜÚÝãâØ ÒáÕ" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "³ãçÝöáâì ÕäÕÚâöÒ:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "³ãçÝöáâì áßÕæöÐÛìÝØå ×ÒãÚÞÒØå ÕäÕÚâöÒ" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "³ãçÝ. ÕäÕÚâöÒ:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "³ãçÝöáâì Þ×ÒãçÚØ:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "³ãçÝ. Þ×ÒãçÚØ:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "ÈÕÙÔÕà" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 msgid "Control" msgstr "ºÕàãÒÐÝÝï" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "½ÐÛÐèâãÒÐÝÝï FluidSynth" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "ÈÛïå ÔÞ âÕÜ:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "ÈÛïå ÔÞ âÕÜ:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "²ÚÐ×ãô èÛïå ÔÞ ÔÞÔÐâÚÞÒØå äÐÙÛöÒ ÔÐÝØå, ïÚö ÒØÚÞàØáâÞÒãîâìáï ãáöÜÐ öÓàÐÜØ " "ÐÑÞ ScummVM" -#: gui/options.cpp:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "ÈÛïå ÔÞ ÒâãÛÚöÒ:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "ÈÛïå ÔÞ ÒâãÛÚöÒ:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Àö×ÝÕ" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "ÂÕÜÐ:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "ÀÐáâÕà. GUI:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "°ÒâÞ×ÑÕàÕÖÕÝÝï:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "°ÒâÞ×ÑÕàÕÖ.:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "ºÛÐÒöèö" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "¼ÞÒÐ öÝâÕàä.:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "¼ÞÒÐ ÓàÐäöçÝÞÓÞ öÝâÕàäÕÙáã ScummVM" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "¿ÕàÕÒöàïâØ ÞÝÞÒÛÕÝÝï:" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "ÏÚ çÐáâÞ ßÕàÕÒöàïâØ ÞÝÞÒÛÕÝÝï ScummVM" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "¿ÕàÕÒöàØâØ ×ÐàÐ×" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "ÅÜÐàÐ" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "ÅÜÐàÐ" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "ÁÕàÕÔÞÒØéÕ:" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "°ÚâØÒÝÕ åÜÐàÝÕ áÕàÕÔÞÒØéÕ" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "<ÝÕÜÐô>" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "ºÞàØáâãÒÐç:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "ºÞàØáâãÒÐç ÔÛï æìÞÓÞ áÕàÕÔÞÒØéÐ" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "²ØÚÞàØáâÐÝØÙ ÞÑ'ôÜ:" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "" "¾Ñ'ôÜ, ÒØÚÞàØáâÐÝØÙ ÔÛï ×ÑÕàÕÖÕÝØå áâÐÝöÒ öÓÞà ScummVM ÝÐ æìÞÜã áÕàÕÔÞÒØéö" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "¾áâÐÝÝï áØÝåàÞÝØ×Ðæöï:" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "ÇÐá, ÚÞÛØ ÑãÛÞ ×àÞÑÛÕÝÞ ÞáâÐÝÝî áØÝåàÞÝØ×Ðæöî × æØÜ áÕàÕÔÞÒØéÕÜ" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "·ÐÛãçØâØáì" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" "ÀÞ×ßÞçÐâØ ÚàÞÚØ ÔÛï ×ÐÛãçÕÝÝï ÔÞ ÒÐèÞÓÞ ÞÑÛöÚÞÒÞÓÞ ×ÐáÞÑã ÝÐ åÜÐàÝÞÜã " "áÕàÕÔÞÒØéö" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "¿ÞÝÞÒØâØ" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "¿ÞÝÞ񯉯 ßÞâÞçÝö ÔÐÝö åÜÐàÝÞÓÞ áÕàÕÔÞÒØéÐ (öÜ'ï ÚÞàØáâãÒÐçÐ âÐ ÞÑ'ôÜ)" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Download" msgstr "·ÐÒÐÝâÐÖØâØ" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "²öÔÚàØâØ ÚÕàãÒÐÝÝï ×ÐÒÐÝâÐÖÕÝÝïÜØ" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "·ÐßãáâØâØ áÕàÒÕà" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "·ÐßãáÚÐô ÛÞÚÐÛìÝØÙ ÒÕÑ-áÕàÒÕà" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 msgid "Not running" msgstr "²ØÜÚÝÕÝÞ" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 msgid "/root/ Path:" msgstr "ÈÛïå /root/:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 msgid "Specifies which directory the Files Manager can access" msgstr "²ÚÐ×ãô èÛïå, ÔÞ ïÚÞÓÞ ÜÞÖÝÐ ÜÐâØ ÔÞáâãß çÕàÕ× ºÕàãÒÐÝÝï äÐÙÛÐÜØ" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 msgctxt "lowres" msgid "/root/ Path:" msgstr "ºÞàöÝÝØÙ èÛïå:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "Server's port:" msgstr "¿Þàâ áÕàÒÕàÐ:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1308,27 +1308,27 @@ msgstr "" "¿Þàâ, ïÚØÙ ÑãÔÕ ÒØÚÞàØáâÐÝÞ áÕàÒÕàÞÜ\n" "°ãâÕÝâØäöÚÐæØï × áÕàÒÕàÞÜ ÝÕÜÞÖÛØÒÐ ÔÛï ßÞàâöÒ, öÝèØå ÒöÔ ×ÐÜÞÒçãÒÐÝÞÓÞ" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "·ÐáâÞáãÒÐâØ" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 msgid "Failed to change cloud storage!" msgstr "½Õ ÒÔÐÛÞáï ×ÜöÝØâØ åÜÐàÝÕ áÕàÕÔÞÒØéÕ!" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "¦ÝèÕ åÜÐàÝÕ áÕàÕÔÞÒØéÕ ÒÖÕ ÐÚâØÒÝÕ." -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 msgid "Theme does not support selected language!" msgstr "ÂÕÜÐ ÝÕ ßöÔâàØÜãô ÞÑàÐÝÞ÷ ÜÞÒØ!" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 msgid "Theme cannot be loaded!" msgstr "ÂÕÜã ÝÕ ÑãÛÞ ×ÐÒÐÝâÐÖÕÝÞ!" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." @@ -1336,48 +1336,48 @@ msgstr "" "\n" "Àö×Ýö ÝÐÛÐèâãÒÐÝÝï ÑãÔÕ ßÞÝÞÒÛÕÝÞ." -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 msgid "The chosen directory cannot be written to. Please select another one." msgstr "½Õ ÜÞÖã ߨáÐâØ ã ÒØÑàÐÝã ßÐßÚã. ±ãÔì ÛÐáÚÐ, ÒÚÐÖöâì öÝèã." -#: gui/options.cpp:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "²ØÑÕàöâì ßÐßÚã ÔÛï âÕÜ GUI" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "²ØÑÕàöâì ßÐßÚã × ÔÞÔÐâÚÞÒØÜØ äÐÙÛÐÜØ" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "²ØÑÕàöâì ßÐßÚã ×ö ÒâãÛÚÐÜØ" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 msgid "Select directory for Files Manager /root/" msgstr "²ØÑÕàöâì ßÐßÚã /root/ ÔÛï ºÕàãÒÐÝÝï äÐÙÛÐÜØ" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "%llu ÑÐÙâ" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "<×ÐàÐ×>" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 msgid "<never>" msgstr "<ÝöÚÞÛØ>" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 msgid "Stop server" msgstr "²ØÜÚÝãâØ áÕàÒÕà" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "²ØÜÚÝãâØ ÛÞÚÐÛìÝØÙ ÒÕÑ-áÕàÒÕà" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1456,7 +1456,7 @@ msgstr "²Ø ÔöÙáÝÞ åÞçÕâÕ ÒØÔÐ󯉯 æÕÙ ×Ðߨá?" msgid "Unknown Author" msgstr "½ÕÒöÔÞÜØÙ ÐÒâÞà" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 msgid "ScummVM could not access the directory!" msgstr "ScummVM ÝÕ ÜÐô ÔÞáâãßã ÔÞ ÒÚÐ×ÐÝÞ÷ ßÐßÚØ!" @@ -1647,7 +1647,7 @@ msgstr "" msgid "Proceed" msgstr "¿àÞÔÞÒÖØâØ" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "¾çØáâØâØ ×ÝÐçÕÝÝï" @@ -2394,11 +2394,11 @@ msgstr "ÀÕÖØÜ âÐçßÐÔã ãÒöÜÚÝÕÝÞ." msgid "Touchpad mode disabled." msgstr "ÀÕÖØÜ âÐçßÐÔã ÒØÜÚÝÕÝÞ." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "ÀÕÖØÜ ÚÛöÚöÒ" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2406,11 +2406,11 @@ msgstr "ÀÕÖØÜ ÚÛöÚöÒ" msgid "Left Click" msgstr "»öÒØÙ ÚÛöÚ" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "ÁÕàÕÔÝöÙ ÚÛöÚ" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2789,16 +2789,16 @@ msgstr "¿ÕàÕÒöàØâØ ÞÝÞÒÛÕÝÝï..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "½Õ ÒÔÐÛÞáï ×ÝÐÙâØ äÐÙÛ ÔÐÝØå ÔÒØÖÚÐ %s." #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "ÄÐÙÛ ÔÒØÖÚÐ %s ßÞèÚÞÔÖÕÝÞ." @@ -4450,6 +4450,18 @@ msgstr "²áâãß × äÛÞßßö-ÒÕàáö÷" msgid "Use the floppy version's intro (CD version only)" msgstr "²ØÚÞàØáâÞÒãÒÐâØ ÒÒÕÔÕÝÝï × äÛÞßßö-ÒÕàáö÷ (âöÛìÚØ ÔÛï CD ÒÕàáö÷ ÓàØ)" +#: engines/supernova/supernova.cpp:308 +#, fuzzy, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" +"·ÝÐÙÔÕÝÞ ÝÕÒöàÝã ÒÕàáöî ÔÐÝØå ÔÒØÖÚÐ %s. ¾çöÚãÒÐÝÐ %d.%d, ÐÛÕ ×ÝÐÙÔÕÝÞ %d.%d." + +#: engines/supernova/supernova.cpp:335 +#, fuzzy, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "½Õ ÒÔÐÛÞáï ×ÝÐÙâØ äÐÙÛ ÔÐÝØå ÔÒØÖÚÐ %s." + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" diff --git a/po/zh-Latn_CN.po b/po/zh-Latn_CN.po index 2e50c39ad7..634bbc6209 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: 2017-12-26 21:11+0100\n" +"POT-Creation-Date: 2018-01-27 18:18+0100\n" "PO-Revision-Date: 2016-12-26 19:38+0000\n" "Last-Translator: Eugene Sandulenko <sev@scummvm.org>\n" "Language-Team: Chinese <https://translations.scummvm.org/projects/scummvm/" @@ -33,33 +33,33 @@ msgstr "Gongneng BianyiYu:" msgid "Available engines:" msgstr "KeyongDeYinQing:" -#: gui/browser.cpp:68 gui/browser_osx.mm:84 +#: gui/browser.cpp:69 gui/browser_osx.mm:84 msgid "Show hidden files" msgstr "Xianshi Yincang Wenjian" -#: gui/browser.cpp:68 +#: gui/browser.cpp:69 msgid "Show files marked with the hidden attribute" msgstr "Xianshi Suoyou Yincang Shuxing Wenjian" -#: gui/browser.cpp:72 gui/remotebrowser.cpp:56 +#: gui/browser.cpp:73 gui/remotebrowser.cpp:57 msgid "Go up" msgstr "ShangYiJi" -#: gui/browser.cpp:72 gui/browser.cpp:74 gui/remotebrowser.cpp:56 -#: gui/remotebrowser.cpp:58 +#: gui/browser.cpp:73 gui/browser.cpp:75 gui/remotebrowser.cpp:57 +#: gui/remotebrowser.cpp:59 msgid "Go to previous directory level" msgstr "Fanhui Zhiqian Mulu" -#: gui/browser.cpp:74 gui/remotebrowser.cpp:58 +#: gui/browser.cpp:75 gui/remotebrowser.cpp:59 msgctxt "lowres" msgid "Go up" 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:1676 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 -#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 +#: gui/browser.cpp:76 gui/chooser.cpp:46 gui/editgamedialog.cpp:293 +#: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:65 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 +#: gui/options.cpp:1678 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:60 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:445 #: gui/saveload-dialog.cpp:727 gui/saveload-dialog.cpp:1121 #: gui/storagewizarddialog.cpp:68 gui/themebrowser.cpp:55 @@ -71,50 +71,50 @@ msgstr "ShangYiJi" msgid "Cancel" msgstr "Quxiao" -#: gui/browser.cpp:76 gui/browser_osx.mm:151 gui/chooser.cpp:47 -#: gui/filebrowser-dialog.cpp:65 gui/remotebrowser.cpp:60 +#: gui/browser.cpp:77 gui/browser_osx.mm:151 gui/chooser.cpp:47 +#: gui/filebrowser-dialog.cpp:66 gui/remotebrowser.cpp:61 #: gui/themebrowser.cpp:56 msgid "Choose" msgstr "Xuanze" -#: gui/downloaddialog.cpp:48 +#: gui/downloaddialog.cpp:49 #, fuzzy msgid "Select directory where to download game data" msgstr "Xuanze Youxi Shuju Mulu" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 +#: gui/downloaddialog.cpp:50 gui/editgamedialog.cpp:471 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Xuanze Youxi Shuju Mulu" -#: gui/downloaddialog.cpp:51 gui/downloaddialog.cpp:263 +#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 msgid "From: " msgstr "" -#: gui/downloaddialog.cpp:52 gui/downloaddialog.cpp:264 +#: gui/downloaddialog.cpp:53 gui/downloaddialog.cpp:265 msgid "To: " msgstr "" -#: gui/downloaddialog.cpp:63 +#: gui/downloaddialog.cpp:64 msgid "Cancel download" msgstr "" -#: gui/downloaddialog.cpp:65 +#: gui/downloaddialog.cpp:66 msgctxt "lowres" msgid "Cancel download" msgstr "" -#: gui/downloaddialog.cpp:67 +#: gui/downloaddialog.cpp:68 msgid "Hide" msgstr "" -#: gui/downloaddialog.cpp:117 +#: gui/downloaddialog.cpp:118 msgid "" "It looks like your connection is limited. Do you really want to download " "files with it?" msgstr "" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:153 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -126,8 +126,8 @@ msgstr "" msgid "Yes" msgstr "Shi" -#: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 -#: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 +#: gui/downloaddialog.cpp:119 gui/downloaddialog.cpp:154 +#: gui/filebrowser-dialog.cpp:133 gui/fluidsynth-dialog.cpp:218 #: gui/launcher.cpp:310 gui/launcher.cpp:418 gui/launcher.cpp:477 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:192 @@ -139,19 +139,19 @@ msgstr "Shi" msgid "No" msgstr "Fou" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:569 +#: gui/downloaddialog.cpp:137 gui/launcher.cpp:569 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM Wufa Dakai Zhiding Mulu!" -#: gui/downloaddialog.cpp:146 +#: gui/downloaddialog.cpp:147 msgid "" "Cannot create a directory to download - the specified directory has a file " "with the same name." msgstr "" -#: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 -#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1678 +#: gui/downloaddialog.cpp:147 gui/editgamedialog.cpp:294 +#: gui/fluidsynth-dialog.cpp:154 gui/KeysDialog.cpp:42 gui/launcher.cpp:526 +#: gui/launcher.cpp:530 gui/massadd.cpp:92 gui/options.cpp:1680 #: gui/saveload-dialog.cpp:1122 engines/engine.cpp:443 engines/engine.cpp:454 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -170,33 +170,33 @@ msgstr "" msgid "OK" msgstr "Queding" -#: gui/downloaddialog.cpp:151 +#: gui/downloaddialog.cpp:152 #, c-format msgid "" "The \"%s\" already exists in the specified directory.\n" "Do you really want to download files into that directory?" msgstr "" -#: gui/downloaddialog.cpp:251 +#: gui/downloaddialog.cpp:252 #, c-format msgid "Downloaded %s %s / %s %s" msgstr "" -#: gui/downloaddialog.cpp:258 +#: gui/downloaddialog.cpp:259 #, fuzzy, c-format msgid "Download speed: %s %s" msgstr "Saomiao Wancheng!" -#: gui/editgamedialog.cpp:132 +#: gui/editgamedialog.cpp:133 msgid "Game" msgstr "Youxi" -#: gui/editgamedialog.cpp:136 +#: gui/editgamedialog.cpp:137 msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:136 gui/editgamedialog.cpp:138 -#: gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:137 gui/editgamedialog.cpp:139 +#: gui/editgamedialog.cpp:140 msgid "" "Short game identifier used for referring to saved games and running the game " "from the command line" @@ -204,216 +204,216 @@ msgstr "" "Yige Jianduan de Biaoshifu lai Baocun Youxi huo Cong Minglinghang zhong " "Yunxing" -#: gui/editgamedialog.cpp:138 +#: gui/editgamedialog.cpp:139 msgctxt "lowres" msgid "ID:" msgstr "ID:" -#: gui/editgamedialog.cpp:143 gui/editrecorddialog.cpp:59 +#: gui/editgamedialog.cpp:144 gui/editrecorddialog.cpp:59 msgid "Name:" msgstr "Xingming:" -#: gui/editgamedialog.cpp:143 gui/editgamedialog.cpp:145 -#: gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:144 gui/editgamedialog.cpp:146 +#: gui/editgamedialog.cpp:147 msgid "Full title of the game" msgstr "Youxi Quanming" -#: gui/editgamedialog.cpp:145 +#: gui/editgamedialog.cpp:146 msgctxt "lowres" msgid "Name:" msgstr "Mingcheng:" -#: gui/editgamedialog.cpp:149 +#: gui/editgamedialog.cpp:150 msgid "Language:" msgstr "Yuyan:" -#: gui/editgamedialog.cpp:149 gui/editgamedialog.cpp:150 +#: gui/editgamedialog.cpp:150 gui/editgamedialog.cpp:151 msgid "" "Language of the game. This will not turn your Spanish game version into " "English" msgstr "" "Youxi de Yuyan. CiXiang buhui jiang Yige XibanyaYu Banben Zhuancheng Yingwen" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:993 -#: gui/options.cpp:1006 gui/options.cpp:1571 audio/null.cpp:41 +#: gui/editgamedialog.cpp:152 gui/editgamedialog.cpp:166 gui/options.cpp:995 +#: gui/options.cpp:1008 gui/options.cpp:1573 audio/null.cpp:41 msgid "<default>" msgstr "<Moren>" -#: gui/editgamedialog.cpp:161 +#: gui/editgamedialog.cpp:162 msgid "Platform:" msgstr "Pingtai:" -#: gui/editgamedialog.cpp:161 gui/editgamedialog.cpp:163 -#: gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:162 gui/editgamedialog.cpp:164 +#: gui/editgamedialog.cpp:165 msgid "Platform the game was originally designed for" msgstr "Youxi Chushi Yunxing de Pingtai" -#: gui/editgamedialog.cpp:163 +#: gui/editgamedialog.cpp:164 msgctxt "lowres" msgid "Platform:" msgstr "Pingtai:" -#: gui/editgamedialog.cpp:176 +#: gui/editgamedialog.cpp:177 msgid "Engine" msgstr "Yinqing" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "Graphics" msgstr "Tuxiang" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1341 gui/options.cpp:1426 +#: gui/editgamedialog.cpp:185 gui/options.cpp:1343 gui/options.cpp:1428 msgid "GFX" msgstr "GFX" -#: gui/editgamedialog.cpp:187 +#: gui/editgamedialog.cpp:188 msgid "Override global graphic settings" msgstr "Fugai Quanju Tuxiang Shezhi" -#: gui/editgamedialog.cpp:189 +#: gui/editgamedialog.cpp:190 msgctxt "lowres" msgid "Override global graphic settings" msgstr "Fugai Quanju Tuxiang Shezhi" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1453 +#: gui/editgamedialog.cpp:197 gui/options.cpp:1455 msgid "Audio" msgstr "Yinpin" -#: gui/editgamedialog.cpp:199 +#: gui/editgamedialog.cpp:200 msgid "Override global audio settings" msgstr "Fugai Quanju Yinpin Shezhi" -#: gui/editgamedialog.cpp:201 +#: gui/editgamedialog.cpp:202 msgctxt "lowres" msgid "Override global audio settings" msgstr "Fugai QUanju Yinpin Shezhi" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1458 +#: gui/editgamedialog.cpp:211 gui/options.cpp:1460 msgid "Volume" msgstr "Yinliang" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1460 +#: gui/editgamedialog.cpp:213 gui/options.cpp:1462 msgctxt "lowres" msgid "Volume" msgstr "YinLiang" -#: gui/editgamedialog.cpp:215 +#: gui/editgamedialog.cpp:216 msgid "Override global volume settings" msgstr "Fugai Quanju YinLiang Shezhi" -#: gui/editgamedialog.cpp:217 +#: gui/editgamedialog.cpp:218 msgctxt "lowres" msgid "Override global volume settings" msgstr "Fugai Quanju YinLiang Shezhi" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1468 +#: gui/editgamedialog.cpp:227 gui/options.cpp:1470 msgid "MIDI" msgstr "MIDI" -#: gui/editgamedialog.cpp:229 +#: gui/editgamedialog.cpp:230 msgid "Override global MIDI settings" msgstr "Fugai Quanju MIDI Shezhi" -#: gui/editgamedialog.cpp:231 +#: gui/editgamedialog.cpp:232 msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Fugai Quanju MIDI Shezhi" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1478 +#: gui/editgamedialog.cpp:242 gui/options.cpp:1480 msgid "MT-32" msgstr "MT-32" -#: gui/editgamedialog.cpp:244 +#: gui/editgamedialog.cpp:245 msgid "Override global MT-32 settings" msgstr "Fugai Quanju MT-32 Shezhi" -#: gui/editgamedialog.cpp:246 +#: gui/editgamedialog.cpp:247 msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Fugai Quanju MT-32 Shezhi" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1485 +#: gui/editgamedialog.cpp:256 gui/options.cpp:1487 msgid "Paths" msgstr "Lujing" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1487 +#: gui/editgamedialog.cpp:258 gui/options.cpp:1489 msgctxt "lowres" msgid "Paths" msgstr "Lujing" -#: gui/editgamedialog.cpp:264 +#: gui/editgamedialog.cpp:265 msgid "Game Path:" msgstr "Youxi Lujing:" -#: gui/editgamedialog.cpp:266 +#: gui/editgamedialog.cpp:267 msgctxt "lowres" msgid "Game Path:" msgstr "Youxi Lujing:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1511 +#: gui/editgamedialog.cpp:272 gui/options.cpp:1513 msgid "Extra Path:" msgstr "Qita Lujing:" -#: gui/editgamedialog.cpp:271 gui/editgamedialog.cpp:273 -#: gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:272 gui/editgamedialog.cpp:274 +#: gui/editgamedialog.cpp:275 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:1513 +#: gui/editgamedialog.cpp:274 gui/options.cpp:1515 msgctxt "lowres" msgid "Extra Path:" msgstr "Qita Lujing:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1495 +#: gui/editgamedialog.cpp:281 gui/options.cpp:1497 msgid "Save Path:" msgstr "Baocun Lujing:" -#: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1495 gui/options.cpp:1497 -#: gui/options.cpp:1498 +#: gui/editgamedialog.cpp:281 gui/editgamedialog.cpp:283 +#: gui/editgamedialog.cpp:284 gui/options.cpp:1497 gui/options.cpp:1499 +#: gui/options.cpp:1500 msgid "Specifies where your saved games are put" msgstr "Zhiding Nin Jiang Youxi Baocun Zai le Nali" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1497 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1499 msgctxt "lowres" msgid "Save Path:" msgstr "Baocun Lujing:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 -#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1506 -#: gui/options.cpp:1514 gui/options.cpp:1523 gui/options.cpp:1703 -#: gui/options.cpp:1709 gui/options.cpp:1717 gui/options.cpp:1740 -#: gui/options.cpp:1773 gui/options.cpp:1779 gui/options.cpp:1786 -#: gui/options.cpp:1794 gui/options.cpp:1989 gui/options.cpp:1992 -#: gui/options.cpp:1999 gui/options.cpp:2009 +#: gui/editgamedialog.cpp:302 gui/editgamedialog.cpp:399 +#: gui/editgamedialog.cpp:458 gui/editgamedialog.cpp:519 gui/options.cpp:1508 +#: gui/options.cpp:1516 gui/options.cpp:1525 gui/options.cpp:1705 +#: gui/options.cpp:1711 gui/options.cpp:1719 gui/options.cpp:1742 +#: gui/options.cpp:1775 gui/options.cpp:1781 gui/options.cpp:1788 +#: gui/options.cpp:1796 gui/options.cpp:1991 gui/options.cpp:1994 +#: gui/options.cpp:2001 gui/options.cpp:2011 msgctxt "path" msgid "None" msgstr "Wu" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 -#: gui/editgamedialog.cpp:522 gui/options.cpp:1697 gui/options.cpp:1767 -#: gui/options.cpp:1995 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:307 gui/editgamedialog.cpp:405 +#: gui/editgamedialog.cpp:523 gui/options.cpp:1699 gui/options.cpp:1769 +#: gui/options.cpp:1997 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Moren" -#: gui/editgamedialog.cpp:450 gui/options.cpp:2003 +#: gui/editgamedialog.cpp:451 gui/options.cpp:2005 msgid "Select SoundFont" msgstr "Xuanze SoundFont" -#: gui/editgamedialog.cpp:489 +#: gui/editgamedialog.cpp:490 msgid "Select additional game directory" msgstr "Xuanze Qita Youxi Mulu" -#: gui/editgamedialog.cpp:502 gui/options.cpp:1926 +#: gui/editgamedialog.cpp:503 gui/options.cpp:1928 msgid "Select directory for saved games" msgstr "Xuanze Youxi Baocun Mulu" -#: gui/editgamedialog.cpp:508 +#: gui/editgamedialog.cpp:509 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:534 +#: gui/editgamedialog.cpp:535 msgid "This game ID is already taken. Please choose another one." msgstr "Ci Youxi ID Yi Bei Zhanyong. Qing Xuanze Qita Mingcheng." @@ -429,103 +429,103 @@ msgstr "Beizhu:" msgid "Ok" msgstr "Queding" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Choose file for loading" msgstr "Xuanze YaoJiazai de Wenjian" -#: gui/filebrowser-dialog.cpp:49 +#: gui/filebrowser-dialog.cpp:50 msgid "Enter filename for saving" msgstr "Shuru Baocun de Wenjianming" -#: gui/filebrowser-dialog.cpp:132 +#: gui/filebrowser-dialog.cpp:133 msgid "Do you really want to overwrite the file?" msgstr "Nin Shifou Queding Fugai Ciwenjian ?" -#: gui/fluidsynth-dialog.cpp:68 +#: gui/fluidsynth-dialog.cpp:69 msgid "Reverb" msgstr "Hunxiang" -#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102 +#: gui/fluidsynth-dialog.cpp:71 gui/fluidsynth-dialog.cpp:103 msgid "Active" msgstr "Jihuo" -#: gui/fluidsynth-dialog.cpp:72 +#: gui/fluidsynth-dialog.cpp:73 msgid "Room:" msgstr "Fangjian:" -#: gui/fluidsynth-dialog.cpp:79 +#: gui/fluidsynth-dialog.cpp:80 msgid "Damp:" msgstr "Shiqi:" -#: gui/fluidsynth-dialog.cpp:86 +#: gui/fluidsynth-dialog.cpp:87 msgid "Width:" msgstr "Kuandu:" -#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111 +#: gui/fluidsynth-dialog.cpp:94 gui/fluidsynth-dialog.cpp:112 msgid "Level:" msgstr "Jibie:" -#: gui/fluidsynth-dialog.cpp:100 +#: gui/fluidsynth-dialog.cpp:101 msgid "Chorus" msgstr "Hechang" -#: gui/fluidsynth-dialog.cpp:104 +#: gui/fluidsynth-dialog.cpp:105 msgid "N:" msgstr "N:" -#: gui/fluidsynth-dialog.cpp:118 +#: gui/fluidsynth-dialog.cpp:119 msgid "Speed:" msgstr "Sudu:" -#: gui/fluidsynth-dialog.cpp:125 +#: gui/fluidsynth-dialog.cpp:126 msgid "Depth:" msgstr "Shendu:" -#: gui/fluidsynth-dialog.cpp:132 +#: gui/fluidsynth-dialog.cpp:133 msgid "Type:" msgstr "Leixing:" -#: gui/fluidsynth-dialog.cpp:135 +#: gui/fluidsynth-dialog.cpp:136 msgid "Sine" msgstr "Zhengxian" -#: gui/fluidsynth-dialog.cpp:136 +#: gui/fluidsynth-dialog.cpp:137 msgid "Triangle" msgstr "Sanjiaoxing" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1531 +#: gui/fluidsynth-dialog.cpp:139 gui/options.cpp:1533 msgid "Misc" msgstr "Zaxiang" -#: gui/fluidsynth-dialog.cpp:140 +#: gui/fluidsynth-dialog.cpp:141 msgid "Interpolation:" msgstr "Chazhi:" -#: gui/fluidsynth-dialog.cpp:143 +#: gui/fluidsynth-dialog.cpp:144 msgid "None (fastest)" msgstr "Wu (Zuikuai)" -#: gui/fluidsynth-dialog.cpp:144 +#: gui/fluidsynth-dialog.cpp:145 msgid "Linear" msgstr "Xianxing" -#: gui/fluidsynth-dialog.cpp:145 +#: gui/fluidsynth-dialog.cpp:146 msgid "Fourth-order" msgstr "DiSiXu" -#: gui/fluidsynth-dialog.cpp:146 +#: gui/fluidsynth-dialog.cpp:147 msgid "Seventh-order" msgstr "DiQiXu" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset" msgstr "Chongzhi" -#: gui/fluidsynth-dialog.cpp:150 +#: gui/fluidsynth-dialog.cpp:151 msgid "Reset all FluidSynth settings to their default values." msgstr "Chongzhi Suoyou de FluidSynth Shezhi." -#: gui/fluidsynth-dialog.cpp:217 +#: gui/fluidsynth-dialog.cpp:218 msgid "" "Do you really want to reset all FluidSynth settings to their default values?" msgstr "Ni Shifou Yao Chongzhi Suoyou de FluidSynth Shezhi?" @@ -790,7 +790,7 @@ msgid "every 30 mins" msgstr "Mei 30 Fenzhong" #: gui/options.cpp:339 gui/options.cpp:636 gui/options.cpp:774 -#: gui/options.cpp:849 gui/options.cpp:1110 +#: gui/options.cpp:851 gui/options.cpp:1112 msgctxt "soundfont" msgid "None" msgstr "Wu" @@ -816,188 +816,188 @@ msgstr "Quanping Shezhi Wufa Genggai" msgid "the filtering setting could not be changed" msgstr "Quanping Shezhi Wufa Genggai" -#: gui/options.cpp:928 +#: gui/options.cpp:930 msgid "Show On-screen control" msgstr "" -#: gui/options.cpp:932 +#: gui/options.cpp:934 #, fuzzy msgid "Touchpad mouse mode" msgstr "Jinyong Chumoban Moshi." -#: gui/options.cpp:936 +#: gui/options.cpp:938 msgid "Swap Menu and Back buttons" msgstr "" -#: gui/options.cpp:941 +#: gui/options.cpp:943 #, fuzzy msgid "Pointer Speed:" msgstr "Sudu:" -#: gui/options.cpp:941 gui/options.cpp:943 gui/options.cpp:944 +#: gui/options.cpp:943 gui/options.cpp:945 gui/options.cpp:946 msgid "Speed for keyboard/joystick mouse pointer control" msgstr "" -#: gui/options.cpp:943 +#: gui/options.cpp:945 #, fuzzy msgctxt "lowres" msgid "Pointer Speed:" msgstr "Sudu:" -#: gui/options.cpp:954 +#: gui/options.cpp:956 msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:954 gui/options.cpp:956 gui/options.cpp:957 +#: gui/options.cpp:956 gui/options.cpp:958 gui/options.cpp:959 msgid "Analog joystick Deadzone" msgstr "" -#: gui/options.cpp:956 +#: gui/options.cpp:958 msgctxt "lowres" msgid "Joy Deadzone:" msgstr "" -#: gui/options.cpp:970 +#: gui/options.cpp:972 msgid "HW Shader:" msgstr "" -#: gui/options.cpp:970 gui/options.cpp:972 +#: gui/options.cpp:972 gui/options.cpp:974 msgid "Different hardware shaders give different visual effects" msgstr "" -#: gui/options.cpp:972 +#: gui/options.cpp:974 msgctxt "lowres" msgid "HW Shader:" msgstr "" -#: gui/options.cpp:973 +#: gui/options.cpp:975 msgid "Different shaders give different visual effects" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:992 msgid "Graphics mode:" msgstr "Tuxing Moshi:" -#: gui/options.cpp:1004 +#: gui/options.cpp:1006 msgid "Render mode:" msgstr "Xuanran Moshi:" -#: gui/options.cpp:1004 gui/options.cpp:1005 +#: gui/options.cpp:1006 gui/options.cpp:1007 msgid "Special dithering modes supported by some games" msgstr "Youxi Zhichi Teshu de Doudong Moshi" -#: gui/options.cpp:1016 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 +#: gui/options.cpp:1018 backends/graphics/openglsdl/openglsdl-graphics.cpp:588 #: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2590 msgid "Fullscreen mode" msgstr "Quanping Moshi" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 #, fuzzy msgid "Filter graphics" msgstr "Tuxiang" -#: gui/options.cpp:1019 +#: gui/options.cpp:1021 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Aspect ratio correction" msgstr "Bili Jiaozheng" -#: gui/options.cpp:1022 +#: gui/options.cpp:1024 msgid "Correct aspect ratio for 320x200 games" msgstr "320x200 Youxi Bili Jiaozheng" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Preferred Device:" msgstr "Youxian Shebei:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1032 msgid "Music Device:" msgstr "Yinyue Shebei:" -#: gui/options.cpp:1030 gui/options.cpp:1032 +#: gui/options.cpp:1032 gui/options.cpp:1034 msgid "Specifies preferred sound device or sound card emulator" msgstr "Zhiding Youxian Shengyin Shebei huo Shengka Moniqi" -#: gui/options.cpp:1030 gui/options.cpp:1032 gui/options.cpp:1033 +#: gui/options.cpp:1032 gui/options.cpp:1034 gui/options.cpp:1035 msgid "Specifies output sound device or sound card emulator" msgstr "Zhiding Shuchu Shengyin Shebei huo Shengka Moniqi" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Youxian Shebei:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1034 msgctxt "lowres" msgid "Music Device:" msgstr "Yinyue Shebei:" -#: gui/options.cpp:1059 +#: gui/options.cpp:1061 msgid "AdLib emulator:" msgstr "AdLib Moniqi:" -#: gui/options.cpp:1059 gui/options.cpp:1060 +#: gui/options.cpp:1061 gui/options.cpp:1062 msgid "AdLib is used for music in many games" msgstr "AdLib bei Henduo Youxi Yonglai Bofang Yinyue" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "GM Device:" msgstr "GM Shebei:" -#: gui/options.cpp:1073 +#: gui/options.cpp:1075 msgid "Specifies default sound device for General MIDI output" msgstr "Zhiding Tongyong MIDI Shuchu Moren Shengyin Shebei" -#: gui/options.cpp:1084 +#: gui/options.cpp:1086 msgid "Don't use General MIDI music" msgstr "Buyao Shiyong Tongyong MIDI Yinyue" -#: gui/options.cpp:1095 gui/options.cpp:1157 +#: gui/options.cpp:1097 gui/options.cpp:1159 msgid "Use first available device" msgstr "Shiyong Diyige keyong de Shebei" -#: gui/options.cpp:1107 +#: gui/options.cpp:1109 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1107 gui/options.cpp:1109 gui/options.cpp:1110 +#: gui/options.cpp:1109 gui/options.cpp:1111 gui/options.cpp:1112 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "Yixie Shengka Zhichi SoundFont, Biru FluidSynth He Timidity" -#: gui/options.cpp:1109 +#: gui/options.cpp:1111 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Mixed AdLib/MIDI mode" msgstr "Hunhe AdLib/MIDI Moshi" -#: gui/options.cpp:1115 +#: gui/options.cpp:1117 msgid "Use both MIDI and AdLib sound generation" msgstr "TongShi Shiyong MIDI He AdLib Shengyin Shengcheng" -#: gui/options.cpp:1118 +#: gui/options.cpp:1120 msgid "MIDI gain:" msgstr "MIDI gain:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 msgid "MT-32 Device:" msgstr "MT-32 Shebei:" -#: gui/options.cpp:1128 +#: gui/options.cpp:1130 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:1133 +#: gui/options.cpp:1135 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Zhen Roland MT-32 (Jinyong GM Moni)" -#: gui/options.cpp:1133 gui/options.cpp:1135 +#: gui/options.cpp:1135 gui/options.cpp:1137 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -1005,16 +1005,16 @@ msgstr "" "Jiancha Shifou Nin Xiang Shiyong Lianjie Dao Jisuanji de Zhenshi de Yingjian " "Roland Jianrong Shengyin Shebei" -#: gui/options.cpp:1135 +#: gui/options.cpp:1137 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Zhen Roland MT-32 Shebei (Wu GM Moni)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS Shebei (Qiyong MT-32 Yingshe)" -#: gui/options.cpp:1138 +#: gui/options.cpp:1140 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1022,357 +1022,357 @@ msgstr "" "Jiancha Shifou Nin Xiang Qiyong patch Yingshe Lai Zai Roland GS Shebei " "Shangmian Moni MT-32" -#: gui/options.cpp:1147 +#: gui/options.cpp:1149 msgid "Don't use Roland MT-32 music" msgstr "Buyao Shiyong Roland MT-32 Yinyue" -#: gui/options.cpp:1174 +#: gui/options.cpp:1176 msgid "Text and Speech:" msgstr "Wenzi he Yuyin:" -#: gui/options.cpp:1178 gui/options.cpp:1188 +#: gui/options.cpp:1180 gui/options.cpp:1190 msgid "Speech" msgstr "Yuyin" -#: gui/options.cpp:1179 gui/options.cpp:1189 +#: gui/options.cpp:1181 gui/options.cpp:1191 msgid "Subtitles" msgstr "Zimu" -#: gui/options.cpp:1180 +#: gui/options.cpp:1182 msgid "Both" msgstr "Liangzhe" -#: gui/options.cpp:1182 +#: gui/options.cpp:1184 msgid "Subtitle speed:" msgstr "Zimu Sudu:" -#: gui/options.cpp:1184 +#: gui/options.cpp:1186 msgctxt "lowres" msgid "Text and Speech:" msgstr "Wenben he Yuyin:" -#: gui/options.cpp:1188 +#: gui/options.cpp:1190 msgid "Spch" msgstr "Zimu" -#: gui/options.cpp:1189 +#: gui/options.cpp:1191 msgid "Subs" msgstr "Yuyin" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgctxt "lowres" msgid "Both" msgstr "Dou" -#: gui/options.cpp:1190 +#: gui/options.cpp:1192 msgid "Show subtitles and play speech" msgstr "Xianshi Zimu Bing Bofang Yuyin" -#: gui/options.cpp:1192 +#: gui/options.cpp:1194 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Zimu Sudu:" -#: gui/options.cpp:1208 +#: gui/options.cpp:1210 msgid "Music volume:" msgstr "Yinyue Yinliang:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1212 msgctxt "lowres" msgid "Music volume:" msgstr "Yinyue Yinliang:" -#: gui/options.cpp:1217 +#: gui/options.cpp:1219 msgid "Mute All" msgstr "Quanbu Jinyin" -#: gui/options.cpp:1220 +#: gui/options.cpp:1222 msgid "SFX volume:" msgstr "Yinxiao Yinliang:" -#: gui/options.cpp:1220 gui/options.cpp:1222 gui/options.cpp:1223 +#: gui/options.cpp:1222 gui/options.cpp:1224 gui/options.cpp:1225 msgid "Special sound effects volume" msgstr "Texiao Yinliang" -#: gui/options.cpp:1222 +#: gui/options.cpp:1224 msgctxt "lowres" msgid "SFX volume:" msgstr "Yinxiao Yinliang:" -#: gui/options.cpp:1230 +#: gui/options.cpp:1232 msgid "Speech volume:" msgstr "Yuyin Yinliang:" -#: gui/options.cpp:1232 +#: gui/options.cpp:1234 msgctxt "lowres" msgid "Speech volume:" msgstr "Yuyin Yinliang:" -#: gui/options.cpp:1434 +#: gui/options.cpp:1436 msgid "Shader" msgstr "" -#: gui/options.cpp:1446 +#: gui/options.cpp:1448 #, fuzzy msgid "Control" msgstr "Kongzhi Shubiao" -#: gui/options.cpp:1472 +#: gui/options.cpp:1474 msgid "FluidSynth Settings" msgstr "FluidSynth Xuanxiang" -#: gui/options.cpp:1503 +#: gui/options.cpp:1505 msgid "Theme Path:" msgstr "Zhuti Lujing:" -#: gui/options.cpp:1505 +#: gui/options.cpp:1507 msgctxt "lowres" msgid "Theme Path:" msgstr "Zhuti Lujing:" -#: gui/options.cpp:1511 gui/options.cpp:1513 gui/options.cpp:1514 +#: gui/options.cpp:1513 gui/options.cpp:1515 gui/options.cpp:1516 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "Zhiding Suoyou Youxi huo ScummVM de Shuju Lujing" -#: gui/options.cpp:1520 +#: gui/options.cpp:1522 msgid "Plugins Path:" msgstr "Chajian Lujing:" -#: gui/options.cpp:1522 +#: gui/options.cpp:1524 msgctxt "lowres" msgid "Plugins Path:" msgstr "Chajian Lujing:" -#: gui/options.cpp:1533 +#: gui/options.cpp:1535 msgctxt "lowres" msgid "Misc" msgstr "Zaxiang" -#: gui/options.cpp:1535 +#: gui/options.cpp:1537 msgid "Theme:" msgstr "Zhuti:" -#: gui/options.cpp:1539 +#: gui/options.cpp:1541 msgid "GUI Renderer:" msgstr "Jiemian Xuanran:" -#: gui/options.cpp:1551 +#: gui/options.cpp:1553 msgid "Autosave:" msgstr "Zidong Baocun:" -#: gui/options.cpp:1553 +#: gui/options.cpp:1555 msgctxt "lowres" msgid "Autosave:" msgstr "Zidong Baocun:" -#: gui/options.cpp:1561 +#: gui/options.cpp:1563 msgid "Keys" msgstr "Guanjianzi" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "GUI Language:" msgstr "Jiemian Yuyan:" -#: gui/options.cpp:1568 +#: gui/options.cpp:1570 msgid "Language of ScummVM GUI" msgstr "ScummVM Jiemian Yuyan" -#: gui/options.cpp:1596 gui/updates-dialog.cpp:86 +#: gui/options.cpp:1598 gui/updates-dialog.cpp:86 msgid "Update check:" msgstr "" -#: gui/options.cpp:1596 +#: gui/options.cpp:1598 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1608 +#: gui/options.cpp:1610 msgid "Check now" msgstr "" -#: gui/options.cpp:1616 +#: gui/options.cpp:1618 msgid "Cloud" msgstr "" -#: gui/options.cpp:1618 +#: gui/options.cpp:1620 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Storage:" msgstr "" -#: gui/options.cpp:1623 +#: gui/options.cpp:1625 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1630 gui/options.cpp:2206 +#: gui/options.cpp:1632 gui/options.cpp:2208 msgid "<none>" msgstr "" -#: gui/options.cpp:1634 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1636 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Yonghuming:" -#: gui/options.cpp:1634 +#: gui/options.cpp:1636 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Used space:" msgstr "" -#: gui/options.cpp:1637 +#: gui/options.cpp:1639 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1640 +#: gui/options.cpp:1642 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1643 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1645 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1643 +#: gui/options.cpp:1645 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh" msgstr "" -#: gui/options.cpp:1644 +#: gui/options.cpp:1646 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 #, fuzzy msgid "Download" msgstr "Xia" -#: gui/options.cpp:1645 +#: gui/options.cpp:1647 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run server" msgstr "" -#: gui/options.cpp:1647 +#: gui/options.cpp:1649 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1648 gui/options.cpp:2316 +#: gui/options.cpp:1650 gui/options.cpp:2318 #, fuzzy msgid "Not running" msgstr "Youxi Yunxing Cuowu:" -#: gui/options.cpp:1652 +#: gui/options.cpp:1654 #, fuzzy msgid "/root/ Path:" msgstr "Qita Lujing:" -#: gui/options.cpp:1652 gui/options.cpp:1654 gui/options.cpp:1655 +#: gui/options.cpp:1654 gui/options.cpp:1656 gui/options.cpp:1657 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Zhiding Nin Jiang Youxi Baocun Zai le Nali" -#: gui/options.cpp:1654 +#: gui/options.cpp:1656 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Qita Lujing:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 #, fuzzy msgid "Server's port:" msgstr "Fuwuqi:" -#: gui/options.cpp:1664 +#: gui/options.cpp:1666 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1677 +#: gui/options.cpp:1679 msgid "Apply" msgstr "" -#: gui/options.cpp:1820 +#: gui/options.cpp:1822 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Wufa baocun Youxi" -#: gui/options.cpp:1823 +#: gui/options.cpp:1825 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1891 +#: gui/options.cpp:1893 #, fuzzy msgid "Theme does not support selected language!" msgstr "Yingqing Chajian Buzhichi Baocun Zhuangtai" -#: gui/options.cpp:1894 +#: gui/options.cpp:1896 #, fuzzy msgid "Theme cannot be loaded!" msgstr "Youxi Meiyou Jiazai" -#: gui/options.cpp:1897 +#: gui/options.cpp:1899 msgid "" "\n" "Misc settings will be restored." msgstr "" -#: gui/options.cpp:1933 +#: gui/options.cpp:1935 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:1942 +#: gui/options.cpp:1944 msgid "Select directory for GUI themes" msgstr "Xuanze Jiemian Zhuti de Mulu" -#: gui/options.cpp:1952 +#: gui/options.cpp:1954 msgid "Select directory for extra files" msgstr "Xuanze QIta Wenjian Mulu" -#: gui/options.cpp:1963 +#: gui/options.cpp:1965 msgid "Select directory for plugins" msgstr "Xuanze Chajian Mulu" -#: gui/options.cpp:1975 +#: gui/options.cpp:1977 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Xuanze QIta Wenjian Mulu" -#: gui/options.cpp:2213 +#: gui/options.cpp:2215 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:2221 +#: gui/options.cpp:2223 msgid "<right now>" msgstr "" -#: gui/options.cpp:2223 +#: gui/options.cpp:2225 #, fuzzy msgid "<never>" msgstr "Yongbu" -#: gui/options.cpp:2307 +#: gui/options.cpp:2309 #, fuzzy msgid "Stop server" msgstr "Fuwuqi:" -#: gui/options.cpp:2308 +#: gui/options.cpp:2310 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2399 +#: gui/options.cpp:2401 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1449,7 +1449,7 @@ msgstr "Nin Zhende Xinagyao Shanchu Zhege Luxiang ma?" msgid "Unknown Author" msgstr "Weizhi Zuozhe" -#: gui/remotebrowser.cpp:128 +#: gui/remotebrowser.cpp:129 #, fuzzy msgid "ScummVM could not access the directory!" msgstr "ScummVM Wufa Dakai Zhiding Mulu!" @@ -1636,7 +1636,7 @@ msgstr "" msgid "Proceed" msgstr "" -#: gui/widget.cpp:375 gui/widget.cpp:377 gui/widget.cpp:383 gui/widget.cpp:385 +#: gui/widget.cpp:379 gui/widget.cpp:381 gui/widget.cpp:387 gui/widget.cpp:389 msgid "Clear value" msgstr "Qingchu Zhi" @@ -2383,11 +2383,11 @@ msgstr "Qiyong Chumoban Moshi." msgid "Touchpad mode disabled." msgstr "Jinyong Chumoban Moshi." -#: backends/platform/maemo/maemo.cpp:208 +#: backends/platform/maemo/maemo.cpp:206 msgid "Click Mode" msgstr "Danji Moshi" -#: backends/platform/maemo/maemo.cpp:214 +#: backends/platform/maemo/maemo.cpp:212 #: backends/platform/symbian/src/SymbianActions.cpp:42 #: backends/platform/tizen/form.cpp:274 #: backends/platform/wince/CEActionsPocket.cpp:60 @@ -2395,11 +2395,11 @@ msgstr "Danji Moshi" msgid "Left Click" msgstr "Zuojian Danji" -#: backends/platform/maemo/maemo.cpp:217 +#: backends/platform/maemo/maemo.cpp:215 msgid "Middle Click" msgstr "Zhongjian Danji" -#: backends/platform/maemo/maemo.cpp:220 +#: backends/platform/maemo/maemo.cpp:218 #: backends/platform/symbian/src/SymbianActions.cpp:43 #: backends/platform/tizen/form.cpp:266 #: backends/platform/wince/CEActionsSmartphone.cpp:44 @@ -2776,16 +2776,16 @@ msgstr "Jiancha Gengxin..." #: engines/access/resources.cpp:44 engines/drascula/drascula.cpp:963 #: engines/hugo/hugo.cpp:437 engines/lure/lure.cpp:64 #: engines/mortevielle/mortevielle.cpp:306 engines/sky/compact.cpp:131 -#: engines/teenagent/resources.cpp:97 engines/tony/tony.cpp:198 -#: engines/toon/toon.cpp:4918 +#: engines/supernova/supernova.cpp:290 engines/teenagent/resources.cpp:97 +#: engines/tony/tony.cpp:198 engines/toon/toon.cpp:4918 #, c-format msgid "Unable to locate the '%s' engine data file." msgstr "" #: engines/access/resources.cpp:52 engines/drascula/drascula.cpp:977 #: engines/hugo/hugo.cpp:448 engines/lure/lure.cpp:73 -#: engines/mortevielle/mortevielle.cpp:315 engines/tony/tony.cpp:210 -#: engines/toon/toon.cpp:4930 +#: engines/mortevielle/mortevielle.cpp:315 engines/supernova/supernova.cpp:300 +#: engines/tony/tony.cpp:210 engines/toon/toon.cpp:4930 #, c-format msgid "The '%s' engine data file is corrupt." msgstr "" @@ -4416,6 +4416,17 @@ msgstr "Ruanpan Jieshao" msgid "Use the floppy version's intro (CD version only)" msgstr "Shiyong Ruanpan Banben JIeshao (jin CD banben)" +#: engines/supernova/supernova.cpp:308 +#, c-format +msgid "" +"Incorrect version of the '%s' engine data file found. Expected %d but got %d." +msgstr "" + +#: engines/supernova/supernova.cpp:335 +#, c-format +msgid "Unable to locate the text for %s language in '%s' engine data file." +msgstr "" + #: engines/sword1/animation.cpp:524 #, c-format msgid "PSX stream cutscene '%s' cannot be played in paletted mode" |