aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.common3
-rw-r--r--README13
-rw-r--r--audio/mods/protracker.cpp16
-rw-r--r--backends/events/psp2sdl/psp2sdl-events.cpp252
-rw-r--r--backends/events/psp2sdl/psp2sdl-events.h21
-rw-r--r--backends/events/symbiansdl/symbiansdl-events.cpp2
-rw-r--r--backends/graphics/psp2sdl/psp2sdl-graphics.cpp225
-rw-r--r--backends/graphics/psp2sdl/psp2sdl-graphics.h3
-rw-r--r--backends/graphics/surfacesdl/surfacesdl-graphics.h2
-rw-r--r--backends/keymapper/remap-dialog.cpp12
-rw-r--r--backends/platform/androidsdl/androidsdl.mk6
-rw-r--r--backends/platform/maemo/maemo.cpp2
-rw-r--r--backends/platform/null/null.cpp4
-rw-r--r--backends/platform/sdl/posix/posix-main.cpp2
-rw-r--r--backends/platform/sdl/ps3/ps3.cpp1
-rw-r--r--backends/platform/sdl/psp2/psp2.cpp28
-rw-r--r--backends/platform/sdl/psp2/psp2.h14
-rw-r--r--backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg2
-rw-r--r--backends/platform/symbian/src/portdefs.h21
-rw-r--r--backends/vkeybd/virtual-keyboard.cpp42
-rw-r--r--backends/vkeybd/virtual-keyboard.h4
-rw-r--r--common/ptr.h16
-rwxr-xr-xconfigure6
-rw-r--r--devtools/README6
-rw-r--r--devtools/create_project/xcode.cpp1
-rw-r--r--devtools/create_supernova/create_supernova.cpp196
-rw-r--r--devtools/create_supernova/create_supernova.h33
-rw-r--r--devtools/create_supernova/file.cpp72
-rw-r--r--devtools/create_supernova/file.h59
-rw-r--r--devtools/create_supernova/gametext.h823
-rw-r--r--devtools/create_supernova/img1-en.pbmbin0 -> 38450 bytes
-rw-r--r--devtools/create_supernova/img1-en.xcfbin0 -> 124617 bytes
-rw-r--r--devtools/create_supernova/module.mk12
-rw-r--r--devtools/create_supernova/po_parser.cpp221
-rw-r--r--devtools/create_supernova/po_parser.h78
-rw-r--r--devtools/create_supernova/strings-en.po2905
-rw-r--r--dists/amiga/RM2AG.rx73
-rw-r--r--dists/amiga/convertRM.sed26
-rw-r--r--dists/androidsdl/How_to_Build.txt12
-rwxr-xr-xdists/androidsdl/build.sh3
-rw-r--r--dists/androidsdl/scummvm/AndroidAppSettings.cfg6
-rw-r--r--dists/androidsdl/scummvm/AndroidAppSettings.cfg.in4
-rw-r--r--dists/androidsdl/scummvm/project.patch8
-rw-r--r--dists/engine-data/README4
-rw-r--r--dists/engine-data/supernova.datbin0 -> 77779 bytes
-rw-r--r--dists/irix/scummvm.idb1
-rw-r--r--dists/scummvm.rc3
-rw-r--r--dists/scummvm.rc.in3
-rw-r--r--doc/de/LIESMICH13
-rw-r--r--engines/bladerunner/actor.cpp2
-rw-r--r--engines/bladerunner/ambient_sounds.cpp2
-rw-r--r--engines/bladerunner/bladerunner.cpp26
-rw-r--r--engines/bladerunner/bladerunner.h11
-rw-r--r--engines/bladerunner/detection.cpp2
-rw-r--r--engines/bladerunner/detection_tables.h42
-rw-r--r--engines/bladerunner/outtake.cpp11
-rw-r--r--engines/bladerunner/text_resource.cpp2
-rw-r--r--engines/sci/engine/script_patches.cpp8
-rw-r--r--engines/scumm/dialogs.cpp12
-rw-r--r--engines/supernova/NOTES72
-rw-r--r--engines/supernova/POTFILES2
-rw-r--r--engines/supernova/configure.engine3
-rw-r--r--engines/supernova/console.cpp114
-rw-r--r--engines/supernova/console.h55
-rw-r--r--engines/supernova/detection.cpp220
-rw-r--r--engines/supernova/graphics.cpp256
-rw-r--r--engines/supernova/graphics.h87
-rw-r--r--engines/supernova/module.mk20
-rw-r--r--engines/supernova/msn_def.h643
-rw-r--r--engines/supernova/rooms.cpp3247
-rw-r--r--engines/supernova/rooms.h1388
-rw-r--r--engines/supernova/state.cpp2388
-rw-r--r--engines/supernova/state.h234
-rw-r--r--engines/supernova/supernova.cpp1156
-rw-r--r--engines/supernova/supernova.h218
-rw-r--r--engines/xeen/character.cpp24
-rw-r--r--engines/xeen/character.h7
-rw-r--r--engines/xeen/combat.cpp97
-rw-r--r--engines/xeen/combat.h9
-rw-r--r--engines/xeen/debugger.cpp26
-rw-r--r--engines/xeen/debugger.h38
-rw-r--r--engines/xeen/detection.cpp10
-rw-r--r--engines/xeen/dialogs_party.cpp2
-rw-r--r--engines/xeen/dialogs_spells.cpp2
-rw-r--r--engines/xeen/files.cpp54
-rw-r--r--engines/xeen/files.h39
-rw-r--r--engines/xeen/interface.cpp246
-rw-r--r--engines/xeen/interface.h40
-rw-r--r--engines/xeen/interface_minimap.cpp2
-rw-r--r--engines/xeen/interface_scene.cpp82
-rw-r--r--engines/xeen/locations.cpp4
-rw-r--r--engines/xeen/map.cpp106
-rw-r--r--engines/xeen/map.h35
-rw-r--r--engines/xeen/party.cpp6
-rw-r--r--engines/xeen/resources.cpp6
-rw-r--r--engines/xeen/resources.h2
-rw-r--r--engines/xeen/saves.cpp20
-rw-r--r--engines/xeen/scripts.cpp9
-rw-r--r--engines/xeen/worldofxeen/worldofxeen.cpp95
-rw-r--r--engines/xeen/worldofxeen/worldofxeen.h5
-rw-r--r--engines/xeen/xeen.cpp23
-rw-r--r--engines/xeen/xeen.h18
-rw-r--r--engines/zvision/scripting/scr_file_handling.cpp16
-rw-r--r--graphics/VectorRendererSpec.cpp36
-rw-r--r--gui/KeysDialog.cpp10
-rw-r--r--gui/ThemeEngine.cpp2
-rw-r--r--gui/browser.cpp3
-rw-r--r--gui/chooser.cpp2
-rw-r--r--gui/console.cpp35
-rw-r--r--gui/dialog.cpp21
-rw-r--r--gui/dialog.h8
-rw-r--r--gui/downloaddialog.cpp7
-rw-r--r--gui/editgamedialog.cpp25
-rw-r--r--gui/filebrowser-dialog.cpp5
-rw-r--r--gui/fluidsynth-dialog.cpp19
-rw-r--r--gui/gui-manager.cpp43
-rw-r--r--gui/gui-manager.h2
-rw-r--r--gui/launcher.cpp16
-rw-r--r--gui/object.cpp2
-rw-r--r--gui/object.h4
-rw-r--r--gui/options.cpp48
-rw-r--r--gui/predictivedialog.cpp2
-rw-r--r--gui/recorderdialog.cpp6
-rw-r--r--gui/remotebrowser.cpp9
-rw-r--r--gui/saveload-dialog.cpp32
-rw-r--r--gui/storagewizarddialog.cpp2
-rw-r--r--gui/themebrowser.cpp2
-rw-r--r--gui/widget.cpp94
-rw-r--r--gui/widget.h24
-rw-r--r--gui/widgets/editable.cpp2
-rw-r--r--gui/widgets/edittext.cpp2
-rw-r--r--gui/widgets/list.cpp58
-rw-r--r--gui/widgets/list.h3
-rw-r--r--gui/widgets/popup.cpp4
-rw-r--r--gui/widgets/popup.h4
-rw-r--r--gui/widgets/scrollbar.cpp4
-rw-r--r--gui/widgets/scrollbar.h2
-rw-r--r--gui/widgets/scrollcontainer.cpp3
-rw-r--r--gui/widgets/tab.cpp15
-rw-r--r--gui/widgets/tab.h3
-rw-r--r--image/codecs/indeo3.cpp26
-rw-r--r--po/be_BY.po532
-rw-r--r--po/ca_ES.po531
-rw-r--r--po/cs_CZ.po532
-rw-r--r--po/da_DK.po533
-rw-r--r--po/de_DE.po537
-rw-r--r--po/el.po533
-rw-r--r--po/es_ES.po533
-rw-r--r--po/eu.po531
-rw-r--r--po/fi_FI.po535
-rw-r--r--po/fr_FR.po533
-rw-r--r--po/gl_ES.po533
-rw-r--r--po/hu_HU.po536
-rw-r--r--po/it_IT.po533
-rw-r--r--po/nb_NO.po531
-rw-r--r--po/nl_NL.po533
-rw-r--r--po/nn_NO.po531
-rw-r--r--po/pl_PL.po531
-rw-r--r--po/pt_BR.po531
-rw-r--r--po/pt_PT.po531
-rw-r--r--po/ru_RU.po531
-rw-r--r--po/scummvm.pot531
-rw-r--r--po/sv_SE.po533
-rw-r--r--po/uk_UA.po532
-rw-r--r--po/zh-Latn_CN.po531
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
diff --git a/README b/README
index 09cad021e5..03415a43d3 100644
--- a/README
+++ b/README
@@ -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
diff --git a/configure b/configure
index ccb786233e..bd001c9c01 100755
--- a/configure
+++ b/configure
@@ -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
new file mode 100644
index 0000000000..f1a76940e0
--- /dev/null
+++ b/devtools/create_supernova/img1-en.pbm
Binary files differ
diff --git a/devtools/create_supernova/img1-en.xcf b/devtools/create_supernova/img1-en.xcf
new file mode 100644
index 0000000000..3231a06896
--- /dev/null
+++ b/devtools/create_supernova/img1-en.xcf
Binary files differ
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
new file mode 100644
index 0000000000..74d9092aef
--- /dev/null
+++ b/dists/engine-data/supernova.dat
Binary files differ
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"
diff --git a/po/el.po b/po/el.po
index eaa92772be..16a4251418 100644
--- a/po/el.po
+++ b/po/el.po
@@ -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"
diff --git a/po/eu.po b/po/eu.po
index 13582508f9..8173de23a5 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -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"