aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/convbdf.c10
-rw-r--r--tools/create_kyradat/create_kyradat.cpp7
-rw-r--r--tools/create_kyradat/create_kyradat.h1
-rw-r--r--tools/create_kyradat/games.cpp3
-rw-r--r--tools/create_kyradat/tables.cpp10
-rw-r--r--tools/create_msvc/create_msvc.cpp100
-rwxr-xr-xtools/credits.pl46
-rw-r--r--tools/make-scumm-fontdata.c2
-rw-r--r--tools/md5table.c1
-rw-r--r--tools/module.mk1
-rwxr-xr-xtools/po2c277
-rw-r--r--tools/scumm-md5.txt43
-rwxr-xr-xtools/update-version.pl1
13 files changed, 420 insertions, 82 deletions
diff --git a/tools/convbdf.c b/tools/convbdf.c
index 4341eac2e7..fc13cff6ce 100644
--- a/tools/convbdf.c
+++ b/tools/convbdf.c
@@ -38,12 +38,12 @@
#include <time.h>
int READ_UINT16(void *addr) {
- unsigned char *buf = addr;
+ unsigned char *buf = (unsigned char *)addr;
return (buf[0] << 8) | buf[1];
}
void WRITE_UINT16(void *addr, int value) {
- unsigned char *buf = addr;
+ unsigned char *buf = (unsigned char *)addr;
buf[0] = (value >> 8) & 0xFF;
buf[1] = value & 0xFF;
}
@@ -611,7 +611,7 @@ int bdf_read_bitmaps(FILE *fp, struct font* pf) {
/* determine whether font doesn't require encode table*/
l = 0;
for (i = 0; i < pf->size; ++i) {
- if (pf->offset[i] != l) {
+ if (pf->offset[i] != (unsigned long)l) {
encodetable = 1;
break;
}
@@ -648,7 +648,7 @@ int bdf_read_bitmaps(FILE *fp, struct font* pf) {
/* reallocate bits array to actual bits used*/
if (ofs < pf->bits_size) {
- pf->bits = realloc(pf->bits, ofs * sizeof(bitmap_t));
+ pf->bits = (bitmap_t *)realloc(pf->bits, ofs * sizeof(bitmap_t));
pf->bits_size = ofs;
}
else {
@@ -919,7 +919,7 @@ int gen_c_source(struct font* pf, char *path) {
bbuf,
pf->defaultchar);
- fprintf(ofp, "\n" "#if !(defined(PALMOS_ARM) || defined(PALMOS_DEBUG) || defined(__GP32__))\n");
+ fprintf(ofp, "\n" "#if !(defined(__GP32__))\n");
fprintf(ofp, "extern const NewFont g_sysfont(desc);\n");
fprintf(ofp, "#else\n");
fprintf(ofp, "DEFINE_FONT(g_sysfont)\n");
diff --git a/tools/create_kyradat/create_kyradat.cpp b/tools/create_kyradat/create_kyradat.cpp
index c1bcbc006c..85038a0820 100644
--- a/tools/create_kyradat/create_kyradat.cpp
+++ b/tools/create_kyradat/create_kyradat.cpp
@@ -45,7 +45,7 @@
#include <map>
enum {
- kKyraDatVersion = 70
+ kKyraDatVersion = 72
};
const ExtractFilename extractFilenames[] = {
@@ -163,6 +163,7 @@ const ExtractFilename extractFilenames[] = {
{ k1CreditsStrings, kTypeRawData, true },
// FM-TOWNS specific
+ { k1TownsMusicFadeTable, k3TypeRaw16to8, false },
{ k1TownsSFXwdTable, kTypeTownsWDSfxTable, false },
{ k1TownsSFXbtTable, kTypeRawData, false },
{ k1TownsCDATable, kTypeRawData, false },
@@ -500,7 +501,7 @@ bool checkIndex(PAKFile &file) {
void printHelp(const char *f) {
printf("Usage:\n");
- printf("%s output inputfiles ...", f);
+ printf("%s output inputfiles ...\n", f);
}
bool process(PAKFile &out, const Game *g, const byte *data, const uint32 size);
@@ -898,6 +899,8 @@ const char *getIdString(const int id) {
return "k1GUIStrings";
case k1ConfigStrings:
return "k1ConfigStrings";
+ case k1TownsMusicFadeTable:
+ return "k1TownsMusicFadeTable";
case k1TownsSFXwdTable:
return "k1TownsSFXwdTable";
case k1TownsSFXbtTable:
diff --git a/tools/create_kyradat/create_kyradat.h b/tools/create_kyradat/create_kyradat.h
index 435e239381..d82e16fed0 100644
--- a/tools/create_kyradat/create_kyradat.h
+++ b/tools/create_kyradat/create_kyradat.h
@@ -138,6 +138,7 @@ enum kExtractID {
k1CreditsStrings,
+ k1TownsMusicFadeTable,
k1TownsSFXwdTable,
k1TownsSFXbtTable,
k1TownsCDATable,
diff --git a/tools/create_kyradat/games.cpp b/tools/create_kyradat/games.cpp
index 9976451067..008120868f 100644
--- a/tools/create_kyradat/games.cpp
+++ b/tools/create_kyradat/games.cpp
@@ -99,6 +99,7 @@ const Game lolGames[] = {
{ kLol, { EN_ANY, -1, -1 }, kPlatformPC, kDemoVersion, { "30bb5af87d38adb47d3e6ce06b1cb042", 0 } },
// DOS floppy (no language specifc strings)
+ { kLol, { EN_ANY, -1, -1 }, kPlatformPC, kNoSpecial, { "0cc764a204f7ba8cefe1a5f14c479619", 0 } },
{ kLol, { DE_DEU, -1, -1 }, kPlatformPC, kNoSpecial, { "6b843869772c1b779e1386be868c15dd", 0 } },
// PC98 (no language specifc strings)
@@ -411,6 +412,8 @@ const int kyra1TownsNeed[] = {
k1NewGameString,
k1ConfigStrings,
+ k1TownsMusicFadeTable,
+ k1TownsMusicFadeTable,
k1TownsSFXwdTable,
k1TownsSFXbtTable,
k1TownsCDATable,
diff --git a/tools/create_kyradat/tables.cpp b/tools/create_kyradat/tables.cpp
index a74f58e2c3..e2235b1b78 100644
--- a/tools/create_kyradat/tables.cpp
+++ b/tools/create_kyradat/tables.cpp
@@ -968,6 +968,12 @@ const ExtractEntrySearchData k1ConfigStringsProvider[] = {
EXTRACT_END_ENTRY
};
+const ExtractEntrySearchData k1TownsMusicFadeTableProvider[] = {
+ { UNK_LANG, kPlatformFMTowns, { 0x00000B10, 0x000076DE, { { 0x9F, 0x08, 0x5B, 0xD6, 0x25, 0x7F, 0x11, 0x08, 0x87, 0x45, 0x92, 0xD3, 0xE5, 0xA8, 0x7C, 0x2F } } } },
+
+ EXTRACT_END_ENTRY
+};
+
const ExtractEntrySearchData k1TownsSFXwdTableProvider[] = {
{ UNK_LANG, kPlatformFMTowns, { 0x00012608, 0x006717A1, { { 0x34, 0xDD, 0x2D, 0xA5, 0x14, 0x05, 0xEE, 0x2F, 0x93, 0x7C, 0x78, 0x4D, 0xCA, 0x13, 0xED, 0x93 } } } },
@@ -1275,6 +1281,7 @@ const ExtractEntrySearchData kLolIngamePakFilesProvider[] = {
};
const ExtractEntrySearchData kLolCharacterDefsProvider[] = {
+ { UNK_LANG, kPlatformPC, { 0x00000492, 0x000046B0, { { 0x7A, 0x94, 0x8B, 0xC6, 0xF7, 0xF1, 0x2F, 0xF3, 0xBC, 0x1B, 0x0B, 0x4E, 0x00, 0xC9, 0x44, 0x58 } } } }, // floppy
{ UNK_LANG, kPlatformPC, { 0x00000492, 0x000047FD, { { 0x8C, 0x0B, 0x8B, 0xCE, 0xE0, 0xB0, 0x8F, 0xA9, 0x06, 0xC3, 0x98, 0xE6, 0x2E, 0x09, 0xB6, 0x93 } } } }, // floppy
{ UNK_LANG, kPlatformPC, { 0x00000492, 0x00004ACD, { { 0xDF, 0x87, 0xFE, 0x89, 0x59, 0xCC, 0x01, 0xD7, 0xC7, 0xEB, 0x16, 0xA4, 0x09, 0xAF, 0x5D, 0xC0 } } } }, // CD
{ UNK_LANG, kPlatformPC98, { 0x00000492, 0x00005893, { { 0x7C, 0x7E, 0xFB, 0x80, 0xD9, 0xB6, 0x16, 0x87, 0x80, 0xB7, 0x46, 0x9B, 0x96, 0x1A, 0x6A, 0xBE } } } },
@@ -1613,6 +1620,7 @@ const ExtractEntrySearchData kLolScrollYBottomProvider[] = {
};
const ExtractEntrySearchData kLolButtonDefsProvider[] = {
+ { UNK_LANG, kPlatformPC, { 0x0000082A, 0x0000CAAE, { { 0xC1, 0x83, 0x0D, 0xA0, 0x66, 0x16, 0x3D, 0x31, 0xCE, 0x30, 0x9F, 0x4E, 0x00, 0x65, 0x5A, 0xC8 } } } }, // floppy
{ UNK_LANG, kPlatformPC, { 0x0000082A, 0x0000C34E, { { 0x7F, 0x9A, 0x0F, 0x28, 0x1A, 0x8F, 0x03, 0x46, 0x48, 0xEB, 0xC9, 0xB9, 0x23, 0x29, 0x5E, 0x50 } } } }, // floppy
{ UNK_LANG, kPlatformPC, { 0x0000082A, 0x0000C47B, { { 0xDF, 0x1A, 0x18, 0x1F, 0x58, 0x05, 0x1F, 0x56, 0xD8, 0x6D, 0xBB, 0x93, 0xEC, 0x35, 0x9D, 0xA5 } } } }, // CD
{ UNK_LANG, kPlatformPC98, { 0x0000082A, 0x0000AB58, { { 0xDD, 0x2B, 0xA9, 0x54, 0x60, 0x25, 0x2C, 0x74, 0xF8, 0x5D, 0xC6, 0xD2, 0x2C, 0x1A, 0x24, 0x44 } } } },
@@ -1669,6 +1677,7 @@ const ExtractEntrySearchData kLolButtonList8Provider[] = {
};
const ExtractEntrySearchData kLolLegendDataProvider[] = {
+ { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x00000858, { { 0x63, 0x5E, 0x60, 0xC7, 0x62, 0x2C, 0x5D, 0x8F, 0x74, 0x71, 0x98, 0xB7, 0x09, 0xD2, 0x51, 0xC7 } } } },
{ UNK_LANG, kPlatformUnknown, { 0x0000003C, 0x00000A52, { { 0x81, 0xC5, 0xA4, 0xE7, 0x60, 0xDA, 0xD6, 0x5E, 0x19, 0xAB, 0xF3, 0xC7, 0xDD, 0xDB, 0x92, 0x5E } } } },
EXTRACT_END_ENTRY
@@ -1823,6 +1832,7 @@ const ExtractEntry extractProviders[] = {
{ k1SpecialPalette33, k1SpecialPalette33Provider },
{ k1GUIStrings, k1GUIStringsProvider },
{ k1ConfigStrings, k1ConfigStringsProvider },
+ { k1TownsMusicFadeTable, k1TownsMusicFadeTableProvider },
{ k1TownsSFXwdTable, k1TownsSFXwdTableProvider },
{ k1TownsSFXbtTable, k1TownsSFXbtTableProvider },
{ k1TownsCDATable, k1TownsCDATableProvider },
diff --git a/tools/create_msvc/create_msvc.cpp b/tools/create_msvc/create_msvc.cpp
index a2636dab21..fcae638c50 100644
--- a/tools/create_msvc/create_msvc.cpp
+++ b/tools/create_msvc/create_msvc.cpp
@@ -210,8 +210,9 @@ public:
* @param bits Number of bits the platform supports.
* @param defines Defines the platform needs to have set.
* @param prefix File prefix, used to add additional include paths.
+ * @param isWin32 Bitness of property file
*/
- virtual void outputGlobalPropFile(std::ofstream &properties, int bits, const std::string &defines, const std::string &prefix) = 0;
+ virtual void outputGlobalPropFile(std::ofstream &properties, int bits, const std::string &defines, const std::string &prefix, bool isWin32) = 0;
/**
* Generates the project properties for debug and release settings.
@@ -282,7 +283,7 @@ public:
void writeReferences(std::ofstream &output);
- void outputGlobalPropFile(std::ofstream &properties, int bits, const std::string &defines, const std::string &prefix);
+ void outputGlobalPropFile(std::ofstream &properties, int bits, const std::string &defines, const std::string &prefix, bool isWin32);
void createBuildProp(const BuildSetup &setup, bool isRelease, bool isWin32);
@@ -305,7 +306,7 @@ public:
void writeReferences(std::ofstream &output);
- void outputGlobalPropFile(std::ofstream &properties, int bits, const std::string &defines, const std::string &prefix);
+ void outputGlobalPropFile(std::ofstream &properties, int bits, const std::string &defines, const std::string &prefix, bool isWin32);
void createBuildProp(const BuildSetup &setup, bool isRelease, bool isWin32);
@@ -838,11 +839,14 @@ const Feature s_features[] = {
{ "mpeg2", "USE_MPEG2", "libmpeg2.lib", false, "mpeg2 codec for cutscenes" },
// ScummVM feature flags
- { "scalers", "USE_SCALERS", "", true, "Scalers" },
- { "hqscalers", "USE_HQ_SCALERS", "", true, "HQ scalers" },
- { "16bit", "USE_RGB_COLOR", "", true, "16bit color support" },
- { "mt32emu", "USE_MT32EMU", "", true, "integrated MT-32 emulator" },
- { "nasm", "USE_NASM", "", true, "IA-32 assembly support" }, // This feature is special in the regard, that it needs additional handling.
+ { "scalers", "USE_SCALERS", "", true, "Scalers" },
+ { "hqscalers", "USE_HQ_SCALERS", "", true, "HQ scalers" },
+ { "16bit", "USE_RGB_COLOR", "", true, "16bit color support" },
+ { "mt32emu", "USE_MT32EMU", "", true, "integrated MT-32 emulator" },
+ { "nasm", "USE_NASM", "", true, "IA-32 assembly support" }, // This feature is special in the regard, that it needs additional handling.
+ { "translation", "USE_TRANSLATION", "", true, "Translation support" },
+ { "langdetect", "USE_DETECTLANG", "", true, "System language detection support" } // This feature actually depends on "translation", there
+ // is just no current way of properly detecting this...
};
} // End of anonymous namespace
@@ -1326,7 +1330,7 @@ void ProjectProvider::createGlobalProp(const BuildSetup &setup) {
defines += *i;
}
- outputGlobalPropFile(properties, 32, defines, convertPathToWin(setup.filePrefix));
+ outputGlobalPropFile(properties, 32, defines, convertPathToWin(setup.filePrefix), true);
properties.close();
properties.open((setup.outputDir + '/' + "ScummVM_Global64" + getPropertiesExtension()).c_str());
@@ -1348,7 +1352,7 @@ void ProjectProvider::createGlobalProp(const BuildSetup &setup) {
defines += *i;
}
- outputGlobalPropFile(properties, 64, defines, convertPathToWin(setup.filePrefix));
+ outputGlobalPropFile(properties, 64, defines, convertPathToWin(setup.filePrefix), false);
}
void ProjectProvider::addFilesToProject(const std::string &dir, std::ofstream &projectFile,
@@ -1651,7 +1655,7 @@ void VisualStudioProvider::writeReferences(std::ofstream &output) {
output << "\tEndProjectSection\n";
}
-void VisualStudioProvider::outputGlobalPropFile(std::ofstream &properties, int bits, const std::string &defines, const std::string &prefix) {
+void VisualStudioProvider::outputGlobalPropFile(std::ofstream &properties, int bits, const std::string &defines, const std::string &prefix, bool isWin32) {
properties << "<?xml version=\"1.0\" encoding=\"Windows-1252\"?>\n"
"<VisualStudioPropertySheet\n"
"\tProjectType=\"Visual C++\"\n"
@@ -1664,7 +1668,7 @@ void VisualStudioProvider::outputGlobalPropFile(std::ofstream &properties, int b
"\t\tName=\"VCCLCompilerTool\"\n"
"\t\tDisableLanguageExtensions=\"true\"\n"
"\t\tDisableSpecificWarnings=\"" << _globalWarnings << "\"\n"
- "\t\tAdditionalIncludeDirectories=\"" << prefix << ";" << prefix << "\\engines\"\n"
+ "\t\tAdditionalIncludeDirectories=\"" << prefix << ";" << prefix << "\\engines;$(SCUMMVM_LIBS)\\include\"\n"
"\t\tPreprocessorDefinitions=\"" << defines << "\"\n"
"\t\tExceptionHandling=\"0\"\n"
"\t\tRuntimeTypeInfo=\"false\"\n"
@@ -1681,6 +1685,7 @@ void VisualStudioProvider::outputGlobalPropFile(std::ofstream &properties, int b
"\t\tIgnoreDefaultLibraryNames=\"\"\n"
"\t\tSubSystem=\"1\"\n"
"\t\tEntryPointSymbol=\"WinMainCRTStartup\"\n"
+ "\t\tAdditionalLibraryDirectories=\"$(SCUMMVM_LIBS)\\libs\\" << (isWin32 ? "x86" : "x64") << "\"\n"
"\t/>\n"
"\t<Tool\n"
"\t\tName=\"VCResourceCompilerTool\"\n"
@@ -1899,12 +1904,6 @@ void MSBuildProvider::createProjectFile(const std::string &name, const std::stri
// Project version number
project << "\t<PropertyGroup>\n"
"\t\t<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\n";
-
- if (name == "scummvm")
- project << "<ExecutablePath>$(SCUMMVM_LIBS)\\bin;$(VCInstallDir)bin;$(WindowsSdkDir)bin\\NETFX 4.0 Tools;$(WindowsSdkDir)bin;$(VSInstallDir)Common7\\Tools\\bin;$(VSInstallDir)Common7\\tools;$(VSInstallDir)Common7\\ide;$(ProgramFiles)\\HTML Help Workshop;$(FrameworkSDKDir)\\bin;$(MSBuildToolsPath32);$(VSInstallDir);$(SystemRoot)\\SysWow64;$(FxCopDir);$(PATH)</ExecutablePath>\n"
- "<IncludePath>$(SCUMMVM_LIBS)\\include;$(VCInstallDir)include;$(VCInstallDir)atlmfc\\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\\include;</IncludePath>\n"
- "<LibraryPath>$(SCUMMVM_LIBS)\\lib;$(VCInstallDir)lib;$(VCInstallDir)atlmfc\\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\\lib</LibraryPath>\n";
-
project << "\t</PropertyGroup>\n";
// Project-specific settings
@@ -2049,38 +2048,41 @@ void MSBuildProvider::outputProjectSettings(std::ofstream &project, const std::s
project << "\t</ItemDefinitionGroup>\n";
}
-void MSBuildProvider::outputGlobalPropFile(std::ofstream &properties, int bits, const std::string &defines, const std::string &prefix) {
+void MSBuildProvider::outputGlobalPropFile(std::ofstream &properties, int bits, const std::string &defines, const std::string &prefix, bool isWin32) {
properties << "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n"
- "<PropertyGroup>\n"
- "<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\n"
- "<_PropertySheetDisplayName>ScummVM_Global</_PropertySheetDisplayName>\n"
- "<OutDir>$(Configuration)" << bits << "\\</OutDir>\n"
- "<IntDir>$(Configuration)" << bits << "/$(ProjectName)\\</IntDir>\n"
- "</PropertyGroup>\n"
- "<ItemDefinitionGroup>\n"
- "<ClCompile>\n"
- "<DisableLanguageExtensions>true</DisableLanguageExtensions>\n"
- "<DisableSpecificWarnings>" << _globalWarnings << ";%(DisableSpecificWarnings)</DisableSpecificWarnings>\n"
- "<AdditionalIncludeDirectories>" << prefix << ";" << prefix << "\\engines;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n"
- "<PreprocessorDefinitions>" << defines << ";%(PreprocessorDefinitions)</PreprocessorDefinitions>\n"
- "<ExceptionHandling>\n"
- "</ExceptionHandling>\n"
- "<RuntimeTypeInfo>false</RuntimeTypeInfo>\n"
- "<WarningLevel>Level4</WarningLevel>\n"
- "<TreatWarningAsError>false</TreatWarningAsError>\n"
- "<CompileAs>Default</CompileAs>\n"
- "</ClCompile>\n"
- "<Link>\n"
- "<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\n"
- "<SubSystem>Console</SubSystem>\n"
- "<EntryPointSymbol>WinMainCRTStartup</EntryPointSymbol>\n"
- "</Link>\n"
- "<ResourceCompile>\n"
- "<PreprocessorDefinitions>HAS_INCLUDE_SET;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n"
- "<AdditionalIncludeDirectories>" << prefix << ";%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n"
- "</ResourceCompile>\n"
- "</ItemDefinitionGroup>\n"
+ "\t<PropertyGroup>\n"
+ "\t\t<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\n"
+ "\t\t<_PropertySheetDisplayName>ScummVM_Global</_PropertySheetDisplayName>\n"
+ "\t\t<ExecutablePath>$(SCUMMVM_LIBS)\\bin;$(ExecutablePath)</ExecutablePath>\n"
+ "\t\t<LibraryPath>$(SCUMMVM_LIBS)\\libs\\" << (isWin32 ? "x86" : "x64") << ";$(LibraryPath)</LibraryPath>\n"
+ "\t\t<IncludePath>$(SCUMMVM_LIBS)\\include;$(IncludePath)</IncludePath>\n"
+ "\t\t<OutDir>$(Configuration)" << bits << "\\</OutDir>\n"
+ "\t\t<IntDir>$(Configuration)" << bits << "/$(ProjectName)\\</IntDir>\n"
+ "\t</PropertyGroup>\n"
+ "\t<ItemDefinitionGroup>\n"
+ "\t\t<ClCompile>\n"
+ "\t\t\t<DisableLanguageExtensions>true</DisableLanguageExtensions>\n"
+ "\t\t\t<DisableSpecificWarnings>" << _globalWarnings << ";%(DisableSpecificWarnings)</DisableSpecificWarnings>\n"
+ "\t\t\t<AdditionalIncludeDirectories>" << prefix << ";" << prefix << "\\engines;$(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n"
+ "\t\t\t<PreprocessorDefinitions>" << defines << ";%(PreprocessorDefinitions)</PreprocessorDefinitions>\n"
+ "\t\t\t<ExceptionHandling>\n"
+ "\t\t\t</ExceptionHandling>\n"
+ "\t\t\t<RuntimeTypeInfo>false</RuntimeTypeInfo>\n"
+ "\t\t\t<WarningLevel>Level4</WarningLevel>\n"
+ "\t\t\t<TreatWarningAsError>false</TreatWarningAsError>\n"
+ "\t\t\t<CompileAs>Default</CompileAs>\n"
+ "\t\t</ClCompile>\n"
+ "\t\t<Link>\n"
+ "\t\t\t<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\n"
+ "\t\t\t<SubSystem>Console</SubSystem>\n"
+ "\t\t\t<EntryPointSymbol>WinMainCRTStartup</EntryPointSymbol>\n"
+ "\t\t</Link>\n"
+ "\t\t<ResourceCompile>\n"
+ "\t\t\t<PreprocessorDefinitions>HAS_INCLUDE_SET;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n"
+ "\t\t\t<AdditionalIncludeDirectories>" << prefix << ";%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n"
+ "\t\t</ResourceCompile>\n"
+ "\t</ItemDefinitionGroup>\n"
"</Project>\n";
properties.flush();
@@ -2107,6 +2109,8 @@ void MSBuildProvider::createBuildProp(const BuildSetup &setup, bool isRelease, b
"\t<ItemDefinitionGroup>\n"
"\t\t<ClCompile>\n";
+
+
if (isRelease) {
properties << "\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n"
"\t\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n"
diff --git a/tools/credits.pl b/tools/credits.pl
index 165834b9b9..f59c68021a 100755
--- a/tools/credits.pl
+++ b/tools/credits.pl
@@ -666,6 +666,10 @@ begin_credits("Credits");
begin_section("Backend Teams");
+ begin_section("Android");
+ add_person("Angus Lees", "Gus", "");
+ end_section();
+
begin_section("Dreamcast");
add_person("Marcus Comstedt", "", "");
end_section();
@@ -694,10 +698,6 @@ begin_credits("Credits");
add_person("Neil Millstone", "agent-q", "");
end_section();
- begin_section("PalmOS");
- add_person("Chris Apers", "chrilith ", "");
- end_section();
-
begin_section("PocketPC / WinCE");
add_person("Nicolas Bacca", "arisme", "(retired)");
add_person("Kostas Nakos", "Jubanka", "");
@@ -771,6 +771,7 @@ begin_credits("Credits");
begin_section("Retired Team Members");
begin_persons();
+ add_person("Chris Apers", "chrilith ", "Former PalmOS porter");
add_person("Ralph Brorsen", "painelf", "Help with GUI implementation");
add_person("Jamieson Christian", "jamieson630", "iMUSE, MIDI, all things musical");
add_person("Felix Jakschitsch", "yot", "Zak256 reverse engineering");
@@ -850,6 +851,37 @@ begin_credits("Credits");
add_person("Johannes Schickel", "LordHoto", "");
end_section();
end_section();
+
+ begin_section("Translations");
+ begin_persons();
+ add_person("Thierry Crozat", "criezy", "Translation Lead");
+ end_persons();
+ begin_section("Catalan");
+ add_person("Jordi Vilalta Prat", "jvprat", "");
+ end_section();
+ begin_section("French");
+ add_person("Thierry Crozat", "criezy", "");
+ end_section();
+ begin_section("German");
+ add_person("Simon Sawatzki", "SimSaw", "");
+ add_person("Lothar Serra Mari", "Lothar93", "");
+ end_section();
+ begin_section("Hungarian");
+ add_person("Alex Bevilacqua", "", "");
+ end_section();
+ begin_section("Italian");
+ add_person("Matteo Angelino", "Maff", "");
+ end_section();
+ begin_section("Russian");
+ add_person("Eugene Sandulenko", "sev", "");
+ end_section();
+ begin_section("Spanish");
+ add_person("Tom&aacute;s Maidagan", "Truido", "");
+ end_section();
+ begin_section("Ukrainian");
+ add_person("Lubomyr Lisen", "", "");
+ end_section();
+ end_section();
begin_section("Websites (design)");
begin_persons();
@@ -918,7 +950,7 @@ begin_credits("Credits");
add_person("Ravi I.", "", "SCI0 sound resource specification");
add_person("Ruediger Hanke", "", "Port to the MorphOS platform");
add_person("Rune Orsval", "", "Configuration file editor");
- add_person("Rickard Lind", "", "MT32->GM MIDI mapping magic, sound research");
+ add_person("Rickard Lind", "", "MT-32->GM MIDI mapping magic, sound research");
add_person("Rink Springer", "", "Port to the DOS platform, several bug fixes");
add_person("Robey Pointer", "", "Bug tracking system hosting");
add_person("Sergey Lapin", "", "Port of Carl's type 2 decompression code");
@@ -929,8 +961,8 @@ begin_credits("Credits");
add_person("Sean Terrell", "", "");
end_persons();
add_paragraph("Special thanks to Prof. Dr. Gary Nutt ".
- "for allowing the FreeSCI VM extension as a ".
- "course project in his Advanced OS course.");
+ "for allowing the FreeSCI VM extension as a ".
+ "course project in his Advanced OS course.");
add_paragraph("Special thanks to Bob Heitman and Corey Cole for their support of FreeSCI.");
end_section();
diff --git a/tools/make-scumm-fontdata.c b/tools/make-scumm-fontdata.c
index f251a22b80..991d49831a 100644
--- a/tools/make-scumm-fontdata.c
+++ b/tools/make-scumm-fontdata.c
@@ -821,7 +821,7 @@ static const unsigned char spanishCharsetDataV2[] = {
unsigned char *specialCharsetData = NULL;
int numSpecialChars = 0;
-void compressCharset(const unsigned char *data, char *var, char *name) {
+void compressCharset(const unsigned char *data, const char *var, const char *name) {
int i;
printf("// %s\n", name);
diff --git a/tools/md5table.c b/tools/md5table.c
index b69f3957cd..cb2959ed88 100644
--- a/tools/md5table.c
+++ b/tools/md5table.c
@@ -77,6 +77,7 @@ typedef struct {
* common/util.h).
*/
static const StringMap platformMap[] = {
+ { "2gs", "kPlatformApple2GS" },
{ "3DO", "kPlatform3DO" },
{ "Amiga", "kPlatformAmiga" },
{ "Atari", "kPlatformAtariST" },
diff --git a/tools/module.mk b/tools/module.mk
index 4117ceac77..5248454382 100644
--- a/tools/module.mk
+++ b/tools/module.mk
@@ -65,7 +65,6 @@ md5scumm: tools/md5table$(EXEEXT)
tools/md5table$(EXEEXT) --c++ < $(srcdir)/tools/scumm-md5.txt > $(srcdir)/engines/scumm/scumm-md5.h
cp $(srcdir)/tools/scumm-md5.txt $(srcdir)/../../web/trunk/data/scumm-md5.txt
-
#
# Rules which automatically and implicitly rebuild the credits and
# MD5 tables when needed.
diff --git a/tools/po2c b/tools/po2c
new file mode 100755
index 0000000000..10e15338c7
--- /dev/null
+++ b/tools/po2c
@@ -0,0 +1,277 @@
+#!/usr/bin/perl
+
+#
+# po2c - Converts .po files to C code
+#
+# Copyright (C) 2004 Angel Ortega <angel@triptico.com>
+#
+# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# http://www.triptico.com
+#
+
+$VERSION = "1.0.2-scummvm";
+
+if(scalar(@ARGV) == 0)
+{
+ print "Usage: po2c {po file[s]}\n";
+ exit 1;
+}
+
+%msgs = ();
+%msgids = ();
+
+# stage 1: loading
+
+# arguments are .po files
+foreach my $f (@ARGV)
+{
+ my ($lang);
+ my ($langDesc);
+
+ next unless(($lang) = ($f =~ /([^\/]+)\.po$/));
+
+ if(open F, $f)
+ {
+ my ($msgid, $val, %a);
+
+ while(<F>)
+ {
+ chomp;
+
+ # ignore blank lines or comments
+ next if /^$/ or /^#/;
+
+ if(/^msgid\s+\"(.*)\"\s*$/)
+ {
+ # store previous msgid
+ if(defined($msgid))
+ {
+ $a{$msgid} = $val;
+ $msgids{$msgid} ++;
+ }
+
+ # start of msgid
+ $val = $1;
+ }
+ elsif(/^msgstr\s+\"(.*)\"\s*$/)
+ {
+ # store previous msgid
+ $msgid = $val;
+
+ # start of msgstr
+ $val = $1;
+ }
+ elsif(/^\"(.*)\"\s*$/)
+ {
+ # add to current value
+ $val .= $1;
+ }
+ }
+
+ # store previous msgid
+ if(defined($msgid))
+ {
+ $a{$msgid} = $val;
+ $msgids{$msgid} ++;
+ }
+
+ close F;
+
+ # add to the global message pool
+ $msgs{$lang} = \%a;
+ }
+}
+
+# stage 2: convert the data
+
+# stores all sorted msgids into @msgids
+@msgids = sort(keys(%msgids));
+
+# travels again, storing indexes into %msgids
+for(my $n = 0;$n < scalar(@msgids);$n++)
+{
+ $msgids{$msgids[$n]} = $n;
+}
+
+# stage 3: dump as C++ code
+
+print "// generated by po2c $VERSION - Do not modify\n\n";
+
+# dump first the msgid array
+print "static const char * const _messageIds[] = {\n";
+
+for(my $n = 0;$n < scalar(@msgids);$n++)
+{
+ print "\t/* $n */ \"" . $msgids[$n] . "\",\n";
+}
+
+print "\tNULL\n};\n\n";
+
+# dump the lang structure
+print "struct PoMessageEntry {\n";
+print "\tint msgid;\n";
+print "\tconst char *msgstr;\n";
+print "};\n\n";
+
+# dump now each language
+
+foreach my $l (keys(%msgs))
+{
+ print "static const PoMessageEntry _translation_${l}\[\] = {\n";
+
+ # get the translation table for the language $l
+ my ($m) = $msgs{$l};
+
+# while (my ($msgstr, $msgid) = each (%$m))
+ foreach my $msgid (sort(keys(%$m)))
+ {
+ my ($msgstr) = "";
+
+ # make it 7-bit safe
+ foreach $c (split(//, $m->{$msgid})) {
+ if (ord($c) > 0x7f) {
+ $msgstr .= sprintf("\\%o", ord($c));
+ } else {
+ $msgstr .= $c;
+ }
+ }
+
+ print "\t{ " . $msgids{$msgid} . ", \"" . $msgstr . "\" },\n"
+ if $msgstr;
+ }
+
+ print "\t{ -1, NULL }\n};\n\n";
+}
+
+# finally, dump the languages
+
+print "struct PoLangEntry {\n";
+print "\tconst char *lang;\n";
+print "\tconst char *charset;\n";
+print "\tconst char *langname;\n";
+print "\tconst PoMessageEntry *msgs;\n";
+print "};\n\n";
+print "const PoLangEntry _translations[] = {\n";
+
+foreach my $l (keys(%msgs))
+{
+ # charset
+ $header = $msgs{$l}->{""};
+ $header =~ /charset=([^\\]+)/;
+ $charset = $1;
+ # user readable language name
+ $lang = "NULL";
+ $header = $msgs{$l}->{""};
+ $header =~ /Language:[\s]*([^\\]*)/;
+ unless ($1 eq "")
+ {
+ $lang = "\"" . $1 . "\"";
+ }
+ print "\t{ \"" . $l . "\", \"" . $charset . "\", " . $lang . ", _translation_${l} },\n";
+}
+
+print "\t{ NULL, NULL, NULL, NULL }\n};\n\n";
+
+print "// code\n";
+print << 'EOF';
+
+static const PoMessageEntry *_currentTranslation = NULL;
+static int _currentTranslationMessageEntryCount = 0;
+static const char *_currentTranslationCharset = NULL;
+
+void po2c_setlang(const char *lang) {
+ _currentTranslation = NULL;
+ _currentTranslationMessageEntryCount = 0;
+ _currentTranslationCharset = NULL;
+
+ // if lang is NULL or "", deactivate it
+ if (lang == NULL || *lang == '\0')
+ return;
+
+ // searches for a valid language array
+ for (int i = 0; _currentTranslation == NULL && _translations[i].lang != NULL; ++i) {
+ if (strcmp(lang, _translations[i].lang) == 0) {
+ _currentTranslation = _translations[i].msgs;
+ _currentTranslationCharset = _translations[i].charset;
+ }
+ }
+
+ // try partial searches
+ for (int i = 0; _currentTranslation == NULL && _translations[i].lang != NULL; ++i) {
+ if (strncmp(lang, _translations[i].lang, 2) == 0) {
+ _currentTranslation = _translations[i].msgs;
+ _currentTranslationCharset = _translations[i].charset;
+ }
+ }
+
+ // if found, count entries
+ if (_currentTranslation != NULL) {
+ for (const PoMessageEntry *m = _currentTranslation; m->msgid != -1; ++m)
+ ++_currentTranslationMessageEntryCount;
+ }
+}
+
+const char *po2c_gettext(const char *msgid) {
+ // if no language is set or msgid is empty, return msgid as is
+ if (_currentTranslation == NULL || *msgid == '\0')
+ return msgid;
+
+ // binary-search for the msgid
+ int leftIndex = 0;
+ int rightIndex = _currentTranslationMessageEntryCount - 1;
+
+ while (rightIndex >= leftIndex) {
+ const int midIndex = (leftIndex + rightIndex) / 2;
+ const PoMessageEntry * const m = &_currentTranslation[midIndex];
+
+ const int compareResult = strcmp(msgid, _messageIds[m->msgid]);
+
+ if (compareResult == 0)
+ return m->msgstr;
+ else if (compareResult < 0)
+ rightIndex = midIndex - 1;
+ else
+ leftIndex = midIndex + 1;
+ }
+
+ return msgid;
+}
+
+const char *po2c_getcharset(void) {
+ if (_currentTranslationCharset)
+ return _currentTranslationCharset;
+ else
+ return "ASCII";
+}
+
+int po2c_getnumlangs(void) {
+ return ARRAYSIZE(_translations) - 1;
+}
+
+const char *po2c_getlang(const int num) {
+ assert(num < ARRAYSIZE(_translations));
+ return _translations[num].lang;
+}
+
+const char *po2c_getlangname(const int num) {
+ assert(num < ARRAYSIZE(_translations));
+ if (_translations[num].langname != NULL)
+ return _translations[num].langname;
+ return _translations[num].lang;
+}
+EOF
+
+exit 0;
diff --git a/tools/scumm-md5.txt b/tools/scumm-md5.txt
index 7b9918ba43..b379bc837e 100644
--- a/tools/scumm-md5.txt
+++ b/tools/scumm-md5.txt
@@ -60,7 +60,7 @@ maniac Maniac Mansion
7f45ddd6dbfbf8f80c0c0efea4c295bc 1972 en DOS V1 V1 - Fingolfin
- 17f7296f63c78642724f057fd8e736a7 -1 gb NES NES -
+ 17f7296f63c78642724f057fd8e736a7 2082 gb NES NES -
91d5db93187fab54d823f73bd6441cb6 -1 us NES NES -
1c7e7db2cfab1ad62746ab680a634204 -1 fr NES NES -
3a5ec90d556d4920976c5578bfbfaf79 -1 de NES NES -
@@ -172,10 +172,10 @@ loom Loom
5d88b9d6a88e6f8e90cded9d01b7f082 8307 en DOS VGA VGA CD Version v1.0 from 10. Feb 92 (Talkie) Peter Eckerlein, Fingolfin
- c5d10e190d4b4d59114b824f2fdbd00e -1 en FM-TOWNS FM-TOWNS - - dhewg, Andrea Petrucci
+ c5d10e190d4b4d59114b824f2fdbd00e 7540 en FM-TOWNS FM-TOWNS - - dhewg, Andrea Petrucci
31b8fda4c8c7413fa6b39997e776eba4 -1 jp FM-TOWNS FM-TOWNS - - khalek, Andrea Petrucci
- 0aa050f4ad79402fbe9c4f78fb8ac494 -1 en PC-Engine PC-Engine - - Kirben
+ 0aa050f4ad79402fbe9c4f78fb8ac494 6532 en PC-Engine PC-Engine - - Kirben
79b05f628586837e7166e82b2279bb50 -1 jp PC-Engine PC-Engine - - clone2727
5a35e36fd777e9c37a49c5b2faca52f9 6108 en DOS EGA EGA Demo non-interactive Fingolfin
@@ -189,7 +189,7 @@ monkey The Secret of Monkey Island
49210e124e4c2b30f1290a9ef6306301 8357 en DOS EGA EGA 8 disk v1.0, 9/18/90 Fingolfin
1dd3c11ea4439adfe681e4e405b624e1 -1 fr DOS EGA EGA 8 disk Andrea Petrucci
- fc6b6148e80d67939d9a18697c0f626a -1 de DOS EGA EGA 8 disk ghoostkilla
+ fc6b6148e80d67939d9a18697c0f626a 8367 de DOS EGA EGA 8 disk ghoostkilla
910e31cffb28226bd68c569668a0d6b4 -1 es DOS EGA EGA 8 disk Andrea Petrucci
1d05cd189e4908f79b57e78a4402f292 -1 en DOS EGA EGA 4 disk Andrea Petrucci
ce6a4cef315b20fef58a95bc40a2d8d3 -1 fr DOS EGA EGA 4 disk Matthieu Milan
@@ -225,12 +225,12 @@ monkey The Secret of Monkey Island
c13225cb1bbd3bc9fe578301696d8021 -1 en SEGA SEGA - -
057c9b456dedcc4d71b991a3072a20b3 9465 jp SEGA SEGA - - GloKidd
- 8eb84cee9b429314c7f0bdcf560723eb -1 en FM-TOWNS FM-TOWNS - - Paul Priest, Andrea Petrucci
+ 8eb84cee9b429314c7f0bdcf560723eb 9925 en FM-TOWNS FM-TOWNS - - Paul Priest, Andrea Petrucci
e17db1ddf91b39ca6bbc8ad3ed19e883 -1 jp FM-TOWNS FM-TOWNS - - Paul Priest, Andrea Petrucci
71523b539491527d9860f4407faf0411 7607 en DOS Demo EGA Demo - Fingolfin
771bc18ec6f93837b839c992b211904b -1 de DOS Demo EGA Demo - khalek
- 54a936ad06161ff7bfefcb96200f7bff -1 en Amiga VGA VGA Demo - khalek
+ 54a936ad06161ff7bfefcb96200f7bff 7617 en Amiga VGA VGA Demo - khalek
pass Passport to Adventure
e6cd81b25ab1453a8a6d3482118c391e 7857 en DOS - - v1.0 9/14/90 Fingolfin
@@ -279,8 +279,9 @@ atlantis Indiana Jones and the Fate of Atlantis
1a6e5ae2777a6a33f06ffc0226210934 -1 en Mac - CD - Scott Summers
2d9d46f23cb07bbc90b8ad464d3e4ff8 -1 en Mac - CD Mac bundle Joachim Eberhard
8e9417564f33790815445b2136efa667 11915 jp Mac - CD - Petr Maruska
+ e8d0697906e53fee8b7e9f5652696da8 11915 jp DOS - CD - Petr Maruska, tracker #3017219
- c7be10f775404fd9785a8b92a06d240c -1 en FM-TOWNS - - - dhewg, Andrea Petrucci
+ c7be10f775404fd9785a8b92a06d240c 12030 en FM-TOWNS - - - dhewg, Andrea Petrucci
4d34042713958b971cb139fba4658586 -1 jp FM-TOWNS - - - Andrea Petrucci
035deab53b47bc43abc763560d0f8d4b -1 en DOS Floppy Demo -
@@ -325,7 +326,7 @@ samnmax Sam &amp; Max Hit the Road
0f6f2e716ba896a44e5059bba1de7ca9 -1 it All? - CD - Andrea Petrucci
4ba7fb331296c283e73d8f5b2096e551 -1 es All? - CD - Andrea Petrucci
d43352a805d78b5f4936c6d7779bf575 -1 ru DOS - CD -
- 166553538ff320c69edafeee29525419 -1 en Mac - CD Mac bundle Joachim Eberhard
+ 166553538ff320c69edafeee29525419 199195304 en Mac - CD Mac bundle Joachim Eberhard
3a5d13675e9a23aedac0bac7730f0ac1 -1 fr Mac - CD Mac bundle ThierryFR
c3196c5349e53e387aaff1533d95e53a -1 en DOS Floppy Demo -
@@ -386,7 +387,7 @@ football Backyard Football
7fc6cdb46b4c9d384c52327f4bca6416 -1 en All - - - sev
425205754fa749f4f0b0dd9d09fa45fd -1 en All - Demo - Joachim Eberhard
- 5bd335265a61caa3d78956ad9f88ba23 -1 en All - Demo - sev
+ 5bd335265a61caa3d78956ad9f88ba23 23135 en All - Demo - sev
football2002 Backyard Football 2002
a095616d2d23ccf43b8e257711202cba -1 en All - - - clone2727
@@ -484,6 +485,12 @@ freddi Freddi Fish 1: The Case of the Missing Kelp Seeds
a197a87ae77f3b3333f09a7a2c448fe2 -1 en Windows HE 99 Updated - Jonathan
af2bd1a43b50b55915d87994e093203d 34829 de Windows HE 99 Updated - Lightkey
57a5cfec9ef231a007043cc1917e8988 -1 en Wii HE 100 - - sanguinehearts
+ 56b5922751be7ffd771b38dda56b028b 34837 nl Wii HE 100 - - George Kormendi
+ 3ae7f002d9256b8bdf76aaf8a3a069f8 34837 gb Wii HE 100 - - George Kormendi
+ 30d1903b0715759af064be2127381cd0 34837 de Wii HE 100 - - George Kormendi
+ 4afb734df8315ee412669c812d4cf0a1 34837 fr Wii HE 100 - - George Kormendi
+ a59a438cb182124c30c4447d8ed469e9 34837 nb Wii HE 100 - - George Kormendi
+ 880c5ca5b944648b3f8b03feb41705a8 34837 se Wii HE 100 - - George Kormendi
c7c492a107ec520d7a7943037d0ca54a -1 nl Windows HE 71 Demo - DarthBo
084ed0fa98a6d1e9368d67fe9cfbd417 -1 en Windows HE 71 Demo - khalek
@@ -557,7 +564,7 @@ freddicove Freddi Fish 5: The Case of the Creature of Coral Cove
4ce2d5b355964bbcb5e5ce73236ef868 -1 ru Windows HE 100 - - sev
6b257bb2827dd894b8109a50a1a18b5a -1 nl All HE 100 Demo - Kirben, sev
- 45082a5c9f42ba14dacfe1fdeeba819d -1 en All HE 100 Demo - sev
+ 45082a5c9f42ba14dacfe1fdeeba819d 18422 en All HE 100 Demo - sev
maze Freddi Fish and Luther's Maze Madness
4f04b321a95d4315ce6d65f8e1dd0368 -1 us All HE 80 - - Kirben
@@ -587,7 +594,7 @@ airport Let's Explore the Airport with Buzzy
7ea2da67ebabea4ac20cee9f4f9d2934 -1 en Mac - Demo - khalek
8ffd618a776a4c0d8922bb28b09f8ce8 -1 en Windows - Demo - khalek
- e144f5f49d9241d2a9dee2576b3d09cb -1 en Windows - Demo - khalek
+ e144f5f49d9241d2a9dee2576b3d09cb 51152 en Windows - Demo - khalek
86c9902b7bec1a17926d4dae85beaa45 -1 en Windows HE 71 Demo - khalek
farm Let's Explore the Farm with Buzzy
@@ -599,7 +606,7 @@ farm Let's Explore the Farm with Buzzy
39fd6db10d0222d817025c4d3346e3b4 -1 en Mac - Demo - Joachim Eberhard
bf8b52fdd9a69c67f34e8e9fec72661c -1 en Windows HE 71 Demo - khalek, sev
0557df19f046a84c2fdc63507c6616cb -1 nl Windows HE 72 Demo - adutchguy
- 8d479e36f35e80257dfc102cf4b8a912 -1 en Windows HE 72 Demo - khalek, sev
+ 8d479e36f35e80257dfc102cf4b8a912 34333 en Windows HE 72 Demo - khalek, sev
jungle Let's Explore the Jungle with Buzzy
659942b9a6b519f123a13cca3c333a13 -1 en Mac - - - Joachim Eberhard
@@ -652,13 +659,13 @@ pajama3 Pajama Sam 3: You Are What You Eat From Your Head to Your Feet
f08145577e4f13584cc90b3d6e9caa55 -1 nl All - Demo - joostp
a654fb60c3b67d6317a7894ffd9f25c5 -1 us All - Demo - sev
a9f2f04b1ecaab9495b59befffe9bf88 -1 us All - Demo - sev
- 0c45eb4baff0c12c3d9dfa889c8070ab -1 de All - Demo - Joachim Eberhard
+ 0c45eb4baff0c12c3d9dfa889c8070ab 13884 de All - Demo - Joachim Eberhard
4fe6a2e8df3c4536b278fdd2fbcb181e -1 en Windows - Mini Game - Trekky
679855cf61932f9bf995c8f3677380ed -1 fr Windows - Demo - Mevi
c8c5baadcbfc8d0372ed4335abace8a7 -1 fr Windows - Demo - Mevi
784b499c98d07260a30952685758636b 13911 de Windows - Demo - George Kormendi
3e48298920fab9b7aec5a971e1bd1fab -1 gb Windows - Demo - eriktorbjorn
- cf90b4db5486ef798db78fe6fbf897e5 -1 us Windows - Demo - khalek
+ cf90b4db5486ef798db78fe6fbf897e5 13902 us Windows - Demo - khalek
pjgames Pajama Sam: Games to Play on Any Day
8a484262363a8e18be87112454f1456b -1 us All - - - Kirben
@@ -749,10 +756,10 @@ puttzoo Putt-Putt Saves the Zoo
3a3e592b074f595489f7f11e150c398d -1 us Windows HE 99 Updated - Adrian
c5cc7cba02a2fbd539c4439e775b0536 43470 de Windows HE 99 Updated - Lightkey
- 3486ede0f904789267d4bcc5537a46d4 -1 en Mac - Demo - khalek
+ 3486ede0f904789267d4bcc5537a46d4 14337 en Mac - Demo - khalek
d220d154aafbfa12bd6f3ab1b2dae420 -1 de Mac - Demo - Joachim Eberhard
aa81aa6d5545ce172fdba81f2e2f9d36 -1 nl Windows - Demo - DarthBo
- de4efb910210736813c9a1185384bace -1 en Windows HE 72 Demo - khalek
+ de4efb910210736813c9a1185384bace 14337 en Windows HE 72 Demo - khalek
f3d55aea441e260e9e9c7d2a187097e0 14337 en Windows - Demo - khalek
65fa23d6884e8ca23d5d2406d70de7e8 -1 fr Windows - Demo - gist974
2a446817ffcabfef8716e0c456ecaf81 -1 de Windows - Demo - Joachim Eberhard
@@ -831,7 +838,7 @@ spyfox2 SPY Fox 2: Some Assembly Required
90e2f0af4f779629695c6394a65bb702 -1 fr All - - - gist974, ThierryFR
bc4700bc0e12879f6d25d14d6be6cfdd -1 de All - - - Joachim Eberhard
cea91e3dd47f2518ea418e41611aa77f -1 ru All - - - sev
- 9fd66fb3b04703bd50da4356e4202558 -1 en Mac - - - pix_climber
+ 9fd66fb3b04703bd50da4356e4202558 51295 en Mac - - - pix_climber
71fe97c3108678cf604f14abe342341b -1 nl Windows - - - adutchguy
1c792d28376d45e145cb916bca0400a2 -1 nl All - Demo - joostp
@@ -850,7 +857,7 @@ spyozon SPY Fox 3: Operation Ozone
7015b059ab72cff3a0ef9fb4d5e9889d -1 de Windows - - - andy482
be39a5d4db60e8aa736b9086778cb45c -1 gb Windows - - -
- ebd0b2c8a387f18887282afe6cad894a -1 en All - Demo - Kirben
+ ebd0b2c8a387f18887282afe6cad894a 15317 en All - Demo - Kirben
a99c39ba65b6086be28aef576da69595 -1 fr Windows - Demo - Mevi
65563295c3a06493351870f20a1630cf 5235008 All All HE CUP Preview - sev
diff --git a/tools/update-version.pl b/tools/update-version.pl
index f151ae7514..81aa5c27f9 100755
--- a/tools/update-version.pl
+++ b/tools/update-version.pl
@@ -40,6 +40,7 @@ my @subs_files = qw(
dists/iphone/Info.plist
dists/irix/scummvm.spec
dists/wii/meta.xml
+ dists/android/AndroidManifest.xml
backends/platform/psp/README.PSP
);