aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devtools/create_project/config.h1
-rw-r--r--devtools/create_project/create_project.cpp6
-rw-r--r--devtools/create_project/xcode.cpp49
-rw-r--r--graphics/yuv_to_rgb.cpp70
-rw-r--r--gui/themes/translations.datbin310405 -> 311215 bytes
-rw-r--r--po/es_ES.po11
-rw-r--r--po/fr_FR.po10
-rw-r--r--po/hu_HU.po23
-rw-r--r--po/it_IT.po11
-rw-r--r--video/qt_decoder.cpp34
10 files changed, 117 insertions, 98 deletions
diff --git a/devtools/create_project/config.h b/devtools/create_project/config.h
index fecd95691e..20c1391cef 100644
--- a/devtools/create_project/config.h
+++ b/devtools/create_project/config.h
@@ -28,7 +28,6 @@
#define LIBS_DEFINE "SCUMMVM_LIBS" // Name of the include environment variable
#define REVISION_DEFINE "SCUMMVM_INTERNAL_REVISION"
-#define HAS_VIDEO_FOLDER 1
//#define ADDITIONAL_LIBRARY ""
#define NEEDS_RTTI 0
diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp
index 61c609be67..062c03b648 100644
--- a/devtools/create_project/create_project.cpp
+++ b/devtools/create_project/create_project.cpp
@@ -575,7 +575,9 @@ int main(int argc, char *argv[]) {
globalWarnings.push_back("-Wwrite-strings");
// The following are not warnings at all... We should consider adding them to
// a different list of parameters.
+#if !NEEDS_RTTI
globalWarnings.push_back("-fno-rtti");
+#endif
globalWarnings.push_back("-fno-exceptions");
globalWarnings.push_back("-fcheck-new");
@@ -1213,9 +1215,7 @@ void ProjectProvider::createProject(const BuildSetup &setup) {
createModuleList(setup.srcDir + "/gui", setup.defines, in, ex);
createModuleList(setup.srcDir + "/audio", setup.defines, in, ex);
createModuleList(setup.srcDir + "/audio/softsynth/mt32", setup.defines, in, ex);
-#if HAS_VIDEO_FOLDER
createModuleList(setup.srcDir + "/video", setup.defines, in, ex);
-#endif
// Resource files
in.push_back(setup.srcDir + "/icons/" + setup.projectName + ".ico");
@@ -1225,6 +1225,8 @@ void ProjectProvider::createProject(const BuildSetup &setup) {
in.push_back(setup.srcDir + "/AUTHORS");
in.push_back(setup.srcDir + "/COPYING");
in.push_back(setup.srcDir + "/COPYING.LGPL");
+ in.push_back(setup.srcDir + "/COPYING.BSD");
+ in.push_back(setup.srcDir + "/COPYING.FREEFONT");
in.push_back(setup.srcDir + "/COPYRIGHT");
in.push_back(setup.srcDir + "/NEWS");
in.push_back(setup.srcDir + "/README");
diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp
index eb51ab3da1..39470f4e19 100644
--- a/devtools/create_project/xcode.cpp
+++ b/devtools/create_project/xcode.cpp
@@ -20,6 +20,7 @@
*
*/
+#include "config.h"
#include "xcode.h"
#include <fstream>
@@ -86,34 +87,34 @@ XCodeProvider::XCodeProvider(StringList &global_warnings, std::map<std::string,
void XCodeProvider::createWorkspace(const BuildSetup &setup) {
// Create project folder
- std::string workspace = setup.outputDir + '/' + "scummvm.xcodeproj";
+ std::string workspace = setup.outputDir + '/' + PROJECT_NAME ".xcodeproj";
#if defined(_WIN32) || defined(WIN32)
if (!CreateDirectory(workspace.c_str(), NULL))
if (GetLastError() != ERROR_ALREADY_EXISTS)
- error("Could not create folder \"" + setup.outputDir + '/' + "scummvm.xcodeproj\"");
+ error("Could not create folder \"" + setup.outputDir + '/' + PROJECT_NAME ".xcodeproj\"");
#else
if (mkdir(workspace.c_str(), 0777) == -1) {
if (errno == EEXIST) {
// Try to open as a folder (might be a file / symbolic link)
DIR *dirp = opendir(workspace.c_str());
if (dirp == NULL) {
- error("Could not create folder \"" + setup.outputDir + '/' + "scummvm.xcodeproj\"");
+ error("Could not create folder \"" + setup.outputDir + '/' + PROJECT_NAME ".xcodeproj\"");
} else {
// The folder exists, just close the stream and return
closedir(dirp);
}
} else {
- error("Could not create folder \"" + setup.outputDir + '/' + "scummvm.xcodeproj\"");
+ error("Could not create folder \"" + setup.outputDir + '/' + PROJECT_NAME ".xcodeproj\"");
}
}
#endif
// Setup global objects
setupDefines(setup);
- _targets.push_back("ScummVM-iPhone");
- _targets.push_back("ScummVM-OS X");
- _targets.push_back("ScummVM-Simulator");
+ _targets.push_back(PROJECT_DESCRIPTION "-iPhone");
+ _targets.push_back(PROJECT_DESCRIPTION "-OS X");
+ _targets.push_back(PROJECT_DESCRIPTION "-Simulator");
setupCopyFilesBuildPhase();
setupFrameworksBuildPhase();
@@ -153,9 +154,9 @@ void XCodeProvider::createProjectFile(const std::string &, const std::string &,
// Main Project file
//////////////////////////////////////////////////////////////////////////
void XCodeProvider::ouputMainProjectFile(const BuildSetup &setup) {
- std::ofstream project((setup.outputDir + '/' + "scummvm.xcodeproj" + '/' + "project.pbxproj").c_str());
+ std::ofstream project((setup.outputDir + '/' + PROJECT_NAME ".xcodeproj" + '/' + "project.pbxproj").c_str());
if (!project)
- error("Could not open \"" + setup.outputDir + '/' + "scummvm.xcodeproj" + '/' + "project.pbxproj\" for writing");
+ error("Could not open \"" + setup.outputDir + '/' + PROJECT_NAME ".xcodeproj" + '/' + "project.pbxproj\" for writing");
//////////////////////////////////////////////////////////////////////////
// Header
@@ -392,8 +393,8 @@ void XCodeProvider::setupNativeTarget() {
target->addProperty("dependencies", "", "", SettingsNoValue|SettingsAsList);
target->addProperty("name", _targets[i], "", SettingsNoValue|SettingsQuoteVariable);
- target->addProperty("productName", "scummvm", "", SettingsNoValue);
- target->addProperty("productReference", getHash("PBXFileReference_ScummVM.app_" + _targets[i]), "ScummVM.app", SettingsNoValue);
+ target->addProperty("productName", PROJECT_NAME, "", SettingsNoValue);
+ target->addProperty("productReference", getHash("PBXFileReference_" PROJECT_DESCRIPTION ".app_" + _targets[i]), PROJECT_DESCRIPTION ".app", SettingsNoValue);
target->addProperty("productType", "com.apple.product-type.application", "", SettingsNoValue|SettingsQuoteVariable);
_nativeTarget.add(target);
@@ -405,7 +406,7 @@ void XCodeProvider::setupProject() {
Object *project = new Object(this, "PBXProject", "PBXProject", "PBXProject", "", "Project object");
- project->addProperty("buildConfigurationList", getHash("XCConfigurationList_scummvm"), "Build configuration list for PBXProject \"scummvm\"", SettingsNoValue);
+ project->addProperty("buildConfigurationList", getHash("XCConfigurationList_scummvm"), "Build configuration list for PBXProject \"" PROJECT_NAME "\"", SettingsNoValue);
project->addProperty("compatibilityVersion", "Xcode 3.2", "", SettingsNoValue|SettingsQuoteVariable);
project->addProperty("developmentRegion", "English", "", SettingsNoValue);
project->addProperty("hasScannedForEncodings", "1", "", SettingsNoValue);
@@ -495,8 +496,8 @@ void XCodeProvider::setupResourcesBuildPhase() {
}
// Add custom files depending on the target
- if (_targets[i] == "ScummVM-OS X") {
- files.settings[getHash("PBXResources_scummvm.icns")] = Setting("", "scummvm.icns in Resources", SettingsNoValue, 0, 6);
+ if (_targets[i] == PROJECT_DESCRIPTION "-OS X") {
+ files.settings[getHash("PBXResources_" PROJECT_NAME ".icns")] = Setting("", PROJECT_NAME ".icns in Resources", SettingsNoValue, 0, 6);
// Remove 2 iphone icon files
files.settings.erase(getHash("PBXResources_Default.png"));
@@ -526,7 +527,7 @@ void XCodeProvider::setupBuildConfiguration() {
// ****************************************/
// Debug
- Object *iPhone_Debug_Object = new Object(this, "XCBuildConfiguration_ScummVM-iPhone_Debug", _targets[0] /* ScummVM-iPhone */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
+ Object *iPhone_Debug_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-iPhone_Debug", _targets[0] /* ScummVM-iPhone */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
Property iPhone_Debug;
ADD_SETTING_QUOTE(iPhone_Debug, "ARCHS", "$(ARCHS_UNIVERSAL_IPHONE_OS)");
ADD_SETTING_QUOTE(iPhone_Debug, "CODE_SIGN_IDENTITY", "iPhone Developer");
@@ -558,7 +559,7 @@ void XCodeProvider::setupBuildConfiguration() {
ADD_SETTING_LIST(iPhone_Debug, "LIBRARY_SEARCH_PATHS", iPhone_LibPaths, SettingsAsList, 5);
ADD_SETTING(iPhone_Debug, "ONLY_ACTIVE_ARCH", "YES");
ADD_SETTING(iPhone_Debug, "PREBINDING", "NO");
- ADD_SETTING(iPhone_Debug, "PRODUCT_NAME", "ScummVM");
+ ADD_SETTING(iPhone_Debug, "PRODUCT_NAME", PROJECT_DESCRIPTION);
ADD_SETTING_QUOTE(iPhone_Debug, "PROVISIONING_PROFILE", "EF590570-5FAC-4346-9071-D609DE2B28D8");
ADD_SETTING_QUOTE_VAR(iPhone_Debug, "PROVISIONING_PROFILE[sdk=iphoneos*]", "");
ADD_SETTING(iPhone_Debug, "SDKROOT", "iphoneos4.0");
@@ -568,7 +569,7 @@ void XCodeProvider::setupBuildConfiguration() {
iPhone_Debug_Object->properties["buildSettings"] = iPhone_Debug;
// Release
- Object *iPhone_Release_Object = new Object(this, "XCBuildConfiguration_ScummVM-iPhone_Release", _targets[0] /* ScummVM-iPhone */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
+ Object *iPhone_Release_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-iPhone_Release", _targets[0] /* ScummVM-iPhone */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
Property iPhone_Release(iPhone_Debug);
ADD_SETTING(iPhone_Release, "GCC_OPTIMIZATION_LEVEL", "3");
ADD_SETTING(iPhone_Release, "COPY_PHASE_STRIP", "YES");
@@ -586,7 +587,7 @@ void XCodeProvider::setupBuildConfiguration() {
****************************************/
// Debug
- Object *scummvm_Debug_Object = new Object(this, "XCBuildConfiguration_scummvm_Debug", "scummvm", "XCBuildConfiguration", "PBXProject", "Debug");
+ Object *scummvm_Debug_Object = new Object(this, "XCBuildConfiguration_" PROJECT_NAME "_Debug", PROJECT_NAME, "XCBuildConfiguration", "PBXProject", "Debug");
Property scummvm_Debug;
ADD_SETTING(scummvm_Debug, "ALWAYS_SEARCH_USER_PATHS", "NO");
ADD_SETTING_QUOTE(scummvm_Debug, "ARCHS", "$(ARCHS_STANDARD_32_BIT)");
@@ -623,7 +624,7 @@ void XCodeProvider::setupBuildConfiguration() {
scummvm_Debug_Object->properties["buildSettings"] = scummvm_Debug;
// Release
- Object *scummvm_Release_Object = new Object(this, "XCBuildConfiguration_scummvm_Release", "scummvm", "XCBuildConfiguration", "PBXProject", "Release");
+ Object *scummvm_Release_Object = new Object(this, "XCBuildConfiguration_" PROJECT_NAME "_Release", PROJECT_NAME, "XCBuildConfiguration", "PBXProject", "Release");
Property scummvm_Release(scummvm_Debug);
REMOVE_SETTING(scummvm_Release, "GCC_C_LANGUAGE_STANDARD"); // Not sure why we remove that, or any of the other warnings
REMOVE_SETTING(scummvm_Release, "GCC_WARN_ABOUT_RETURN_TYPE");
@@ -641,7 +642,7 @@ void XCodeProvider::setupBuildConfiguration() {
****************************************/
// Debug
- Object *scummvmOSX_Debug_Object = new Object(this, "XCBuildConfiguration_ScummVM-OSX_Debug", _targets[1] /* ScummVM-OS X */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
+ Object *scummvmOSX_Debug_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-OSX_Debug", _targets[1] /* ScummVM-OS X */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
Property scummvmOSX_Debug;
ADD_SETTING_QUOTE(scummvmOSX_Debug, "ARCHS", "$(NATIVE_ARCH)");
ADD_SETTING(scummvmOSX_Debug, "COMPRESS_PNG_FILES", "NO");
@@ -687,13 +688,13 @@ void XCodeProvider::setupBuildConfiguration() {
scummvmOSX_LdFlags.push_back("-lz");
ADD_SETTING_LIST(scummvmOSX_Debug, "OTHER_LDFLAGS", scummvmOSX_LdFlags, SettingsAsList, 5);
ADD_SETTING(scummvmOSX_Debug, "PREBINDING", "NO");
- ADD_SETTING(scummvmOSX_Debug, "PRODUCT_NAME", "ScummVM");
+ ADD_SETTING(scummvmOSX_Debug, "PRODUCT_NAME", PROJECT_DESCRIPTION);
scummvmOSX_Debug_Object->addProperty("name", "Debug", "", SettingsNoValue);
scummvmOSX_Debug_Object->properties["buildSettings"] = scummvmOSX_Debug;
// Release
- Object *scummvmOSX_Release_Object = new Object(this, "XCBuildConfiguration_ScummVMOSX_Release", _targets[1] /* ScummVM-OS X */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
+ Object *scummvmOSX_Release_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-OSX_Release", _targets[1] /* ScummVM-OS X */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
Property scummvmOSX_Release(scummvmOSX_Debug);
ADD_SETTING(scummvmOSX_Release, "COPY_PHASE_STRIP", "YES");
REMOVE_SETTING(scummvmOSX_Release, "GCC_DYNAMIC_NO_PIC");
@@ -711,7 +712,7 @@ void XCodeProvider::setupBuildConfiguration() {
****************************************/
// Debug
- Object *scummvmSimulator_Debug_Object = new Object(this, "XCBuildConfiguration_ScummVM-Simulator_Debug", _targets[2] /* ScummVM-Simulator */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
+ Object *scummvmSimulator_Debug_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-Simulator_Debug", _targets[2] /* ScummVM-Simulator */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
Property scummvmSimulator_Debug(iPhone_Debug);
ADD_SETTING_QUOTE(scummvmSimulator_Debug, "FRAMEWORK_SEARCH_PATHS", "$(inherited)");
ADD_SETTING_LIST(scummvmSimulator_Debug, "GCC_PREPROCESSOR_DEFINITIONS", scummvm_defines, SettingsNoQuote|SettingsAsList, 5);
@@ -722,7 +723,7 @@ void XCodeProvider::setupBuildConfiguration() {
scummvmSimulator_Debug_Object->properties["buildSettings"] = scummvmSimulator_Debug;
// Release
- Object *scummvmSimulator_Release_Object = new Object(this, "XCBuildConfiguration_ScummVM-Simulator_Release", _targets[2] /* ScummVM-Simulator */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
+ Object *scummvmSimulator_Release_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-Simulator_Release", _targets[2] /* ScummVM-Simulator */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
Property scummvmSimulator_Release(scummvmSimulator_Debug);
ADD_SETTING(scummvmSimulator_Release, "COPY_PHASE_STRIP", "YES");
REMOVE_SETTING(scummvmSimulator_Release, "GCC_DYNAMIC_NO_PIC");
diff --git a/graphics/yuv_to_rgb.cpp b/graphics/yuv_to_rgb.cpp
index 0abebf99a8..78903d0cd8 100644
--- a/graphics/yuv_to_rgb.cpp
+++ b/graphics/yuv_to_rgb.cpp
@@ -300,6 +300,30 @@ void convertYUV420ToRGB(Graphics::Surface *dst, const byte *ySrc, const byte *uS
convertYUV420ToRGB<uint32>((byte *)dst->pixels, dst->pitch, lookup, ySrc, uSrc, vSrc, yWidth, yHeight, yPitch, uvPitch);
}
+#define READ_QUAD(ptr, prefix) \
+ byte prefix##A = ptr[index]; \
+ byte prefix##B = ptr[index + 1]; \
+ byte prefix##C = ptr[index + uvPitch]; \
+ byte prefix##D = ptr[index + uvPitch + 1]
+
+#define DO_INTERPOLATION(out) \
+ out = (out##A * (4 - xDiff) * (4 - yDiff) + out##B * xDiff * (4 - yDiff) + \
+ out##C * yDiff * (4 - xDiff) + out##D * xDiff * yDiff) >> 4
+
+#define DO_YUV410_PIXEL() \
+ DO_INTERPOLATION(u); \
+ DO_INTERPOLATION(v); \
+ \
+ cr_r = Cr_r_tab[v]; \
+ crb_g = Cr_g_tab[v] + Cb_g_tab[u]; \
+ cb_b = Cb_b_tab[u]; \
+ \
+ PUT_PIXEL(*ySrc, dstPtr); \
+ dstPtr += sizeof(PixelInt); \
+ \
+ ySrc++; \
+ xDiff++
+
template<typename PixelInt>
void convertYUV410ToRGB(byte *dstPtr, int dstPitch, const YUVToRGBLookup *lookup, const byte *ySrc, const byte *uSrc, const byte *vSrc, int yWidth, int yHeight, int yPitch, int uvPitch) {
// Keep the tables in pointers here to avoid a dereference on each pixel
@@ -309,47 +333,41 @@ void convertYUV410ToRGB(byte *dstPtr, int dstPitch, const YUVToRGBLookup *lookup
const int16 *Cb_b_tab = Cb_g_tab + 256;
const uint32 *rgbToPix = lookup->_rgbToPix;
+ int quarterWidth = yWidth >> 2;
+
for (int y = 0; y < yHeight; y++) {
- for (int x = 0; x < yWidth; x++) {
+ for (int x = 0; x < quarterWidth; x++) {
// Perform bilinear interpolation on the the chroma values
// Based on the algorithm found here: http://tech-algorithm.com/articles/bilinear-image-scaling/
// Feel free to optimize further
- int targetX = x >> 2;
int targetY = y >> 2;
- int xDiff = x & 3;
+ int xDiff = 0;
int yDiff = y & 3;
- int index = targetY * uvPitch + targetX;
-
- byte a = uSrc[index];
- byte b = uSrc[index + 1];
- byte c = uSrc[index + uvPitch];
- byte d = uSrc[index + uvPitch + 1];
-
- byte u = (a * (4 - xDiff) * (4 - yDiff) + b * xDiff * (4 - yDiff) +
- c * yDiff * (4 - xDiff) + d * xDiff * yDiff) >> 4;
-
- a = vSrc[index];
- b = vSrc[index + 1];
- c = vSrc[index + uvPitch];
- d = vSrc[index + uvPitch + 1];
+ int index = targetY * uvPitch + x;
- byte v = (a * (4 - xDiff) * (4 - yDiff) + b * xDiff * (4 - yDiff) +
- c * yDiff * (4 - xDiff) + d * xDiff * yDiff) >> 4;
+ // Declare some variables for the following macros
+ byte u, v;
+ int16 cr_r, crb_g, cb_b;
+ register const uint32 *L;
- int16 cr_r = Cr_r_tab[v];
- int16 crb_g = Cr_g_tab[v] + Cb_g_tab[u];
- int16 cb_b = Cb_b_tab[u];
- const uint32 *L;
+ READ_QUAD(uSrc, u);
+ READ_QUAD(vSrc, v);
- PUT_PIXEL(ySrc[x], dstPtr);
- dstPtr += sizeof(PixelInt);
+ DO_YUV410_PIXEL();
+ DO_YUV410_PIXEL();
+ DO_YUV410_PIXEL();
+ DO_YUV410_PIXEL();
}
dstPtr += dstPitch - yWidth * sizeof(PixelInt);
- ySrc += yPitch;
+ ySrc += yPitch - yWidth;
}
}
+#undef READ_QUAD
+#undef DO_INTERPOLATION
+#undef DO_YUV410_PIXEL
+
void convertYUV410ToRGB(Graphics::Surface *dst, const byte *ySrc, const byte *uSrc, const byte *vSrc, int yWidth, int yHeight, int yPitch, int uvPitch) {
// Sanity checks
assert(dst && dst->pixels);
diff --git a/gui/themes/translations.dat b/gui/themes/translations.dat
index c196db0e20..a9645f226a 100644
--- a/gui/themes/translations.dat
+++ b/gui/themes/translations.dat
Binary files differ
diff --git a/po/es_ES.po b/po/es_ES.po
index c825e9de4f..2be6dd051c 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
@@ -1373,24 +1373,23 @@ msgstr "Voces y sub."
#: engines/scumm/dialogs.cpp:653
msgid "Select a Proficiency Level."
-msgstr ""
+msgstr "Selecciona un nivel de dificultad."
#: engines/scumm/dialogs.cpp:655
msgid "Refer to your Loom(TM) manual for help."
-msgstr ""
+msgstr "Mira en el Manual para mayor información."
#: engines/scumm/dialogs.cpp:658
-#, fuzzy
msgid "Standard"
-msgstr "Estándar (16bpp)"
+msgstr "Estándar"
#: engines/scumm/dialogs.cpp:659
msgid "Practice"
-msgstr ""
+msgstr "Práctica"
#: engines/scumm/dialogs.cpp:660
msgid "Expert"
-msgstr ""
+msgstr "Experto"
#: engines/scumm/help.cpp:73
msgid "Common keyboard commands:"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index d937777ea5..bf6ac4424d 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -1380,23 +1380,23 @@ msgstr "Voix & ST"
#: engines/scumm/dialogs.cpp:653
msgid "Select a Proficiency Level."
-msgstr ""
+msgstr "Sélectionnez un niveau de compétence."
#: engines/scumm/dialogs.cpp:655
msgid "Refer to your Loom(TM) manual for help."
-msgstr ""
+msgstr "Reportez-vous ŕ votre manuel d'instruction."
#: engines/scumm/dialogs.cpp:658
msgid "Standard"
-msgstr "Standard"
+msgstr "Normal"
#: engines/scumm/dialogs.cpp:659
msgid "Practice"
-msgstr ""
+msgstr "Essai"
#: engines/scumm/dialogs.cpp:660
msgid "Expert"
-msgstr ""
+msgstr "Expert"
#: engines/scumm/help.cpp:73
msgid "Common keyboard commands:"
diff --git a/po/hu_HU.po b/po/hu_HU.po
index f230c84d1a..76e01da44b 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: ScummVM 1.3.0svn\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
"POT-Creation-Date: 2012-03-07 22:09+0000\n"
-"PO-Revision-Date: 2012-02-17 07:10+0100\n"
+"PO-Revision-Date: 2012-04-18 08:20+0100\n"
"Last-Translator: Gruby <grubycza@hotmail.com>\n"
"Language-Team: Hungarian\n"
"MIME-Version: 1.0\n"
@@ -1158,13 +1158,13 @@ msgstr ""
"README-t az alap információkról, és hogy hogyan segíthetsz a későbbiekben."
#: engines/dialogs.cpp:243
-#, fuzzy, c-format
+#, c-format
msgid ""
"Gamestate save failed (%s)! Please consult the README for basic information, "
"and for instructions on how to obtain further assistance."
msgstr ""
-"Sajnálom, a motor jelenleg nem tartalmaz játék közbeni súgót. Olvassd el a "
-"README-t az alap információkról, és hogy hogyan segíthetsz a későbbiekben."
+"(%s) játékmentés nem sikerült!. Olvassd el a README-t az alap "
+"információkról, és hogy hogyan segíthetsz a későbbiekben."
#: engines/dialogs.cpp:321 engines/mohawk/dialogs.cpp:109
#: engines/mohawk/dialogs.cpp:174
@@ -1225,13 +1225,13 @@ msgstr ""
"Nézd meg a README fájlt a részletekért."
#: engines/engine.cpp:426
-#, fuzzy, c-format
+#, c-format
msgid ""
"Gamestate load failed (%s)! Please consult the README for basic information, "
"and for instructions on how to obtain further assistance."
msgstr ""
-"Sajnálom, a motor jelenleg nem tartalmaz játék közbeni súgót. Olvassd el a "
-"README-t az alap információkról, és hogy hogyan segíthetsz a későbbiekben."
+"(%s) játékállás betöltése nem sikerült!. Olvassd el a README-t az alap "
+"információkról, és hogy hogyan segíthetsz a későbbiekben."
#: engines/engine.cpp:439
msgid ""
@@ -2083,7 +2083,7 @@ msgstr ""
#: engines/sword1/animation.cpp:539
#, c-format
msgid "PSX stream cutscene '%s' cannot be played in paletted mode"
-msgstr ""
+msgstr "'%s' PSX stream átvezető nem játszható le paletta módban"
#: engines/sword1/animation.cpp:560 engines/sword2/animation.cpp:455
msgid "DXA cutscenes found but ScummVM has been built without zlib support"
@@ -2138,10 +2138,11 @@ msgid "This is the end of the Broken Sword 1 Demo"
msgstr "Ez a Broken Sword 1 Demo vége"
#: engines/sword2/animation.cpp:435
-#, fuzzy
msgid ""
"PSX cutscenes found but ScummVM has been built without RGB color support"
-msgstr "DXA átvezető elérhető, de a ScummVM zlib támogatás nincs lefordítva"
+msgstr ""
+"PSX átvezetőfilmet találtam, de ez a ScummVM RGB színtámogatás nélkül van "
+"lefordítva"
#: engines/parallaction/saveload.cpp:133
#, c-format
@@ -2289,7 +2290,7 @@ msgstr " (Aktív)"
#: backends/keymapper/remap-dialog.cpp:106
msgid " (Blocked)"
-msgstr ""
+msgstr " (Blokkolt)"
#: backends/keymapper/remap-dialog.cpp:119
msgid " (Global)"
diff --git a/po/it_IT.po b/po/it_IT.po
index 29811d81ff..8ac8a62216 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -1374,24 +1374,23 @@ msgstr "Voci e testo"
#: engines/scumm/dialogs.cpp:653
msgid "Select a Proficiency Level."
-msgstr ""
+msgstr "Selezionate un livello di difficoltŕ."
#: engines/scumm/dialogs.cpp:655
msgid "Refer to your Loom(TM) manual for help."
-msgstr ""
+msgstr "Consultate il manuale delle istruzioni."
#: engines/scumm/dialogs.cpp:658
-#, fuzzy
msgid "Standard"
-msgstr "Standard (16bpp)"
+msgstr "Medio"
#: engines/scumm/dialogs.cpp:659
msgid "Practice"
-msgstr ""
+msgstr "Base"
#: engines/scumm/dialogs.cpp:660
msgid "Expert"
-msgstr ""
+msgstr "Expert"
#: engines/scumm/help.cpp:73
msgid "Common keyboard commands:"
diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp
index df839610a1..0d80c93a1f 100644
--- a/video/qt_decoder.cpp
+++ b/video/qt_decoder.cpp
@@ -152,7 +152,13 @@ const Graphics::Surface *QuickTimeDecoder::decodeNextFrame() {
// (needs to be done after we find the next track)
updateAudioBuffer();
- if (_scaledSurface) {
+ // We have to initialize the scaled surface
+ if (frame && (_scaleFactorX != 1 || _scaleFactorY != 1)) {
+ if (!_scaledSurface) {
+ _scaledSurface = new Graphics::Surface();
+ _scaledSurface->create(_width, _height, getPixelFormat());
+ }
+
scaleSurface(frame, _scaledSurface, _scaleFactorX, _scaleFactorY);
return _scaledSurface;
}
@@ -258,14 +264,10 @@ void QuickTimeDecoder::init() {
_nextVideoTrack = findNextVideoTrack();
if (_nextVideoTrack) {
- // Initialize the scaled surface
if (_scaleFactorX != 1 || _scaleFactorY != 1) {
- // We have to initialize the scaled surface
- _scaledSurface = new Graphics::Surface();
- _scaledSurface->create((_nextVideoTrack->getWidth() / _scaleFactorX).toInt(),
- (_nextVideoTrack->getHeight() / _scaleFactorY).toInt(), getPixelFormat());
- _width = _scaledSurface->w;
- _height = _scaledSurface->h;
+ // We have to take the scale into consideration when setting width/height
+ _width = (_nextVideoTrack->getWidth() / _scaleFactorX).toInt();
+ _height = (_nextVideoTrack->getHeight() / _scaleFactorY).toInt();
} else {
_width = _nextVideoTrack->getWidth().toInt();
_height = _nextVideoTrack->getHeight().toInt();
@@ -527,19 +529,12 @@ void QuickTimeDecoder::AudioTrackHandler::seekToTime(Audio::Timestamp time) {
}
QuickTimeDecoder::VideoTrackHandler::VideoTrackHandler(QuickTimeDecoder *decoder, Common::QuickTimeParser::Track *parent) : TrackHandler(decoder, parent) {
- if (_parent->scaleFactorX != 1 || _parent->scaleFactorY != 1) {
- _scaledSurface = new Graphics::Surface();
- _scaledSurface->create(getWidth().toInt(), getHeight().toInt(), getPixelFormat());
- } else {
- _scaledSurface = 0;
- }
-
enterNewEditList(false);
_holdNextFrameStartTime = false;
_curFrame = -1;
_durationOverride = -1;
-
+ _scaledSurface = 0;
}
QuickTimeDecoder::VideoTrackHandler::~VideoTrackHandler() {
@@ -576,7 +571,12 @@ const Graphics::Surface *QuickTimeDecoder::VideoTrackHandler::decodeNextFrame()
enterNewEditList(true);
}
- if (_scaledSurface) {
+ if (frame && (_parent->scaleFactorX != 1 || _parent->scaleFactorY != 1)) {
+ if (!_scaledSurface) {
+ _scaledSurface = new Graphics::Surface();
+ _scaledSurface->create(getWidth().toInt(), getHeight().toInt(), getPixelFormat());
+ }
+
_decoder->scaleSurface(frame, _scaledSurface, _parent->scaleFactorX, _parent->scaleFactorY);
return _scaledSurface;
}