aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--Makefile.common3
-rw-r--r--backends/platform/psp/audio.cpp2
-rw-r--r--dists/scummvm.rc3
-rw-r--r--dists/scummvm.rc.in3
-rw-r--r--engines/cge/cge.h6
-rw-r--r--engines/cge/detection.cpp105
-rw-r--r--engines/drascula/detection.cpp126
-rw-r--r--engines/hopkins/detection.cpp1
-rw-r--r--engines/hopkins/detection_tables.h134
-rw-r--r--engines/hopkins/hopkins.cpp14
-rw-r--r--engines/neverhood/modules/module1000.cpp2
-rw-r--r--engines/neverhood/navigationscene.cpp11
-rw-r--r--engines/neverhood/navigationscene.h1
-rw-r--r--engines/wintermute/base/base_game.cpp4
-rw-r--r--engines/wintermute/base/base_quick_msg.cpp10
-rw-r--r--engines/wintermute/base/base_quick_msg.h8
-rw-r--r--gui/browser.h1
-rw-r--r--gui/browser_osx.mm73
-rw-r--r--gui/themes/translations.datbin439725 -> 441486 bytes
-rw-r--r--po/pl_PL.po134
21 files changed, 355 insertions, 288 deletions
diff --git a/.gitignore b/.gitignore
index 80adcb7551..b834214a00 100644
--- a/.gitignore
+++ b/.gitignore
@@ -116,8 +116,10 @@ project.xcworkspace
/devtools/create_kyradat/create_kyradat
/devtools/create_lure/create_lure
/devtools/create_mads/create_mads
+/devtools/create_neverhood/create_neverhood
/devtools/create_project/create_project
/devtools/create_teenagent/create_teenagent
+/devtools/create_tony/create_tony
/devtools/create_toon/create_toon
/devtools/create_translations/create_translations
/devtools/qtable/qtable
diff --git a/Makefile.common b/Makefile.common
index 4350e16adc..6b23bd5b1c 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -253,6 +253,9 @@ endif
ifdef ENABLE_LURE
DIST_FILES_ENGINEDATA+=lure.dat
endif
+ifdef ENABLE_NEVERHOOD
+DIST_FILES_ENGINEDATA+=neverhood.dat
+endif
ifdef ENABLE_QUEEN
DIST_FILES_ENGINEDATA+=queen.tbl
endif
diff --git a/backends/platform/psp/audio.cpp b/backends/platform/psp/audio.cpp
index 4fab9fdd3f..dcbf0b2239 100644
--- a/backends/platform/psp/audio.cpp
+++ b/backends/platform/psp/audio.cpp
@@ -100,8 +100,6 @@ void PspAudio::threadFunction() {
PSP_DEBUG_PRINT("audio thread unpaused\n");
}
- PSP_DEBUG_PRINT("remaining samples[%d]\n", _remainingSamples);
-
PSP_DEBUG_PRINT("filling buffer[%d]\n", _bufferToFill);
_callback(_userData, _buffers[_bufferToFill], _bufferSize); // ask mixer to fill in data
nextBuffer(_bufferToFill);
diff --git a/dists/scummvm.rc b/dists/scummvm.rc
index c457e23b16..56848be9e9 100644
--- a/dists/scummvm.rc
+++ b/dists/scummvm.rc
@@ -32,6 +32,9 @@ kyra.dat FILE "dists/engine-data/kyra.dat"
#if ENABLE_LURE == STATIC_PLUGIN
lure.dat FILE "dists/engine-data/lure.dat"
#endif
+#if ENABLE_NEVERHOOD == STATIC_PLUGIN
+neverhood.dat FILE "dists/engine-data/neverhood.dat"
+#endif
#if ENABLE_QUEEN == STATIC_PLUGIN
queen.tbl FILE "dists/engine-data/queen.tbl"
#endif
diff --git a/dists/scummvm.rc.in b/dists/scummvm.rc.in
index f986cc52e8..4bbfb47116 100644
--- a/dists/scummvm.rc.in
+++ b/dists/scummvm.rc.in
@@ -32,6 +32,9 @@ kyra.dat FILE "dists/engine-data/kyra.dat"
#if ENABLE_LURE == STATIC_PLUGIN
lure.dat FILE "dists/engine-data/lure.dat"
#endif
+#if ENABLE_NEVERHOOD == STATIC_PLUGIN
+neverhood.dat FILE "dists/engine-data/neverhood.dat"
+#endif
#if ENABLE_QUEEN == STATIC_PLUGIN
queen.tbl FILE "dists/engine-data/queen.tbl"
#endif
diff --git a/engines/cge/cge.h b/engines/cge/cge.h
index 0e8c5a05bb..61558c0989 100644
--- a/engines/cge/cge.h
+++ b/engines/cge/cge.h
@@ -80,6 +80,12 @@ class Talk;
#define kSayTheEnd 41
+enum GameType {
+ kGameTypeNone = 0,
+ kGameTypeSoltys,
+ kGameTypeSfinx
+};
+
// our engine debug channels
enum {
kCGEDebugBitmap = 1 << 0,
diff --git a/engines/cge/detection.cpp b/engines/cge/detection.cpp
index 289aede99e..4663b6b4af 100644
--- a/engines/cge/detection.cpp
+++ b/engines/cge/detection.cpp
@@ -36,77 +36,104 @@ static const PlainGameDescriptor CGEGames[] = {
namespace CGE {
-static const ADGameDescription gameDescriptions[] = {
+struct CgeGameDescription {
+ ADGameDescription desc;
+ GameType gameType;
+};
+
+static const CgeGameDescription gameDescriptions[] = {
{
- "soltys", "",
{
- {"vol.cat", 0, "0c33e2c304821a2444d297fc5e2d67c6", 50176},
- {"vol.dat", 0, "f9ae2e7f8f7cac91378cdafca43faf1e", 8437572},
- AD_LISTEND
+ "soltys", "",
+ {
+ {"vol.cat", 0, "0c33e2c304821a2444d297fc5e2d67c6", 50176},
+ {"vol.dat", 0, "f9ae2e7f8f7cac91378cdafca43faf1e", 8437572},
+ AD_LISTEND
+ },
+ Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0()
},
- Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0()
+ kGameTypeSoltys
},
{
- "soltys", "Soltys Freeware",
{
- {"vol.cat", 0, "0c33e2c304821a2444d297fc5e2d67c6", 50176},
- {"vol.dat", 0, "f9ae2e7f8f7cac91378cdafca43faf1e", 8437676},
- AD_LISTEND
+ "soltys", "Soltys Freeware",
+ {
+ {"vol.cat", 0, "0c33e2c304821a2444d297fc5e2d67c6", 50176},
+ {"vol.dat", 0, "f9ae2e7f8f7cac91378cdafca43faf1e", 8437676},
+ AD_LISTEND
+ },
+ Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0()
},
- Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0()
+ kGameTypeSoltys
},
{
- "soltys", "Soltys Demo (not supported)",
{
- {"vol.cat", 0, "1e077c8ff58109a187f07ac54b0c873a", 18788},
- {"vol.dat", 0, "75d385a6074c58b69f7730481f256051", 1796710},
- AD_LISTEND
+ "soltys", "Soltys Demo (not supported)",
+ {
+ {"vol.cat", 0, "1e077c8ff58109a187f07ac54b0c873a", 18788},
+ {"vol.dat", 0, "75d385a6074c58b69f7730481f256051", 1796710},
+ AD_LISTEND
+ },
+ Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO , GUIO0()
},
- Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO , GUIO0()
+ kGameTypeSoltys
},
{
- "soltys", "Soltys Demo (not supported)",
{
- {"vol.cat", 0, "f17987487fab1ebddd781d8d02fedecc", 7168},
- {"vol.dat", 0, "c5d9b15863cab61dc125551576dece04", 1075272},
- AD_LISTEND
+ "soltys", "Soltys Demo (not supported)",
+ {
+ {"vol.cat", 0, "f17987487fab1ebddd781d8d02fedecc", 7168},
+ {"vol.dat", 0, "c5d9b15863cab61dc125551576dece04", 1075272},
+ AD_LISTEND
+ },
+ Common::PL_POL, Common::kPlatformDOS, ADGF_DEMO , GUIO0()
},
- Common::PL_POL, Common::kPlatformDOS, ADGF_DEMO , GUIO0()
+ kGameTypeSoltys
},
{
- "soltys", "Soltys Freeware v1.0",
{
- {"vol.cat", 0, "f1675684c68ab90272f5776f8f2c3974", 50176},
- {"vol.dat", 0, "4ffeff4abc99ac5999b55ccfc56ab1df", 8430868},
- AD_LISTEND
+ "soltys", "Soltys Freeware v1.0",
+ {
+ {"vol.cat", 0, "f1675684c68ab90272f5776f8f2c3974", 50176},
+ {"vol.dat", 0, "4ffeff4abc99ac5999b55ccfc56ab1df", 8430868},
+ AD_LISTEND
+ },
+ Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS , GUIO0()
},
- Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS , GUIO0()
+ kGameTypeSoltys
},
{
- "soltys", "Soltys Freeware v1.0",
{
- {"vol.cat", 0, "20fdce799adb618100ef9ee2362be875", 50176},
- {"vol.dat", 0, "0e43331c846094d77f5dd201827e0a3b", 8439339},
- AD_LISTEND
+ "soltys", "Soltys Freeware v1.0",
+ {
+ {"vol.cat", 0, "20fdce799adb618100ef9ee2362be875", 50176},
+ {"vol.dat", 0, "0e43331c846094d77f5dd201827e0a3b", 8439339},
+ AD_LISTEND
+ },
+ Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0()
},
- Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0()
+ kGameTypeSoltys
},
{
- // Polish version, provided by Strangerke
- "sfinx", "Sfinx Freeware",
{
- {"vol.cat", 0, "21197b287d397c53261b6616bf0dd880", 129024},
- {"vol.dat", 0, "de14291869a8eb7c2732ab783c7542ef", 34180844},
- AD_LISTEND
+ // Polish version, provided by Strangerke
+ "sfinx", "Sfinx Freeware",
+ {
+ {"vol.cat", 0, "21197b287d397c53261b6616bf0dd880", 129024},
+ {"vol.dat", 0, "de14291869a8eb7c2732ab783c7542ef", 34180844},
+ AD_LISTEND
+ },
+ Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0()
},
- Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0()
+ kGameTypeSfinx
},
- AD_TABLE_END_MARKER
+
+ {AD_TABLE_END_MARKER, kGameTypeNone}
};
static const ADFileBasedFallback fileBasedFallback[] = {
- { &gameDescriptions[0], { "vol.cat", "vol.dat", 0 } },
+ { &gameDescriptions[0].desc, { "vol.cat", "vol.dat", 0 } },
{ 0, { 0 } }
};
diff --git a/engines/drascula/detection.cpp b/engines/drascula/detection.cpp
index 8764b82a04..1917bc879d 100644
--- a/engines/drascula/detection.cpp
+++ b/engines/drascula/detection.cpp
@@ -68,33 +68,57 @@ static const PlainGameDescriptor drasculaGames[] = {
namespace Drascula {
static const DrasculaGameDescription gameDescriptions[] = {
+
+ //// Packed versions //////////////////////////////////////////////////////
+
{
- // Drascula English version
+ // Drascula English version (original packed files)
{
"drascula",
0,
- AD_ENTRY1s("14.ald", "09b2735953edcd43af115c65ae00b10e", 1595),
+ {
+ {"packet.001", 0, "c6a8697396e213a18472542d5f547cb4", 32847563},
+ // HACK: List packet.001 twice to ensure this detector entry
+ // is ranked just as high as the others (which each have two
+ // detection files).
+ {"packet.001", 0, "c6a8697396e213a18472542d5f547cb4", 32847563},
+ {NULL, 0, NULL, 0}
+ },
Common::EN_ANY,
Common::kPlatformDOS,
- ADGF_NO_FLAGS,
+ GF_PACKED,
GUIO0()
},
},
{
- // Drascula English version (original packed files)
+ // Drascula French version (original packed files)
{
"drascula",
0,
{
{"packet.001", 0, "c6a8697396e213a18472542d5f547cb4", 32847563},
- // HACK: List packet.001 twice to ensure this detector entry
- // is ranked just as high as the others (which each have two
- // detection files).
+ {"packet.002", 1, "4401123400f22f212b89f15fb4b43013", 721122},
+ {NULL, 0, NULL, 0}
+ },
+ Common::FR_FRA,
+ Common::kPlatformDOS,
+ GF_PACKED,
+ GUIO0()
+ },
+ },
+
+ {
+ // Drascula French version (ScummVM repacked files)
+ {
+ "drascula",
+ 0,
+ {
{"packet.001", 0, "c6a8697396e213a18472542d5f547cb4", 32847563},
+ {"packet.002", 1, "7b83cedb9bb326ed5143e5c459508d43", 722383},
{NULL, 0, NULL, 0}
},
- Common::EN_ANY,
+ Common::FR_FRA,
Common::kPlatformDOS,
GF_PACKED,
GUIO0()
@@ -119,16 +143,29 @@ static const DrasculaGameDescription gameDescriptions[] = {
},
{
- // Drascula French version (original packed files)
+ // Drascula Italian version (original packed version)
+ {
+ "drascula",
+ 0,
+ AD_ENTRY1s("packet.001", "0253e924af223f5fe52537023385159b", 32564209),
+ Common::IT_ITA,
+ Common::kPlatformDOS,
+ GF_PACKED,
+ GUIO0()
+ },
+ },
+
+ {
+ // Drascula Italian version (ScummVM repacked files)
{
"drascula",
0,
{
{"packet.001", 0, "c6a8697396e213a18472542d5f547cb4", 32847563},
- {"packet.002", 1, "4401123400f22f212b89f15fb4b43013", 721122},
+ {"packet.005", 1, "58caac54b891f5d7f335e710e45e5d29", 16209623},
{NULL, 0, NULL, 0}
},
- Common::FR_FRA,
+ Common::IT_ITA,
Common::kPlatformDOS,
GF_PACKED,
GUIO0()
@@ -149,25 +186,31 @@ static const DrasculaGameDescription gameDescriptions[] = {
},
{
- // Drascula Spanish version
+ // Drascula Spanish version (ScummVM repacked files)
{
"drascula",
0,
- AD_ENTRY1s("14.ald", "0746ed1a5cc8d9728f790c29813f4b43", 23059),
+ {
+ {"packet.001", 0, "c6a8697396e213a18472542d5f547cb4", 32847563},
+ {"packet.004", 1, "a289d3cf80d50f25ec569b653248437e", 17205838},
+ {NULL, 0, NULL, 0}
+ },
Common::ES_ESP,
Common::kPlatformDOS,
- ADGF_NO_FLAGS,
+ GF_PACKED,
GUIO0()
},
},
+ //// Unpacked versions ////////////////////////////////////////////////////
+
{
- // Drascula German version
+ // Drascula English version
{
"drascula",
0,
- AD_ENTRY1s("14.ald", "72e46089033d56bad1c179ac36e2a9d2", 610),
- Common::DE_DEU,
+ AD_ENTRY1s("14.ald", "09b2735953edcd43af115c65ae00b10e", 1595),
+ Common::EN_ANY,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
GUIO0()
@@ -188,24 +231,25 @@ static const DrasculaGameDescription gameDescriptions[] = {
},
{
- // Drascula Italian version (original packed version)
+ // Drascula French version (updated - bug #3612236)
{
"drascula",
0,
- AD_ENTRY1s("packet.001", "0253e924af223f5fe52537023385159b", 32564209),
- Common::IT_ITA,
+ AD_ENTRY1s("14.ald", "1f9fbded768bee061cc22bc5bdeab540", 611),
+ Common::FR_FRA,
Common::kPlatformDOS,
- GF_PACKED,
+ ADGF_NO_FLAGS,
GUIO0()
},
},
+
{
- // Drascula Italian version
+ // Drascula German version
{
"drascula",
0,
- AD_ENTRY1s("14.ald", "02b49a18328d0bf2efe6ba658c9c7a1d", 2098),
- Common::IT_ITA,
+ AD_ENTRY1s("14.ald", "72e46089033d56bad1c179ac36e2a9d2", 610),
+ Common::DE_DEU,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
GUIO0()
@@ -213,52 +257,40 @@ static const DrasculaGameDescription gameDescriptions[] = {
},
{
- // Drascula Spanish version (ScummVM repacked files)
+ // Drascula Italian version
{
"drascula",
0,
- {
- {"packet.001", 0, "c6a8697396e213a18472542d5f547cb4", 32847563},
- {"packet.004", 1, "a289d3cf80d50f25ec569b653248437e", 17205838},
- {NULL, 0, NULL, 0}
- },
- Common::ES_ESP,
+ AD_ENTRY1s("14.ald", "02b49a18328d0bf2efe6ba658c9c7a1d", 2098),
+ Common::IT_ITA,
Common::kPlatformDOS,
- GF_PACKED,
+ ADGF_NO_FLAGS,
GUIO0()
},
},
{
- // Drascula Italian version (ScummVM repacked files)
+ // Drascula Italian version (updated - bug #3612236)
{
"drascula",
0,
- {
- {"packet.001", 0, "c6a8697396e213a18472542d5f547cb4", 32847563},
- {"packet.005", 1, "58caac54b891f5d7f335e710e45e5d29", 16209623},
- {NULL, 0, NULL, 0}
- },
+ AD_ENTRY1s("14.ald", "ccaee939bb3b344c048f28f9205710d1", 2925),
Common::IT_ITA,
Common::kPlatformDOS,
- GF_PACKED,
+ ADGF_NO_FLAGS,
GUIO0()
},
},
{
- // Drascula French version (ScummVM repacked files)
+ // Drascula Spanish version
{
"drascula",
0,
- {
- {"packet.001", 0, "c6a8697396e213a18472542d5f547cb4", 32847563},
- {"packet.002", 1, "7b83cedb9bb326ed5143e5c459508d43", 722383},
- {NULL, 0, NULL, 0}
- },
- Common::FR_FRA,
+ AD_ENTRY1s("14.ald", "0746ed1a5cc8d9728f790c29813f4b43", 23059),
+ Common::ES_ESP,
Common::kPlatformDOS,
- GF_PACKED,
+ ADGF_NO_FLAGS,
GUIO0()
},
},
diff --git a/engines/hopkins/detection.cpp b/engines/hopkins/detection.cpp
index a42597415b..9d16b0ab51 100644
--- a/engines/hopkins/detection.cpp
+++ b/engines/hopkins/detection.cpp
@@ -67,6 +67,7 @@ static const PlainGameDescriptor hopkinsGames[] = {
const static char *directoryGlobs[] = {
"voice",
+ "link",
0
};
diff --git a/engines/hopkins/detection_tables.h b/engines/hopkins/detection_tables.h
index 3e04375fe9..c3ff563f6f 100644
--- a/engines/hopkins/detection_tables.h
+++ b/engines/hopkins/detection_tables.h
@@ -24,12 +24,11 @@ namespace Hopkins {
static const HopkinsGameDescription gameDescriptions[] = {
{
- // Hopkins FBI Linux Demo 1.00
+ // Hopkins FBI Linux Demo UK 1.00 and 1.02
{
"hopkins",
- "Linux Demo v1.00",
+ "Linux Demo",
{
- {"Hopkins-PDemo.bin", 0, "88b4d6e14b9b1407083cb3d1213c0fa7", 272027},
{"RES_VAN.RES", 0, "29414c05be8f9fe794c61572a65def12", 16060544},
AD_LISTEND
},
@@ -39,32 +38,14 @@ static const HopkinsGameDescription gameDescriptions[] = {
GUIO1(GUIO_NONE)
},
},
-
- {
- // Hopkins FBI Linux Demo 1.02
- {
- "hopkins",
- "Linux Demo v1.02",
- {
- {"Hopkins-PDemo.bin", 0, "f82f4e698f3a189419351be0de2b2f8e", 273760},
- {"RES_VAN.RES", 0, "29414c05be8f9fe794c61572a65def12", 16060544},
- AD_LISTEND
- },
- Common::EN_ANY,
- Common::kPlatformLinux,
- ADGF_DEMO,
- GUIO1(GUIO_NONE)
- },
- },
-
{
// Hopkins FBI OS/2, provided by Strangerke
{
"hopkins",
0,
{
- {"Hopkins.exe", 0, "63d45f882278e5a9fa1027066223e5d9", 292864},
{"ENG_VOI.RES", 0, "fa5789d1d8c19d160bce44a33e742fdf", 66860711},
+ {"CREAN.TXT", 0, "e13aa69d9e043f066776e1d0ef98fdf5", 1871},
AD_LISTEND
},
Common::EN_ANY,
@@ -74,93 +55,41 @@ static const HopkinsGameDescription gameDescriptions[] = {
},
},
{
- // Hopkins FBI Win95 Demo, provided by Strangerke
- // CHECKME: No voice! a second file is required though... Also, it has multi-language support
- {
- "hopkins",
- "Win95 Demo",
- {
- {"Hopkins.exe", 0, "0c9ebfe371f4dcf84a49f333f04839a0", 376897},
- AD_LISTEND
- },
- Common::EN_ANY,
- Common::kPlatformWindows,
- ADGF_DEMO,
- GUIO1(GUIO_NONE)
- },
- },
- {
- // Hopkins FBI Win95 Polish Demo, provided by Strangerke
- {
- "hopkins",
- "Win95 Demo",
- {
- {"Hopkins.exe", 0, "7595c0b9374739b212ee9f8f412ac716", 307200},
- {"RES_VAN.RES", 0, "8262cfba261c200af4451902689dffe0", 12233202},
- AD_LISTEND
- },
- Common::PL_POL,
- Common::kPlatformWindows,
- ADGF_DEMO,
- GUIO1(GUIO_NONE)
- },
- },
- {
- // Hopkins FBI Win95 Spanish
- {
- "hopkins",
- 0,
- {
- {"Hopkins.exe", 0, "31c837378bb2e0b2573befea44956d3f", 421386},
- {"RES_VES.RES", 0, "77ee08896466ae88cc1af3bf1a0bf78c", 32882302},
- AD_LISTEND
- },
- Common::ES_ESP,
- Common::kPlatformWindows,
- ADGF_NO_FLAGS,
- GUIO1(GUIO_NONE)
- },
- },
- {
- // Hopkins FBI Win95, provided by Strangerke
+ // Hopkins FBI BeOS, provided by Strangerke & Eriktorbjorn
{
"hopkins",
0,
{
- {"Hopkins.exe", 0, "277a5c144bf9ec7d8450ae37afb85090", 419281},
- {"RES_VAN.RES", 0, "f1693ac0b0859c8ecd8cb30ff43cf55f", 38296346},
+ {"ENG_VOI.RES", 0, "fa5789d1d8c19d160bce44a33e742fdf", 66860711},
AD_LISTEND
},
Common::EN_ANY,
- Common::kPlatformWindows,
+ Common::kPlatformBeOS,
ADGF_NO_FLAGS,
GUIO1(GUIO_NONE)
},
},
{
- // Hopkins FBI Win95, provided by alexbevi
- // Dec 15 1998 hopkins.exe
+ // Hopkins FBI Win95 Spanish
{
"hopkins",
0,
{
- {"Hopkins.exe", 0, "a587762dd50d5933e1c89f9975180764", 378694},
- {"RES_VAN.RES", 0, "f1693ac0b0859c8ecd8cb30ff43cf55f", 38296346},
+ {"RES_VES.RES", 0, "77ee08896466ae88cc1af3bf1a0bf78c", 32882302},
AD_LISTEND
},
- Common::EN_ANY,
+ Common::ES_ESP,
Common::kPlatformWindows,
ADGF_NO_FLAGS,
GUIO1(GUIO_NONE)
},
},
{
- // Hopkins FBI Win95 EN, provided by greencis in bug #3612406
+ // Hopkins FBI Win95 UK, provided by Strangerke, alexbevi, greencis
{
"hopkins",
0,
{
- {"hopkins.exe", 0, "020690049fa1dfcd63a18fdafb139a0e", 421386},
{"RES_VAN.RES", 0, "f1693ac0b0859c8ecd8cb30ff43cf55f", 38296346},
AD_LISTEND
},
@@ -176,7 +105,6 @@ static const HopkinsGameDescription gameDescriptions[] = {
"hopkins",
0,
{
- {"hopkins.exe", 0, "3043fef0bd3bfeba8252647cd090ce09", 419281},
{"res_van.res", 0, "bf17c710e184a25a6c8e9d1d9503c38e", 32197685},
AD_LISTEND
},
@@ -192,7 +120,6 @@ static const HopkinsGameDescription gameDescriptions[] = {
"hopkins",
0,
{
- {"Hopkins.bin", 0, "71611380cb31744bf909b8319a65e6e6", 275844},
{"RES_VFR.RES", 0, "0490d4d1aa71075ebf71cc79e5dc7894", 39817945},
AD_LISTEND
},
@@ -208,7 +135,6 @@ static const HopkinsGameDescription gameDescriptions[] = {
"hopkins",
0,
{
- {"Hopkins.bin", 0, "71611380cb31744bf909b8319a65e6e6", 275844},
{"RES_VAN.RES", 0, "29414c05be8f9fe794c61572a65def12", 38832455},
AD_LISTEND
},
@@ -218,61 +144,53 @@ static const HopkinsGameDescription gameDescriptions[] = {
GUIO1(GUIO_NONE)
},
},
-
{
- // Hopkins FBI BeOS, provided by Strangerke
+ // Hopkins FBI Win95, French, provided by SylvainTV
{
"hopkins",
0,
{
- {"ENG_VOI.RES", 0, "fa5789d1d8c19d160bce44a33e742fdf", 66860711},
- {"Hopkins_ FBI", 0, "8940ce2e618c42691b66aad5d6c223b0", 757936},
+ {"RES_VFR.RES", 0, "b8a3849063c9eeefe80e82cfce1ad3cd", 39269361},
AD_LISTEND
},
- Common::EN_ANY,
- Common::kPlatformBeOS,
+ Common::FR_FRA,
+ Common::kPlatformWindows,
ADGF_NO_FLAGS,
GUIO1(GUIO_NONE)
},
- },
+ },
{
- // Hopkins FBI BeOS, uninstalled, provided by eriktorbjorn
+ // Hopkins FBI Win95 Demo, provided by Strangerke
+ // CHECKME: No voice! a second file is required though... Also, it has multi-language support
{
"hopkins",
- 0,
+ "Win95 Demo",
{
- {"ENG_VOI.RES", 0, "fa5789d1d8c19d160bce44a33e742fdf", 66860711},
- {"Hopkins.pkg", 0, "72f97806dd3d5fc0c0eb24196f180618", 285017},
+ {"Hopkins.exe", 0, "0c9ebfe371f4dcf84a49f333f04839a0", 376897},
AD_LISTEND
},
Common::EN_ANY,
- Common::kPlatformBeOS,
- ADGF_NO_FLAGS,
+ Common::kPlatformWindows,
+ ADGF_DEMO,
GUIO1(GUIO_NONE)
},
-
},
-
{
- // Hopkins FBI Win32, French uninstalled, provided by SylvainTV
+ // Hopkins FBI Win95 Polish Demo, provided by Strangerke
{
"hopkins",
- 0,
+ "Win95 Demo",
{
- {"Hopkins.exe", 0, "277a5c144bf9ec7d8450ae37afb85090", 419281},
- {"RES_VFR.RES", 0, "b8a3849063c9eeefe80e82cfce1ad3cd", 39269361},
+ {"RES_VAN.RES", 0, "8262cfba261c200af4451902689dffe0", 12233202},
AD_LISTEND
},
- Common::FR_FRA,
+ Common::PL_POL,
Common::kPlatformWindows,
- ADGF_NO_FLAGS,
+ ADGF_DEMO,
GUIO1(GUIO_NONE)
},
-
},
-
-
{ AD_TABLE_END_MARKER }
};
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index 2997320ba4..11d60c50c6 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -168,24 +168,24 @@ bool HopkinsEngine::runWin95Demo() {
if (_events->_rateCounter > 700)
_globals->_speed = 3;
- if (_startGameSlot == -1) {
+ if (_startGameSlot == -1)
_graphicsMan->fadeOutLong();
- _globals->_eventMode = EVENTMODE_IGNORE;
- _globals->_characterSpriteBuf = _fileIO->loadFile("PERSO.SPR");
- }
+
+ _globals->_eventMode = EVENTMODE_IGNORE;
+ _globals->_characterSpriteBuf = _fileIO->loadFile("PERSO.SPR");
_globals->_characterType = CHARACTER_HOPKINS;
_objectsMan->_mapCarPosX = _objectsMan->_mapCarPosY = 0;
memset(_globals->_saveData, 0, 2000);
_globals->_exitId = 0;
- if (_startGameSlot != -1)
- _saveLoad->loadGame(_startGameSlot);
-
if (getLanguage() != Common::PL_POL)
if (!displayAdultDisclaimer())
return Common::kNoError;
+ if (_startGameSlot != -1)
+ _saveLoad->loadGame(_startGameSlot);
+
for (;;) {
if (_globals->_exitId == 300)
_globals->_exitId = 0;
diff --git a/engines/neverhood/modules/module1000.cpp b/engines/neverhood/modules/module1000.cpp
index ef2872ba2e..415d0f72b1 100644
--- a/engines/neverhood/modules/module1000.cpp
+++ b/engines/neverhood/modules/module1000.cpp
@@ -719,7 +719,7 @@ void AsScene1002DoorSpy::stDoorSpyBoxingGlove() {
}
SsCommonPressButton::SsCommonPressButton(NeverhoodEngine *vm, Scene *parentScene, uint32 fileHash1, uint32 fileHash2, int surfacePriority, uint32 soundFileHash)
- : StaticSprite(vm, 1100), _parentScene(parentScene), _status(0) {
+ : StaticSprite(vm, 1100), _parentScene(parentScene), _status(0), _countdown(0) {
_soundFileHash = soundFileHash != 0 ? soundFileHash : 0x44141000;
_fileHashes[0] = fileHash1;
diff --git a/engines/neverhood/navigationscene.cpp b/engines/neverhood/navigationscene.cpp
index d802322858..9752ee618c 100644
--- a/engines/neverhood/navigationscene.cpp
+++ b/engines/neverhood/navigationscene.cpp
@@ -69,7 +69,7 @@ int NavigationScene::getNavigationAreaType() {
void NavigationScene::update() {
if (_smackerFileHash != 0) {
showMouse(false);
- _smackerPlayer->open(_smackerFileHash, false);
+ openSmacker(_smackerFileHash, false);
_vm->_screen->clear();
_vm->_screen->setSmackerDecoder(_smackerPlayer->getSmackerDecoder());
_smackerDone = false;
@@ -92,7 +92,7 @@ void NavigationScene::update() {
_vm->_soundMan->setTwoSoundsPlayFlag(false);
_vm->_soundMan->setSoundThreePlayFlag(false);
_smackerDone = false;
- _smackerPlayer->open(navigationItem.fileHash, true);
+ openSmacker(navigationItem.fileHash, true);
_vm->_screen->clear();
_vm->_screen->setSmackerDecoder(_smackerPlayer->getSmackerDecoder());
sendMessage(_parentModule, 0x100A, _navigationIndex);
@@ -101,6 +101,13 @@ void NavigationScene::update() {
Scene::update();
}
+void NavigationScene::openSmacker(uint32 fileHash, bool keepLastFrame) {
+ // The old Smacker surface is deleted when a new Smacker is opened.
+ removeSurface(_smackerPlayer->getSurface());
+ _smackerPlayer->open(fileHash, keepLastFrame);
+ addSurface(_smackerPlayer->getSurface());
+}
+
uint32 NavigationScene::handleMessage(int messageNum, const MessageParam &param, Entity *sender) {
switch (messageNum) {
case 0x0000:
diff --git a/engines/neverhood/navigationscene.h b/engines/neverhood/navigationscene.h
index ebe9a3597c..767b3f5d20 100644
--- a/engines/neverhood/navigationscene.h
+++ b/engines/neverhood/navigationscene.h
@@ -50,6 +50,7 @@ protected:
bool _leaveSceneAfter;
const byte *_itemsTypes;
void update();
+ void openSmacker(uint32 fileHash, bool keepLastFrame);
uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
void createMouseCursor();
void handleNavigation(const NPoint &mousePos);
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index e97e342149..4d8e79b5c2 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -2558,7 +2558,7 @@ bool BaseGame::displayQuickMsg() {
// update
for (uint32 i = 0; i < _quickMessages.size(); i++) {
- if (_currentTime - _quickMessages[i]->_startTime >= QUICK_MSG_DURATION) {
+ if (_currentTime - _quickMessages[i]->getStartTime() >= QUICK_MSG_DURATION) {
delete _quickMessages[i];
_quickMessages.remove_at(i);
i--;
@@ -2583,7 +2583,7 @@ void BaseGame::quickMessage(const char *text) {
delete _quickMessages[0];
_quickMessages.remove_at(0);
}
- _quickMessages.add(new BaseQuickMsg(_gameRef, text));
+ _quickMessages.add(new BaseQuickMsg(_currentTime, text));
}
diff --git a/engines/wintermute/base/base_quick_msg.cpp b/engines/wintermute/base/base_quick_msg.cpp
index 50a9031eee..9f19dfd74a 100644
--- a/engines/wintermute/base/base_quick_msg.cpp
+++ b/engines/wintermute/base/base_quick_msg.cpp
@@ -27,14 +27,13 @@
*/
#include "engines/wintermute/base/base_quick_msg.h"
-#include "engines/wintermute/base/base_game.h"
namespace Wintermute {
//////////////////////////////////////////////////////////////////////////
-BaseQuickMsg::BaseQuickMsg(BaseGame *inGame, const char *text) {
+BaseQuickMsg::BaseQuickMsg(uint32 startTime, const char *text) {
_text = text;
- _startTime = _gameRef->_currentTime;
+ _startTime = startTime;
}
@@ -48,4 +47,9 @@ const char *BaseQuickMsg::getText() const {
return _text.c_str();
}
+//////////////////////////////////////////////////////////////////////////
+uint32 BaseQuickMsg::getStartTime() const {
+ return _startTime;
+}
+
} // end of namespace Wintermute
diff --git a/engines/wintermute/base/base_quick_msg.h b/engines/wintermute/base/base_quick_msg.h
index 0d342b3b12..377f7733fd 100644
--- a/engines/wintermute/base/base_quick_msg.h
+++ b/engines/wintermute/base/base_quick_msg.h
@@ -32,16 +32,16 @@
#include "common/str.h"
namespace Wintermute {
-class BaseGame;
+
class BaseQuickMsg {
public:
const char *getText() const;
- uint32 _startTime;
- BaseQuickMsg(BaseGame *inGame, const char *text);
+ uint32 getStartTime() const;
+ BaseQuickMsg(uint32 startTime, const char *text);
virtual ~BaseQuickMsg();
private:
- BaseGame *_gameRef;
Common::String _text;
+ uint32 _startTime;
};
} // end of namespace Wintermute
diff --git a/gui/browser.h b/gui/browser.h
index 7c098617bb..b82fe516f9 100644
--- a/gui/browser.h
+++ b/gui/browser.h
@@ -51,6 +51,7 @@ protected:
#ifdef MACOSX
const void *_titleRef;
const void *_chooseRef;
+ const void *_hiddenFilesRef;
#else
ListWidget *_fileList;
StaticTextWidget *_currentPath;
diff --git a/gui/browser_osx.mm b/gui/browser_osx.mm
index ecd60915f8..642718df94 100644
--- a/gui/browser_osx.mm
+++ b/gui/browser_osx.mm
@@ -30,10 +30,55 @@
#include "common/algorithm.h"
#include "common/translation.h"
+#include <AppKit/NSNibDeclarations.h>
#include <AppKit/NSOpenPanel.h>
+#include <AppKit/NSButton.h>
#include <Foundation/NSString.h>
#include <Foundation/NSURL.h>
+@interface ShowHiddenFilesController : NSObject {
+ NSOpenPanel* _panel;
+}
+
+- (id) init;
+- (void) dealloc;
+- (void) setOpenPanel : (NSOpenPanel*) panel;
+- (IBAction) showHiddenFiles : (id) sender;
+
+@end
+
+@implementation ShowHiddenFilesController
+
+- (id) init {
+ self = [super init];
+ _panel = 0;
+
+ return self;
+}
+
+- (void) dealloc {
+ [_panel release];
+ [super dealloc];
+}
+
+- (void) setOpenPanel : (NSOpenPanel*) panel {
+ _panel = panel;
+ [_panel retain];
+}
+
+
+- (IBAction) showHiddenFiles : (id) sender {
+ if ([sender state] == NSOnState) {
+ [_panel setShowsHiddenFiles: YES];
+ ConfMan.setBool("gui_browser_show_hidden", true, Common::ConfigManager::kApplicationDomain);
+ } else {
+ [_panel setShowsHiddenFiles: NO];
+ ConfMan.setBool("gui_browser_show_hidden", false, Common::ConfigManager::kApplicationDomain);
+ }
+}
+
+@end
+
namespace GUI {
BrowserDialog::BrowserDialog(const char *title, bool dirBrowser)
@@ -56,11 +101,13 @@ BrowserDialog::BrowserDialog(const char *title, bool dirBrowser)
// Convert button text to NSString
_chooseRef = CFStringCreateWithCString(0, _("Choose"), stringEncoding);
+ _hiddenFilesRef = CFStringCreateWithCString(0, _("Show hidden files"), stringEncoding);
}
BrowserDialog::~BrowserDialog() {
CFRelease(_titleRef);
CFRelease(_chooseRef);
+ CFRelease(_hiddenFilesRef);
}
int BrowserDialog::runModal() {
@@ -82,6 +129,29 @@ int BrowserDialog::runModal() {
[panel setCanChooseDirectories:_isDirBrowser];
[panel setTitle:(NSString *)_titleRef];
[panel setPrompt:(NSString *)_chooseRef];
+
+ NSButton *showHiddenFilesButton = 0;
+ ShowHiddenFilesController *showHiddenFilesController = 0;
+ if ([panel respondsToSelector:@selector(setShowsHiddenFiles:)]) {
+ showHiddenFilesButton = [[NSButton alloc] init];
+ [showHiddenFilesButton setButtonType:NSSwitchButton];
+ [showHiddenFilesButton setTitle:(NSString *)_hiddenFilesRef];
+ [showHiddenFilesButton sizeToFit];
+ if (ConfMan.getBool("gui_browser_show_hidden", Common::ConfigManager::kApplicationDomain)) {
+ [showHiddenFilesButton setState:NSOnState];
+ [panel setShowsHiddenFiles: YES];
+ } else {
+ [showHiddenFilesButton setState:NSOffState];
+ [panel setShowsHiddenFiles: NO];
+ }
+ [panel setAccessoryView:showHiddenFilesButton];
+
+ showHiddenFilesController = [[ShowHiddenFilesController alloc] init];
+ [showHiddenFilesController setOpenPanel:panel];
+ [showHiddenFilesButton setTarget:showHiddenFilesController];
+ [showHiddenFilesButton setAction:@selector(showHiddenFiles:)];
+ }
+
if ([panel runModal] == NSOKButton) {
NSURL *url = [panel URL];
if ([url isFileURL]) {
@@ -91,6 +161,9 @@ int BrowserDialog::runModal() {
}
}
+ [showHiddenFilesButton release];
+ [showHiddenFilesController release];
+
// If we were in fullscreen mode, switch back
if (wasFullscreen) {
g_system->beginGFXTransaction();
diff --git a/gui/themes/translations.dat b/gui/themes/translations.dat
index ddd7fde91c..7bd1316208 100644
--- a/gui/themes/translations.dat
+++ b/gui/themes/translations.dat
Binary files differ
diff --git a/po/pl_PL.po b/po/pl_PL.po
index 720a55daca..38cedb55d7 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: ScummVM 1.3.0\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
"POT-Creation-Date: 2013-04-24 13:35+0100\n"
-"PO-Revision-Date: 2012-07-29 15:49+0100\n"
+"PO-Revision-Date: 2013-05-22 14:26+0100\n"
"Last-Translator: Michał Ziąbkowski <mziab@o2.pl>\n"
"Language-Team: Grajpopolsku.pl <grajpopolsku@gmail.com>\n"
"Language: Polski\n"
@@ -34,13 +34,12 @@ msgid "Available engines:"
msgstr "Dostępne silniki:"
#: gui/browser.cpp:67
-#, fuzzy
msgid "Show hidden files"
-msgstr "Schowaj / pokaż konsolę"
+msgstr "Pokaż ukryte pliki"
#: gui/browser.cpp:67
msgid "Show files marked with the hidden attribute"
-msgstr ""
+msgstr "Pokaż pliki oznaczone atrybutem ukryty"
#: gui/browser.cpp:71
msgid "Go up"
@@ -724,7 +723,7 @@ msgstr "Wzm. MIDI:"
#: gui/options.cpp:873
msgid "FluidSynth Settings"
-msgstr ""
+msgstr "Ustawienia FluidSynth"
#: gui/options.cpp:880
msgid "MT-32 Device:"
@@ -753,9 +752,8 @@ msgid "True Roland MT-32 (no GM emulation)"
msgstr "Prawdziwy Roland MT-32 (brak emulacji GM)"
#: gui/options.cpp:890
-#, fuzzy
msgid "Roland GS Mode (disable GM mapping)"
-msgstr "Prawdziwy Roland MT-32 (wyłącz emulację GM)"
+msgstr "Roland w trybie GS (wyłącz mapowanie GM)"
#: gui/options.cpp:890
msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
@@ -942,11 +940,11 @@ msgstr ""
#: gui/saveload-dialog.cpp:166
msgid "List view"
-msgstr ""
+msgstr "Widok listy"
#: gui/saveload-dialog.cpp:167
msgid "Grid view"
-msgstr ""
+msgstr "Widok siatki"
#: gui/saveload-dialog.cpp:210 gui/saveload-dialog.cpp:358
msgid "No date saved"
@@ -986,31 +984,28 @@ msgstr "Zapis bez nazwy"
#: gui/saveload-dialog.cpp:546
msgid "Next"
-msgstr ""
+msgstr "Następny"
#: gui/saveload-dialog.cpp:549
msgid "Prev"
-msgstr ""
+msgstr "Poprzedni"
#: gui/saveload-dialog.cpp:736
-#, fuzzy
msgid "New Save"
-msgstr "Zapisz"
+msgstr "Nowy zapis"
#: gui/saveload-dialog.cpp:736
-#, fuzzy
msgid "Create a new save game"
-msgstr "Nie udało się zapisać stanu gry"
+msgstr "Stwórz nowy zapis"
#: gui/saveload-dialog.cpp:865
-#, fuzzy
msgid "Name: "
-msgstr "Nazwa:"
+msgstr "Nazwa: "
#: gui/saveload-dialog.cpp:937
#, c-format
msgid "Enter a description for slot %d:"
-msgstr ""
+msgstr "Podaj opis dla slotu %d:"
#: gui/themebrowser.cpp:44
msgid "Select a Theme"
@@ -1046,93 +1041,90 @@ msgid "Clear value"
msgstr "Wyczyść"
#: gui/fluidsynth-dialog.cpp:67
-#, fuzzy
msgid "Reverb"
-msgstr "Nigdy"
+msgstr "Pogłos"
#: gui/fluidsynth-dialog.cpp:69 gui/fluidsynth-dialog.cpp:101
-#, fuzzy
msgid "Active"
-msgstr " (Aktywny)"
+msgstr "Aktywny"
#: gui/fluidsynth-dialog.cpp:71
msgid "Room:"
-msgstr ""
+msgstr "Przestrzeń:"
#: gui/fluidsynth-dialog.cpp:78
msgid "Damp:"
-msgstr ""
+msgstr "Tłumienie:"
#: gui/fluidsynth-dialog.cpp:85
msgid "Width:"
-msgstr ""
+msgstr "Szerokość:"
#: gui/fluidsynth-dialog.cpp:92 gui/fluidsynth-dialog.cpp:110
msgid "Level:"
-msgstr ""
+msgstr "Poziom:"
#: gui/fluidsynth-dialog.cpp:99
msgid "Chorus"
-msgstr ""
+msgstr "Chorus"
#: gui/fluidsynth-dialog.cpp:103
msgid "N:"
-msgstr ""
+msgstr "N:"
#: gui/fluidsynth-dialog.cpp:117
-#, fuzzy
msgid "Speed:"
-msgstr "Mowa"
+msgstr "Szybkość:"
#: gui/fluidsynth-dialog.cpp:124
msgid "Depth:"
-msgstr ""
+msgstr "Głębia:"
#: gui/fluidsynth-dialog.cpp:131
msgid "Type:"
-msgstr ""
+msgstr "Typ:"
#: gui/fluidsynth-dialog.cpp:134
msgid "Sine"
-msgstr ""
+msgstr "Sinus"
#: gui/fluidsynth-dialog.cpp:135
msgid "Triangle"
-msgstr ""
+msgstr "Trójkąt"
#: gui/fluidsynth-dialog.cpp:139
msgid "Interpolation:"
-msgstr ""
+msgstr "Interpolacja:"
#: gui/fluidsynth-dialog.cpp:142
msgid "None (fastest)"
-msgstr ""
+msgstr "Brak (najszybsze)"
#: gui/fluidsynth-dialog.cpp:143
msgid "Linear"
-msgstr ""
+msgstr "Liniowa"
#: gui/fluidsynth-dialog.cpp:144
msgid "Fourth-order"
-msgstr ""
+msgstr "Czterostopniowa"
#: gui/fluidsynth-dialog.cpp:145
msgid "Seventh-order"
-msgstr ""
+msgstr "Siedmiostopniowa"
#: gui/fluidsynth-dialog.cpp:149
msgid "Reset"
-msgstr ""
+msgstr "Reset"
#: gui/fluidsynth-dialog.cpp:149
msgid "Reset all FluidSynth settings to their default values."
-msgstr ""
+msgstr "Przywróć domyślne wartości wszystkich ustawień FluidSynth."
#: gui/fluidsynth-dialog.cpp:216
-#, fuzzy
msgid ""
"Do you really want to reset all FluidSynth settings to their default values?"
-msgstr "Na pewno chcesz powrócić do launchera?"
+msgstr ""
+"Na pewno chcesz przywrócić domyślne wartości wszystkich ustawień FluidSynth?"
#: base/main.cpp:210
#, c-format
@@ -1317,7 +1309,7 @@ msgstr ""
#: engines/dialogs.cpp:301 engines/mohawk/dialogs.cpp:109
#: engines/mohawk/dialogs.cpp:170
msgid "~O~K"
-msgstr ""
+msgstr "~O~K"
#: engines/dialogs.cpp:302 engines/mohawk/dialogs.cpp:110
#: engines/mohawk/dialogs.cpp:171
@@ -1414,7 +1406,6 @@ msgid "Restore"
msgstr "Wznów"
#: engines/drascula/saveload.cpp:49
-#, fuzzy
msgid ""
"ScummVM found that you have old savefiles for Drascula that should be "
"converted.\n"
@@ -1424,8 +1415,7 @@ msgid ""
"Press OK to convert them now, otherwise you will be asked again the next "
"time you start the game.\n"
msgstr ""
-"ScummVM znalazł stare zapisy z Broken Sword 1, które należy "
-"przekonwertować.\n"
+"ScummVM znalazł stare zapisy z Drascula, które należy przekonwertować.\n"
"Stary format zapisu nie jest już obsługiwany. Nie będziesz mógł wczytać "
"zapisów, jeśli ich nie przekonwertujesz.\n"
"\n"
@@ -2097,7 +2087,7 @@ msgstr "Kiedy Indy jest po prawej,"
#: engines/scumm/help.cpp:308
msgid "7, 4, and 1 are switched with"
-msgstr "7, 4, i 1 zostają zamienione"
+msgstr "7, 4 i 1 zostają zamienione"
#: engines/scumm/help.cpp:309
msgid "9, 6, and 3, respectively."
@@ -2240,13 +2230,12 @@ msgid "Failed to delete file."
msgstr "Nie udało się usunąć pliku."
#: engines/groovie/detection.cpp:312
-#, fuzzy
msgid "Fast movie speed"
-msgstr "Tryb szybki"
+msgstr "Przyśpieszone filmy"
#: engines/groovie/detection.cpp:313
msgid "Play movies at an increased speed"
-msgstr ""
+msgstr "Odtwarzaj filmy ze zwiększoną prędkością"
#: engines/groovie/script.cpp:420
msgid "Failed to save game"
@@ -2373,12 +2362,11 @@ msgstr ""
#: engines/queen/queen.cpp:59
msgid "Alternative intro"
-msgstr ""
+msgstr "Alternatywne intro"
#: engines/queen/queen.cpp:60
-#, fuzzy
msgid "Use an alternative game intro (CD version only)"
-msgstr "Użyj intra z wersji dyskietkowej (tylko dla wersji CD)"
+msgstr "Użyj alternatywnego intra (tylko dla wersji CD)"
#: engines/sky/compact.cpp:130
msgid ""
@@ -2483,13 +2471,15 @@ msgstr "Pokaż etykiety obiektów przy najechaniu myszką"
#: engines/teenagent/resources.cpp:94
msgid ""
"You're missing the 'teenagent.dat' file. Get it from the ScummVM website"
-msgstr ""
+msgstr "Nie masz pliku 'teenagent.dat'. Pobierz go ze strony ScummVM"
#: engines/teenagent/resources.cpp:115
msgid ""
"The teenagent.dat file is compressed and zlib hasn't been included in this "
"executable. Please decompress it"
msgstr ""
+"Plik teenagent.dat jest skompresowany, a ScummVM nie zawiera obsługi zlib. "
+"Rozpakuj plik."
#: engines/parallaction/saveload.cpp:133
#, c-format
@@ -2542,44 +2532,43 @@ msgstr ""
#: engines/pegasus/pegasus.cpp:679
msgid "Invalid save file name"
-msgstr ""
+msgstr "Nieprawidłowa nazwa pliku zapisu"
#: engines/pegasus/pegasus.cpp:2445
msgid "Up/Zoom In/Move Forward/Open Doors"
-msgstr ""
+msgstr "Góra/Przybliż/Ruch naprzód/Otwórz drzwi"
#: engines/pegasus/pegasus.cpp:2446
-#, fuzzy
msgid "Down/Zoom Out"
-msgstr "Przybliż"
+msgstr "Dół/Oddal"
#: engines/pegasus/pegasus.cpp:2449
msgid "Display/Hide Inventory Tray"
-msgstr ""
+msgstr "Pokaż/schowaj przedmioty"
#: engines/pegasus/pegasus.cpp:2450
msgid "Display/Hide Biochip Tray"
-msgstr ""
+msgstr "Pokaż/schowaj biochipy"
#: engines/pegasus/pegasus.cpp:2451
msgid "Action/Select"
-msgstr ""
+msgstr "Akcja/Wybór"
#: engines/pegasus/pegasus.cpp:2452
msgid "Toggle Center Data Display"
-msgstr ""
+msgstr "Włącz/wyłącz widok danych"
#: engines/pegasus/pegasus.cpp:2453
msgid "Display/Hide Info Screen"
-msgstr ""
+msgstr "Pokaż/schowaj ekran informacji"
#: engines/pegasus/pegasus.cpp:2454
msgid "Display/Hide Pause Menu"
-msgstr ""
+msgstr "Pokaż/schowaj menu pauzy"
#: engines/pegasus/pegasus.cpp:2455
msgid "???"
-msgstr ""
+msgstr "???"
#: audio/fmopl.cpp:49
msgid "MAME OPL emulator"
@@ -2856,15 +2845,15 @@ msgstr "Okno"
#: backends/graphics/opengl/opengl-graphics.cpp:135
msgid "OpenGL Normal"
-msgstr "OpenGL - normalny"
+msgstr "OpenGL (normalny)"
#: backends/graphics/opengl/opengl-graphics.cpp:136
msgid "OpenGL Conserve"
-msgstr "OpenGL - zachowanie proporcji"
+msgstr "OpenGL (zachowanie proporcji)"
#: backends/graphics/opengl/opengl-graphics.cpp:137
msgid "OpenGL Original"
-msgstr "OpenGL - oryginalny rozmiar"
+msgstr "OpenGL (oryginalny rozmiar)"
#: backends/graphics/openglsdl/openglsdl-graphics.cpp:415
msgid "Current display mode"
@@ -3194,7 +3183,7 @@ msgstr "Na pewno chcesz powrócić do launchera?"
#: backends/events/default/default-events.cpp:193
msgid "Launcher"
-msgstr ""
+msgstr "Launcher"
#: backends/events/default/default-events.cpp:215
msgid "Do you really want to quit?"
@@ -3216,7 +3205,7 @@ msgstr "Dotknięcie ekranu - kliknięcie PPM"
#: backends/events/gph/gph-events.cpp:433
#: backends/events/openpandora/op-events.cpp:172
msgid "Touchscreen 'Tap Mode' - Hover (No Click)"
-msgstr "Dotknięcie ekranu - brak kliknięcia"
+msgstr "Dotknięcie ekranu - przytrzymanie (brak kliknięcia)"
#: backends/events/gph/gph-events.cpp:410
msgid "Maximum Volume"
@@ -3235,9 +3224,8 @@ msgid "Decreasing Volume"
msgstr "Zmniejszenie głośności"
#: backends/events/openpandora/op-events.cpp:174
-#, fuzzy
msgid "Touchscreen 'Tap Mode' - Hover (DPad Clicks)"
-msgstr "Dotknięcie ekranu - brak kliknięcia"
+msgstr "Dotknięcie ekranu - przytrzymanie (krzyżak klika)"
#: backends/updates/macosx/macosx-updates.mm:67
msgid "Check for Updates..."