Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package scummvm-tools for openSUSE:Factory 
checked in at 2021-03-10 08:57:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/scummvm-tools (Old)
 and      /work/SRC/openSUSE:Factory/.scummvm-tools.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "scummvm-tools"

Wed Mar 10 08:57:42 2021 rev:5 rq:878079 version:2.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/scummvm-tools/scummvm-tools.changes      
2020-05-20 18:46:26.621414602 +0200
+++ /work/SRC/openSUSE:Factory/.scummvm-tools.new.2378/scummvm-tools.changes    
2021-03-10 08:58:50.810987551 +0100
@@ -1,0 +2,7 @@
+Mon Mar  8 22:59:47 UTC 2021 - Dirk M??ller <[email protected]>
+
+- update to 2.2.0:
+ - Add a tool to extract Lost Eden archives
+ - Fix number of issues with prince translation generation.
+
+-------------------------------------------------------------------

Old:
----
  scummvm-tools-2.1.0.tar.xz

New:
----
  scummvm-tools-2.2.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ scummvm-tools.spec ++++++
--- /var/tmp/diff_new_pack.hLhi8l/_old  2021-03-10 08:58:51.234987988 +0100
+++ /var/tmp/diff_new_pack.hLhi8l/_new  2021-03-10 08:58:51.234987988 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package scummvm-tools
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,21 +17,21 @@
 
 
 Name:           scummvm-tools
-Version:        2.1.0
+Version:        2.2.0
 Release:        0
 Summary:        ScummVM-related tools
 License:        GPL-2.0-or-later
-URL:            http://www.scummvm.org
-Source0:        
https://www.scummvm.org/frs/scummvm-tools/%{version}/scummvm-tools-%{version}.tar.xz
+URL:            https://www.scummvm.org
+Source0:        
https://downloads.scummvm.org/frs/scummvm-tools/%{version}/scummvm-tools-%{version}.tar.xz
 Source1:        %{name}.desktop
 Source99:       %{name}.changes
 # PATCH-FIX-UPSTREAM fix-new-wxwidgets.patch -- 
https://bugs.scummvm.org/ticket/9554
 Patch0:         fix-new-wxwidgets.patch
 BuildRequires:  ImageMagick
 BuildRequires:  boost-devel >= 1.32.0
+BuildRequires:  c++_compiler
 BuildRequires:  desktop-file-utils
 BuildRequires:  fdupes
-BuildRequires:  gcc-c++
 BuildRequires:  icns-utils
 BuildRequires:  pkgconfig
 BuildRequires:  wxWidgets-devel >= 3
@@ -67,7 +67,6 @@
 icns2png -x -s 512x512 gui/media/scummvmtools.icns
 
 %build
-export CXXFLAGS="%{optflags}"
 ./configure --prefix=%{_prefix} \
             --enable-verbose-build
 %make_build

++++++ scummvm-tools-2.1.0.tar.xz -> scummvm-tools-2.2.0.tar.xz ++++++
++++ 1785 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/COPYRIGHT new/scummvm-tools-2.2.0/COPYRIGHT
--- old/scummvm-tools-2.1.0/COPYRIGHT   2019-10-04 23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/COPYRIGHT   2020-09-13 23:18:34.000000000 +0200
@@ -1,5 +1,5 @@
 ScummVM Tools
-Copyright (C) 2001-2019 by the following:
+Copyright (C) 2001-2020 by the following:
 
 If you have contributed to this project then you deserve to be on this
 list.  Contact us and we'll add you.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/Makefile new/scummvm-tools-2.2.0/Makefile
--- old/scummvm-tools-2.1.0/Makefile    2019-10-04 23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/Makefile    2020-09-13 23:18:34.000000000 +0200
@@ -94,7 +94,7 @@
        cp $(srcdir)/gui/media/logo.jpg $(WIN32PATH)/tools/media/
        cp $(srcdir)/gui/media/tile.gif $(WIN32PATH)/tools/media/
        $(STRIP) construct_mohawk$(EXEEXT) -o 
$(WIN32PATH)/tools/construct_mohawk$(EXEEXT)
-ifeq "$(USE_FREETYPE)" "1"
+ifeq "$(USE_FREETYPE2)" "1"
 ifeq "$(USE_ICONV)" "1"
        $(STRIP) create_sjisfnt$(EXEEXT) -o 
$(WIN32PATH)/tools/create_sjisfnt$(EXEEXT)
 endif
@@ -132,7 +132,7 @@
        cp $(srcdir)/README           $(srcdir)/$(WIN32BUILD)
        unix2dos $(srcdir)/$(WIN32BUILD)/*.*
        $(STRIP) construct_mohawk$(EXEEXT)   -o 
$(srcdir)/$(WIN32BUILD)/construct_mohawk$(EXEEXT)
-ifeq "$(USE_FREETYPE)" "1"
+ifeq "$(USE_FREETYPE2)" "1"
 ifeq "$(USE_ICONV)" "1"
        $(STRIP) create_sjisfnt$(EXEEXT)     -o 
$(srcdir)/$(WIN32BUILD)/create_sjisfnt$(EXEEXT)
 endif
@@ -234,7 +234,7 @@
        cp $(srcdir)/gui/media/logo.jpg $(AMIGAOS4PATH)/tools/media/
        cp $(srcdir)/gui/media/tile.gif $(AMIGAOS4PATH)/tools/media/
        $(STRIP) construct_mohawk$(EXEEXT) -o 
$(AMIGAOS4PATH)/tools/construct_mohawk$(EXEEXT)
-ifeq "$(USE_FREETYPE)" "1"
+ifeq "$(USE_FREETYPE2)" "1"
 ifeq "$(USE_ICONV)" "1"
        $(STRIP) create_sjisfnt$(EXEEXT) -o 
$(AMIGAOS4PATH)/tools/create_sjisfnt$(EXEEXT)
 endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/Makefile.common new/scummvm-tools-2.2.0/Makefile.common
--- old/scummvm-tools-2.1.0/Makefile.common     2019-10-04 23:44:09.000000000 
+0200
+++ new/scummvm-tools-2.2.0/Makefile.common     2020-09-13 23:18:34.000000000 
+0200
@@ -39,7 +39,7 @@
        decompile
 endif
 
-ifdef USE_FREETYPE
+ifdef USE_FREETYPE2
 ifdef USE_ICONV
 PROGRAMS += \
        create_sjisfnt
@@ -156,9 +156,9 @@
 pegasus_save_types_LIBS := -framework CoreServices
 
 create_sjisfnt_OBJS := create_sjisfnt.o $(UTILS)
-create_sjisfnt_LIBS := $(FREETYPELIBS) $(ICONVLIBS)
+create_sjisfnt_LIBS := $(FREETYPE2_LIBS) $(ICONVLIBS)
 # Set custom build flags
-create_sjisfnt.o: CPPFLAGS+=$(FREETYPEINCLUDES) $(ICONVCFLAGS)
+create_sjisfnt.o: CPPFLAGS+=$(FREETYPE2_CFLAGS) $(ICONVCFLAGS)
 
 
 sword2_clue_OBJS := engines/sword2/sword2_clue.o common/file.o
@@ -192,6 +192,7 @@
        engines/cge/pack_cge.o \
        engines/cine/extract_cine.o \
        engines/cruise/extract_cruise_pc.o \
+       engines/cryo/extract_cryo.o \
        engines/gob/extract_gob_stk.o \
        engines/kyra/extract_kyra.o \
        engines/prince/extract_prince.o \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/NEWS new/scummvm-tools-2.2.0/NEWS
--- old/scummvm-tools-2.1.0/NEWS        2019-10-04 23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/NEWS        2020-09-13 23:18:34.000000000 +0200
@@ -1,7 +1,11 @@
 For a more comprehensive changelog of the latest experimental code, see:
         https://github.com/scummvm/scummvm-tools/commits/
 
-2.1.0 (2019-10-13)
+2.2.0 (2020-09-27)
+ - Add a tool to extract Lost Eden archives
+ - Fix number of issues with prince translation generation.
+
+2.1.0 (2019-10-11)
  - Fix bug #10559: Add workaround to compress_scumm_sou for non-VOC speech
    sample in monster.sou of Indiana Jones and the Fate of Atlantis.
  - Improve endianness handling of internal FLAC encoder.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/README new/scummvm-tools-2.2.0/README
--- old/scummvm-tools-2.1.0/README      2019-10-04 23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/README      2020-09-13 23:18:34.000000000 +0200
@@ -85,6 +85,12 @@
                 Example of usage:
                 ./scummvm-tools-cli --tool extract_cruise_pc [-o outputdir] 
<infile>
 
+        extract_cryo
+               Extracts Lost Eden archives.
+
+               Example of usage:
+                ./scummvm-tools-cli --tool extract_cryo [-o outputdir] <infile>
+
         extract_gob_stk
                 Extracts data files from STK/ITK files from Coktel Vision
                 games.
@@ -134,7 +140,7 @@
                 Mansion.
 
                 Example of usage:
-                ./scummvm-tools-cli --tool extract_mm_apple [-o outputdir] 
<disk1.d64> <disk2.d64>
+                ./scummvm-tools-cli --tool extract_mm_c64 [-o outputdir] 
<disk1.d64> <disk2.d64>
 
         extract_mm_nes
                 Extracts data files from the NES version of Maniac Mansion.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/convert_dxa.bat new/scummvm-tools-2.2.0/convert_dxa.bat
--- old/scummvm-tools-2.1.0/convert_dxa.bat     2019-10-04 23:44:09.000000000 
+0200
+++ new/scummvm-tools-2.2.0/convert_dxa.bat     2020-09-13 23:18:34.000000000 
+0200
@@ -4,7 +4,7 @@
 :: This script will search for all SMK files in all subtree directories,
 :: and encode them as DXA files next to the original files.
 ::
-:: (c) 2006-2019 ScummVM Team
+:: (c) 2006-2020 ScummVM Team
 :: (c) 2006 oduverne
 :: (c) 2008 NoiZe
 ::
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/convert_dxa.sh new/scummvm-tools-2.2.0/convert_dxa.sh
--- old/scummvm-tools-2.1.0/convert_dxa.sh      2019-10-04 23:44:09.000000000 
+0200
+++ new/scummvm-tools-2.2.0/convert_dxa.sh      2020-09-13 23:18:34.000000000 
+0200
@@ -5,7 +5,7 @@
 # This script will search for all SMK files in all subtree directories,
 # and encode them as DXA files next to the original files.
 #
-# (c) 2006-2019 ScummVM Team
+# (c) 2006-2020 ScummVM Team
 # (c) 2006 crowley
 #
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/dists/macosx/Info.plist 
new/scummvm-tools-2.2.0/dists/macosx/Info.plist
--- old/scummvm-tools-2.1.0/dists/macosx/Info.plist     2019-10-04 
23:44:10.000000000 +0200
+++ new/scummvm-tools-2.2.0/dists/macosx/Info.plist     2020-09-13 
23:18:34.000000000 +0200
@@ -9,7 +9,7 @@
        <key>CFBundleExecutable</key>
        <string>scummvm-tools</string>
        <key>CFBundleGetInfoString</key>
-       <string>2.1.0, Copyright 2001-2019 The ScummVM team</string>
+       <string>2.2.0, Copyright 2001-2020 The ScummVM team</string>
        <key>CFBundleIconFile</key>
        <string>scummvmtools.icns</string>
        <key>CFBundleIdentifier</key>
@@ -21,12 +21,12 @@
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
-       <string>2.1.0</string>
+       <string>2.2.0</string>
        <key>CFBundleVersion</key>
-       <string>2.1.0</string>
+       <string>2.2.0</string>
        <key>NSAppleScriptEnabled</key>
        <false/>
        <key>NSHumanReadableCopyright</key>
-       <string>Copyright 2001-2019 The ScummVM team</string>
+       <string>Copyright 2001-2020 The ScummVM team</string>
 </dict>
 </plist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/dists/macosx/Info.plist.in 
new/scummvm-tools-2.2.0/dists/macosx/Info.plist.in
--- old/scummvm-tools-2.1.0/dists/macosx/Info.plist.in  2019-10-04 
23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/dists/macosx/Info.plist.in  2020-09-13 
23:18:34.000000000 +0200
@@ -9,7 +9,7 @@
        <key>CFBundleExecutable</key>
        <string>scummvm-tools</string>
        <key>CFBundleGetInfoString</key>
-       <string>@VERSION@, Copyright 2001-2019 The ScummVM team</string>
+       <string>@VERSION@, Copyright 2001-2020 The ScummVM team</string>
        <key>CFBundleIconFile</key>
        <string>scummvmtools.icns</string>
        <key>CFBundleIdentifier</key>
@@ -27,6 +27,6 @@
        <key>NSAppleScriptEnabled</key>
        <false/>
        <key>NSHumanReadableCopyright</key>
-       <string>Copyright 2001-2019 The ScummVM team</string>
+       <string>Copyright 2001-2020 The ScummVM team</string>
 </dict>
 </plist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/dists/scummvmtools.rc 
new/scummvm-tools-2.2.0/dists/scummvmtools.rc
--- old/scummvm-tools-2.1.0/dists/scummvmtools.rc       2019-10-04 
23:44:10.000000000 +0200
+++ new/scummvm-tools-2.2.0/dists/scummvmtools.rc       2020-09-13 
23:18:34.000000000 +0200
@@ -10,8 +10,8 @@
 IDI_ICON               ICON    DISCARDABLE     "gui/media/scummvmtools.ico"
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION     2,1,0,0
- PRODUCTVERSION  2,1,0,0
+ FILEVERSION     2,2,0,0
+ PRODUCTVERSION  2,2,0,0
  FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK
 #ifdef _DEBUG
  FILEFLAGS       VS_FF_DEBUG
@@ -28,13 +28,13 @@
         BEGIN
             VALUE "Comments", "Look! A three headed monkey (TM)! .. Nice use 
of the TM!\0"
             VALUE "FileDescription", "http://www.scummvm.org/\0";
-            VALUE "FileVersion", "2.1.0\0"
+            VALUE "FileVersion", "2.2.0\0"
             VALUE "InternalName", "scummvm\0"
-            VALUE "LegalCopyright", "Copyright ? 2001-2019 The ScummVM Team\0"
+            VALUE "LegalCopyright", "Copyright ? 2001-2020 The ScummVM Team\0"
             VALUE "LegalTrademarks", "'SCUMM', and all SCUMM games are a TM of 
LucasArts. Simon The Sorcerer is a TM of AdventureSoft. Beneath a Steel Sky and 
Broken Sword are a TM of Revolution. Flight of the Amazon Queen is a TM of John 
Passfield and Steve Stamatiadis. \0"
             VALUE "OriginalFilename", "scummvm-tools.exe\0"
             VALUE "ProductName", "ScummVM Tools\0"
-            VALUE "ProductVersion", "2.1.0\0"
+            VALUE "ProductVersion", "2.2.0\0"
         END
     END
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/dists/scummvmtools.rc.in 
new/scummvm-tools-2.2.0/dists/scummvmtools.rc.in
--- old/scummvm-tools-2.1.0/dists/scummvmtools.rc.in    2019-10-04 
23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/dists/scummvmtools.rc.in    2020-09-13 
23:18:34.000000000 +0200
@@ -30,7 +30,7 @@
             VALUE "FileDescription", "http://www.scummvm.org/\0";
             VALUE "FileVersion", "@VERSION@\0"
             VALUE "InternalName", "scummvm\0"
-            VALUE "LegalCopyright", "Copyright ? 2001-2019 The ScummVM Team\0"
+            VALUE "LegalCopyright", "Copyright ? 2001-2020 The ScummVM Team\0"
             VALUE "LegalTrademarks", "'SCUMM', and all SCUMM games are a TM of 
LucasArts. Simon The Sorcerer is a TM of AdventureSoft. Beneath a Steel Sky and 
Broken Sword are a TM of Revolution. Flight of the Amazon Queen is a TM of John 
Passfield and Steve Stamatiadis. \0"
             VALUE "OriginalFilename", "scummvm-tools.exe\0"
             VALUE "ProductName", "ScummVM Tools\0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
"old/scummvm-tools-2.1.0/dists/win32/ScummVM Tools.iss" 
"new/scummvm-tools-2.2.0/dists/win32/ScummVM Tools.iss"
--- "old/scummvm-tools-2.1.0/dists/win32/ScummVM Tools.iss"     2019-10-04 
23:44:09.000000000 +0200
+++ "new/scummvm-tools-2.2.0/dists/win32/ScummVM Tools.iss"     2020-09-13 
23:18:34.000000000 +0200
@@ -1,5 +1,5 @@
 [Setup]
-AppCopyright=2019
+AppCopyright=2020
 AppName=ScummVM Tools
 AppVerName=ScummVM Tools Git
 AppPublisher=The ScummVM Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/dists/win32/scummvm-tools.nsi 
new/scummvm-tools-2.2.0/dists/win32/scummvm-tools.nsi
--- old/scummvm-tools-2.1.0/dists/win32/scummvm-tools.nsi       2019-10-04 
23:44:10.000000000 +0200
+++ new/scummvm-tools-2.2.0/dists/win32/scummvm-tools.nsi       2020-09-13 
23:18:34.000000000 +0200
@@ -61,7 +61,7 @@
 # General Symbol Definitions
 
#########################################################################################
 !define REGKEY      "Software\ScummVM\$(^Name)"
-!define VERSION     "2.1.0"
+!define VERSION     "2.2.0"
 !define COMPANY     "ScummVM Team"
 !define URL         "http://scummvm.org/";
 !define DESCRIPTION "ScummVM Tools Installer. Look! A three headed monkey 
(TM)!"
@@ -81,7 +81,7 @@
 #TargetMinimalOS 5.0    ; Minimal version of windows for installer: Windows 
2000 or more recent
                         ; (will build unicode installer with NSIS 2.50+)
 
-VIProductVersion 2.1.0.0
+VIProductVersion 2.2.0.0
 VIAddVersionKey  ProductName      $(^Name)
 VIAddVersionKey  ProductVersion  "${VERSION}"
 VIAddVersionKey  CompanyName     "${COMPANY}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/engines/cryo/extract_cryo.cpp 
new/scummvm-tools-2.2.0/engines/cryo/extract_cryo.cpp
--- old/scummvm-tools-2.1.0/engines/cryo/extract_cryo.cpp       1970-01-01 
01:00:00.000000000 +0100
+++ new/scummvm-tools-2.2.0/engines/cryo/extract_cryo.cpp       2020-09-13 
23:18:34.000000000 +0200
@@ -0,0 +1,107 @@
+/* ScummVM Tools
+ *
+ * ScummVM Tools is the legal property of its developers, whose
+ * names are too numerous to list here. Please refer to the
+ * COPYRIGHT file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 
USA.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "extract_cryo.h"
+
+
+ExtractCryo::ExtractCryo(const std::string &name) : Tool(name, 
TOOLTYPE_EXTRACTION) {
+       ToolInput input;
+       input.format = "*.*";
+       _inputPaths.push_back(input);
+
+       _outputToDirectory = true;
+
+       _shorthelp = "Used to extract Lost Eden archive files.";
+       _helptext = "\nUsage: " + getName() + " [-o /path/to/output/dir/] 
<inputfile>\n";
+}
+
+void ExtractCryo::execute() {
+       Common::Filename filename = _inputPaths[0].path;
+
+       if (!openDAT(filename))
+               error("Unable to open %s", filename.getFullName().c_str());
+
+       Common::File fOut;
+       for (DATIterator it = _dir.begin(); it != _dir.end(); ++it) {
+               byte *buffer = (byte *)malloc((*it)->size);
+               _datFile.seek((*it)->offset, SEEK_SET);
+               _datFile.read_noThrow(buffer, (*it)->size);
+
+               _outputPath.setFullName((*it)->filename);
+               print("... %s", (*it)->filename);
+
+               fOut.open(_outputPath, "wb");
+               fOut.write(buffer, (*it)->size);
+               fOut.close();
+
+               free(buffer);
+       }
+
+       _datFile.close();
+}
+
+InspectionMatch ExtractCryo::inspectInput(const Common::Filename &filename) {
+       // TODO: DUNE.DAT
+       std::string file = filename.getFullName();
+       if (
+               scumm_stricmp(file.c_str(), "EDEN.DAT") == 0
+       )
+               return IMATCH_PERFECT;
+       return IMATCH_AWFUL;
+}
+
+bool ExtractCryo::openDAT(Common::Filename &filename) {
+       _datFile.open(filename, "rb");
+       if (!_datFile.isOpen()) {
+               error("FileMan::openDAT(): Error reading the DAT file %s", 
filename.getFullName().c_str());
+               return false;
+       }
+
+       uint16 entries = _datFile.readUint16LE();
+
+       for (uint16 fileIndex = 0; fileIndex < entries; fileIndex++) {
+               DATEntry *dirEntry = new DATEntry();
+
+               for (int i = 0; i < 16; i++) {
+                       dirEntry->filename[i] = _datFile.readByte();
+               }
+
+               dirEntry->size = _datFile.readUint32LE();
+               dirEntry->offset = _datFile.readUint32LE();
+               dirEntry->flag = _datFile.readByte();
+
+               if (dirEntry->offset != 0 || dirEntry->size != 0) {
+                       _dir.push_back(dirEntry);
+               }
+       }
+
+       return true;
+}
+
+#ifdef STANDALONE_MAIN
+int main(int argc, char *argv[]) {
+       ExtractCryo cryo(argv[0]);
+       return cryo.run(argc, argv);
+}
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/engines/cryo/extract_cryo.h 
new/scummvm-tools-2.2.0/engines/cryo/extract_cryo.h
--- old/scummvm-tools-2.1.0/engines/cryo/extract_cryo.h 1970-01-01 
01:00:00.000000000 +0100
+++ new/scummvm-tools-2.2.0/engines/cryo/extract_cryo.h 2020-09-13 
23:18:34.000000000 +0200
@@ -0,0 +1,53 @@
+/* ScummVM Tools
+ *
+ * ScummVM Tools is the legal property of its developers, whose
+ * names are too numerous to list here. Please refer to the
+ * COPYRIGHT file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 
USA.
+ */
+
+#ifndef EXTRACT_CRYO_H
+#define EXTRACT_CRYO_H
+
+#include "tool.h"
+#include "common/array.h"
+
+struct DATEntry {
+       char    filename[16];
+       uint32  size;
+       uint32  offset;
+       char    flag;
+};
+
+#define DATIterator Common::Array<DATEntry *>::iterator
+
+class ExtractCryo : public Tool {
+public:
+       ExtractCryo(const std::string &name = "extract_cryo");
+
+       virtual void execute();
+
+       virtual InspectionMatch inspectInput(const Common::Filename &filename);
+
+protected:
+       bool openDAT(Common::Filename &filename);
+
+       Common::File _datFile;
+
+       Common::Array<DATEntry *> _dir;
+};
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/engines/hdb/extract_hdb.h 
new/scummvm-tools-2.2.0/engines/hdb/extract_hdb.h
--- old/scummvm-tools-2.1.0/engines/hdb/extract_hdb.h   2019-10-04 
23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/engines/hdb/extract_hdb.h   2020-09-13 
23:18:34.000000000 +0200
@@ -40,7 +40,7 @@
        char    filename[64];   // filename
        int32   offset;                 // offset in MSD file of data
        int32   length;                 // compressed length of data
-       int32   ulength;                // uncompressed length
+       uint32  ulength;                // uncompressed length
        DataType        type;           // type of data
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/engines/kyra/kyra_ins.cpp 
new/scummvm-tools-2.2.0/engines/kyra/kyra_ins.cpp
--- old/scummvm-tools-2.1.0/engines/kyra/kyra_ins.cpp   2019-10-04 
23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/engines/kyra/kyra_ins.cpp   2020-09-13 
23:18:34.000000000 +0200
@@ -316,7 +316,7 @@
 void FileExpander::generateTables(uint8 srcIndex, uint8 dstIndex, uint8 
dstIndex2, int cnt) {
        const uint8 *tbl1 = _tables[srcIndex];
        uint8 *tbl2 = _tables[dstIndex];
-       const uint8 *tbl3 = dstIndex2 == 0xff ? 0 : _tables[dstIndex2];
+       uint8 *tbl3 = dstIndex2 == 0xff ? 0 : _tables[dstIndex2];
 
        if (!cnt)
                return;
@@ -460,7 +460,6 @@
        bool startFile = true;
 
        _list = new Archive;
-       memset(_list, 0, sizeof(Archive));
        Archive *newArchive = _list;
 
        for (int8 currentFile = 1; currentFile; currentFile++) {
@@ -505,7 +504,6 @@
 
                                newArchive->next = new Archive;
                                newArchive = newArchive->next;
-                               memset(newArchive, 0, sizeof(Archive));
                                currentFile = -1;
                        } else {
                                pos = 0;
@@ -518,7 +516,6 @@
 
                        newArchive->next = new Archive;
                        newArchive = newArchive->next;
-                       memset(newArchive, 0, sizeof(Archive));
                }
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/engines/kyra/kyra_ins.h 
new/scummvm-tools-2.2.0/engines/kyra/kyra_ins.h
--- old/scummvm-tools-2.1.0/engines/kyra/kyra_ins.h     2019-10-04 
23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/engines/kyra/kyra_ins.h     2020-09-13 
23:18:34.000000000 +0200
@@ -34,7 +34,7 @@
        char _baseFilename[1024];
 
        struct Archive {
-               Archive() : next(0) {}
+               Archive() : next(0), firstFile(0), startOffset(0), lastFile(0), 
endOffset(0), totalSize(0) { memset(filename, 0, sizeof(filename)); }
                ~Archive() { delete next; next = 0; }
 
                char filename[1024];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/engines/mohawk/utils.cpp 
new/scummvm-tools-2.2.0/engines/mohawk/utils.cpp
--- old/scummvm-tools-2.1.0/engines/mohawk/utils.cpp    2019-10-04 
23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/engines/mohawk/utils.cpp    2020-09-13 
23:18:34.000000000 +0200
@@ -49,7 +49,7 @@
 }
 
 void adjustQuickTimeAtomOffsets(Common::File *src, uint32 parentSize, int32 
offset, Common::File *outputFile) {
-       static const int kAtomHeaderSize = sizeof(uint32) + sizeof(uint32); // 
size, type
+       static const uint32 kAtomHeaderSize = sizeof(uint32) + sizeof(uint32); 
// size, type
        uint32 totalSize = 0;
 
        while (totalSize + kAtomHeaderSize < parentSize) {
@@ -92,4 +92,4 @@
 
        if (totalSize != parentSize)
                error("Unexpected position in atom %d (expected %d)", 
totalSize, parentSize);
-}
\ No newline at end of file
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/engines/prince/deprince.cpp 
new/scummvm-tools-2.2.0/engines/prince/deprince.cpp
--- old/scummvm-tools-2.1.0/engines/prince/deprince.cpp 2019-10-04 
23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/engines/prince/deprince.cpp 2020-09-13 
23:18:34.000000000 +0200
@@ -825,7 +825,7 @@
        int nlabel = 1;
 
        // Heuristics to decompile the rest
-       for (int i = 0; i < dataLen; i++) {
+       for (uint32 i = 0; i < dataLen; i++) {
                if (!dataMark[i]) {
                        if (i > 53000 && i < 124348 && READ_LE_UINT16(&data[i]) 
< 244) {
                                sprintf(buf, "unused%d", (modeRenum ? nlabel : 
i));
@@ -966,7 +966,7 @@
                for (const char **p = pref; *p; p++) {
                        int nn = 1;
 
-                       for (int i = 0; i < dataLen; i++) {
+                       for (uint32 i = 0; i < dataLen; i++) {
                                if (!labels[i].empty() && 
labels[i].hasPrefix(*p)) {
                                        sprintf(buf, "%s%d", *p, nn);
                                        labels[i] = buf;
@@ -981,7 +981,7 @@
 
        nlabel = 1;
 
-       for (int i = 0; i < dataLen; i++) {
+       for (uint32 i = 0; i < dataLen; i++) {
                if (!labels[i].empty() && !labels[i].hasPrefix("backanim")) {
                        if (inDB) {
                                printf("\n\n");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/engines/prince/extract_prince.cpp 
new/scummvm-tools-2.2.0/engines/prince/extract_prince.cpp
--- old/scummvm-tools-2.1.0/engines/prince/extract_prince.cpp   2019-10-04 
23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/engines/prince/extract_prince.cpp   2020-09-13 
23:18:34.000000000 +0200
@@ -204,9 +204,8 @@
                                mobName += c;
                                namePointer++;
                        }
-                       if (mobName.size()) {
-                               _fFiles.print("%s - ", mobName.c_str());
-                       }
+
+                       _fFiles.print("%s - ", mobName.c_str());
 
                        byte *examPointer = fileData._fileTable + 
examTextOffset;
                        mobExamText.clear();
@@ -235,9 +234,8 @@
                                        }
                                };
                        }
-                       if (mobName.size()) {
-                               _fFiles.print("\n");
-                       }
+                       _fFiles.print("\n");
+
                        streamPos += kMobsStructSize;
                }
                free(fileData._fileTable);
@@ -441,9 +439,9 @@
                stringCurrOff += 2;
                if (off) {
                        line = talkTxt + off;
-                       dialogBoxAddr[dialogBox] = line;
-                       dialogBox++;
                }
+               dialogBoxAddr[dialogBox] = line;
+               dialogBox++;
        }
        stringCurrOff += 2;
 
@@ -452,9 +450,9 @@
                stringCurrOff += 2;
                if (off) {
                        line = talkTxt + off;
-                       dialogOptAddr[dialogOpt] = line;
-                       dialogOpt++;
                }
+               dialogOptAddr[dialogOpt] = line;
+               dialogOpt++;
        }
 
        _fFiles.print("@DIALOGBOX_LINES:\n");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/engines/prince/gen-translations.sh 
new/scummvm-tools-2.2.0/engines/prince/gen-translations.sh
--- old/scummvm-tools-2.1.0/engines/prince/gen-translations.sh  1970-01-01 
01:00:00.000000000 +0100
+++ new/scummvm-tools-2.2.0/engines/prince/gen-translations.sh  2020-09-13 
23:18:34.000000000 +0200
@@ -0,0 +1,6 @@
+#! /bin/bash
+
+cp -v ../../../scummvm/devtools/create_prince/en.po .
+perl po-parse.pl en en.po
+../../scummvm-tools-cli --tool pack_prince .
+cp -v prince_translation.dat ../../../scummvm/dists/engine-data/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/engines/prince/pack_prince.cpp 
new/scummvm-tools-2.2.0/engines/prince/pack_prince.cpp
--- old/scummvm-tools-2.1.0/engines/prince/pack_prince.cpp      2019-10-04 
23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/engines/prince/pack_prince.cpp      2020-09-13 
23:18:34.000000000 +0200
@@ -20,6 +20,7 @@
  */
 
 #include <string.h>
+#include <time.h>
 #include "pack_prince.h"
 #include "common/endian.h"
 
@@ -64,6 +65,13 @@
                _fFiles.writeUint32LE(0); // and size of files
        }
 
+       time_t theTime;
+
+       time(&theTime);
+       char *generationDate = asctime(gmtime(&theTime));
+
+       _fFiles.print("\nv1.0\n%s\n", generationDate);
+
        printf("Packing The Prince and the Coward text data...\n");
 
        filesInfo[fileNr]._offset = _fFiles.pos();
@@ -144,16 +152,16 @@
        // Header test
        byte c;
        std::string name, examTxt;
-       while ((c = _databank.readByte()) != '\r') {
-               name += c;
+       while ((c = _databank.readByte()) != '\n') {
+               if (c != '\r')
+                       name += c;
        }
        if (name.compare("variatxt.dat")) {
                error("Wrong header in variatxt.txt");
        }
 
        // Skip comment until first number
-       while ((c = _databank.readByte()) != '\r');
-       _databank.readByte(); // skip '\n'
+       while ((c = _databank.readByte()) != '\n');
 
        // Loading to array:
        const int kVariaTxtSize = 6000;
@@ -175,7 +183,10 @@
 
                // Text:
                newVariaTxt._txt.clear();
-               while ((c = _databank.readByte()) != '\r') {
+               while ((c = _databank.readByte()) != '\n') {
+                       if (c == '\r')
+                               continue;
+
                        c = correctPolishLetter(c); // temporary
                        if (c == '|') {
                                c = 10;
@@ -186,8 +197,6 @@
                // Set VariaTxt in array
                variaTxtList[id]._txt = newVariaTxt._txt;
 
-               // Skip '\n' and test eof
-               _databank.readByte();
                if ((uint)_databank.pos() == fileSize) {
                        break;
                }
@@ -222,8 +231,9 @@
        // Header test
        byte c;
        std::string name, examTxt;
-       while ((c = _databank.readByte()) != '\r') {
-               name += c;
+       while ((c = _databank.readByte()) != '\n') {
+               if (c != '\r')
+                       name += c;
        }
        if (name.compare("invtxt.dat")) {
                error("Wrong header in invtxt.txt");
@@ -257,7 +267,10 @@
                _databank.readByte(); // skip second space
 
                // Exam text:
-               while ((c = _databank.readByte()) != '\r') {
+               while ((c = _databank.readByte()) != '\n') {
+                       if (c == '\r')
+                               continue;
+
                        c = correctPolishLetter(c); // temporary
                        if (c == '|') {
                                c = 10;
@@ -268,8 +281,6 @@
                // Add new item to list
                invTxtList[id] = newInvTxt;
 
-               // Skip '\n' and test eof
-               _databank.readByte();
                if ((uint)_databank.pos() == fileSize) {
                        break;
                } else {
@@ -314,13 +325,13 @@
        // Header test
        byte c;
        std::string line;
-       while ((c = _databank.readByte()) != '\r') {
-               line += c;
+       while ((c = _databank.readByte()) != '\n') {
+               if (c != '\r')
+                       line += c;
        }
        if (line.compare("credits.dat")) {
                error("Wrong header in credits.txt");
        }
-       _databank.readByte(); // skip '\n'
 
        // Packing:
        while (1) {
@@ -355,22 +366,24 @@
        // Header test
        byte c;
        std::string line;
-       while ((c = idsFile.readByte()) != '\r') {
-               line += c;
+       while ((c = idsFile.readByte()) != '\n') {
+               if (c != '\r')
+                       line += c;
        }
        if (line.compare("talktxt_ids")) {
                error("Wrong header in talktxt_ids.txt");
        }
-       idsFile.readByte(); // skip '\n'
 
        // IDs loading
        for (int i = 0; i < kSetStringValues; i++) {
                int value = 0;
-               while ((c = idsFile.readByte()) != '\r') {
+               while ((c = idsFile.readByte()) != '\n') {
+                       if (c == '\r')
+                               continue;
+
                        value *= 10;
                        value += c - 48;
                }
-               idsFile.readByte(); // skip '\n'
                setStringIdArray[i] = value;
        }
        idsFile.close();
@@ -381,13 +394,13 @@
 
        // Header test
        line.clear();
-       while ((c = _databank.readByte()) != '\r') {
-               line += c;
+       while ((c = _databank.readByte()) != '\n') {
+               if (c != '\r')
+                       line += c;
        }
        if (line.compare("talktxt.dat")) {
                error("Wrong header in talktxt.txt");
        }
-       _databank.readByte(); // skip '\n'
 
        // Start pos of talkTxt file for later offset setting
        int startTalkTxtPos = _fFiles.pos();
@@ -405,10 +418,10 @@
 
        while (1) {
                line.clear();
-               while ((c = _databank.readByte()) != '\r') {
-                       line += c;
+               while ((c = _databank.readByte()) != '\n') {
+                       if (c != '\r')
+                               line += c;
                }
-               _databank.readByte(); // skip '\n'
 
                for (int i = 0; i < kSetStringValues; i++) {
                        if (id == setStringIdArray[i]) {
@@ -453,10 +466,10 @@
        while (1) {
                // Special dialog data
                line.clear();
-               while ((c = _databank.readByte()) != '\r') {
-                       line += c;
+               while ((c = _databank.readByte()) != '\n') {
+                       if (c != '\r')
+                               line += c;
                }
-               _databank.readByte(); // skip '\n'
 
                if (!line.compare("#HERO")) {
                        tempTalkBeforeBox._dialogData = 1;
@@ -476,7 +489,10 @@
 
                // Line of text
                tempTalkBeforeBox._txt.clear();
-               while ((c = _databank.readByte()) != '\r') {
+               while ((c = _databank.readByte()) != '\n') {
+                       if (c == '\r')
+                               continue;
+
                        c = correctPolishLetter(c); // temporary
                        if (c == '|') {
                                c = 10;
@@ -485,7 +501,6 @@
                }
                c = 0;
                tempTalkBeforeBox._txt += c;
-               _databank.readByte(); // skip '\n'
 
                beforeDialogBoxArray.push_back(tempTalkBeforeBox);
        }
@@ -520,16 +535,21 @@
 
                        // Text number
                        int textNr = 0;
-                       while ((c = _databank.readByte()) != '\r') {
+                       while ((c = _databank.readByte()) != '\n') {
+                               if (c == '\r')
+                                       continue;
+
                                textNr *= 10;
                                textNr += c - 48;
                        }
                        tempDialogBoxLine._dialogData = textNr;
-                       _databank.readByte(); // skip '\n'
 
                        // Line of text
                        tempDialogBoxLine._txt.clear();
-                       while ((c = _databank.readByte()) != '\r') {
+                       while ((c = _databank.readByte()) != '\n') {
+                               if (c == '\r')
+                                       continue;
+
                                c = correctPolishLetter(c); // temporary
                                if (c == '|') {
                                        c = 10;
@@ -538,7 +558,6 @@
                        }
                        c = 0;
                        tempDialogBoxLine._txt += c;
-                       _databank.readByte(); // skip '\n'
 
                        allDialogBoxesArray[dbNr].push_back(tempDialogBoxLine);
                }
@@ -559,12 +578,12 @@
                while (1) {
                        // Special dialog data
                        line.clear();
-                       while ((c = _databank.readByte()) != '\r' && c != ' ') {
-                               line += c;
+                       while ((c = _databank.readByte()) != '\n' && c != ' ') {
+                               if (c != '\r')
+                                       line += c;
                        }
                        // Check if #END
                        if (!line.compare("#END")) {
-                               _databank.readByte(); // skip '\n'
                                break;
                        }
                        if (!line.compare("#HERO")) {
@@ -576,14 +595,16 @@
                        } else if (!line.compare("#PAUSE")) {
                                tempDialogOptionsLine._dialogData = 254;
                                tempDialogOptionsLine._txt.clear();
-                               _databank.readByte(); // skip '\n'
                                
allDialogOptionsArray[dbOptNr].push_back(tempDialogOptionsLine);
                                continue;
                        } else {
                                if (!line.compare("#ENABLE")) { // 0 - 15
                                        tempDialogOptionsLine._dialogData = 240;
                                        uint8 value = 0;
-                                       while ((c = _databank.readByte()) != 
'\r') {
+                                       while ((c = _databank.readByte()) != 
'\n') {
+                                               if (c == '\r')
+                                                       continue;
+
                                                value *= 10;
                                                value += c - 48;
                                        }
@@ -603,16 +624,16 @@
                                        tempDialogOptionsLine._txt += 
_databank.readByte() - 48;
                                        _databank.readByte(); // skip '\r'
                                }
-                               _databank.readByte(); // skip '\n'
                                
allDialogOptionsArray[dbOptNr].push_back(tempDialogOptionsLine);
                                continue;
                        }
 
-                       _databank.readByte(); // skip '\n'
-
                        // Line of text
                        tempDialogOptionsLine._txt.clear();
-                       while ((c = _databank.readByte()) != '\r') {
+                       while ((c = _databank.readByte()) != '\n') {
+                               if (c == '\r')
+                                       continue;
+
                                c = correctPolishLetter(c); // temporary
                                if (c == '|') {
                                        c = 10;
@@ -621,16 +642,15 @@
                        }
                        c = 0;
                        tempDialogOptionsLine._txt += c;
-                       _databank.readByte(); // skip '\n'
                        
allDialogOptionsArray[dbOptNr].push_back(tempDialogOptionsLine);
                }
                dbOptNr++;
                // Check if #ENDEND, skip @DIALOG_OPT %d
                line.clear();
-               while ((c = _databank.readByte()) != '\r') {
-                       line += c;
+               while ((c = _databank.readByte()) != '\n') {
+                       if (c != '\r')
+                               line += c;
                }
-               _databank.readByte(); // skip '\n'
                if (!line.compare("#ENDEND")) {
                        break;
                }
@@ -713,10 +733,10 @@
 
                // Special dialog data
                line.clear();
-               while ((c = _databank.readByte()) != '\r') {
-                       line += c;
+               while ((c = _databank.readByte()) != '\n') {
+                       if (c != '\r')
+                               line += c;
                }
-               _databank.readByte(); // skip '\n'
 
                if (!line.compare("#HERO")) {
                        tempNormalLine._dialogData = 1;
@@ -733,7 +753,7 @@
                        break;
                } else {
                        if (line[0] == '#') {
-                               printf("UNKNOWN pragma: %s", line.c_str());
+                               printf("UNKNOWN pragma: %s\n", line.c_str());
                                break;
                        } else {
                                tempNormalLine._txt = line;
@@ -746,7 +766,10 @@
                if (havePragma) {
                        // Line of text
                        tempNormalLine._txt.clear();
-                       while ((c = _databank.readByte()) != '\r') {
+                       while ((c = _databank.readByte()) != '\n') {
+                               if (c == '\r')
+                                       continue;
+
                                c = correctPolishLetter(c); // temporary
                                if (c == '|') {
                                        c = 10;
@@ -755,7 +778,6 @@
                        }
                        c = 0;
                        tempNormalLine._txt += c;
-                       _databank.readByte(); // skip '\n'
                }
 
                normalLinesArray.push_back(tempNormalLine);
@@ -778,13 +800,13 @@
        // Header test
        byte c;
        std::string name, examTxt;
-       while ((c = _databank.readByte()) != '\r') {
-               name += c;
+       while ((c = _databank.readByte()) != '\n') {
+               if (c != '\r')
+                       name += c;
        }
        if (name.compare("mob.lst")) {
                error("Wrong header in mob.txt");
        }
-       _databank.readByte(); // skip '\n'
 
        // Skip comment until first location nr
        while ((c = _databank.readByte()) != '\n');
@@ -809,16 +831,16 @@
                }
 
                // Test if end of location - next number
-               if ((c = _databank.readByte()) > 47 && c < 58) {
+               if ((c = _databank.readByte()) >= '0' && c <= '9') {
                        // Set location nr:
-                       nr = c - 48;
+                       nr = c - '0';
                        while ((c = _databank.readByte()) != '.') {
                                nr *= 10;
-                               nr += c - 48;
+                               nr += c - '0';
                        }
                        nr--;
-                       _databank.readByte(); // skip '\r'
-                       _databank.readByte(); // skip '\n'
+                       if (_databank.readByte() == '\r') // skip '\r'
+                               _databank.readByte(); // skip '\n'
                } else {
                        c = correctPolishLetter(c); // temporary
                        newMob._name += c; // first letter of name
@@ -830,12 +852,16 @@
                }
 
                // No mobs in this location
-               if ((c = _databank.readByte()) > 47 && c < 58) {
+               if ((c = _databank.readByte()) >= '0' && c <= '9') {
                        _databank.seek(-1, SEEK_CUR);
                        continue;
                } else {
-                       c = correctPolishLetter(c); // temporary
-                       newMob._name += c;
+                       if (c == '-') {
+                               _databank.seek(-1, SEEK_CUR);
+                       } else {
+                               c = correctPolishLetter(c); // temporary
+                               newMob._name += c;
+                       }
                }
 
                // Name:
@@ -844,10 +870,14 @@
                        newMob._name += c;
                }
                newMob._name.erase(newMob._name.size() - 1);  // remove first 
space
-               _databank.readByte(); // skip second space
+               if (_databank.readByte() != ' ') // skip second space
+                       _databank.seek(-1, SEEK_CUR);
 
                // Exam text:
-               while ((c = _databank.readByte()) != '\r') {
+               while ((c = _databank.readByte()) != '\n') {
+                       if (c == '\r')
+                               continue;
+
                        c = correctPolishLetter(c); // temporary
                        if (c == '|') {
                                c = 10;
@@ -863,9 +893,6 @@
                        newMob._examTxt += c;
                }
 
-               // Skip '\n'
-               _databank.readByte();
-
                // Add new item to list
                allLocations[nr].push_back(newMob);
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/engines/prince/po-parse.pl 
new/scummvm-tools-2.2.0/engines/prince/po-parse.pl
--- old/scummvm-tools-2.1.0/engines/prince/po-parse.pl  2019-10-04 
23:44:09.000000000 +0200
+++ new/scummvm-tools-2.2.0/engines/prince/po-parse.pl  2020-09-13 
23:18:34.000000000 +0200
@@ -9,6 +9,8 @@
 sub process_mob($);
 sub process_credits($);
 sub process_talk($);
+sub process_talktxt_ids($);
+sub convert_utf($$);
 
 use open qw/:std :utf8/;
 
@@ -24,7 +26,9 @@
 my $seenheader = 0;
 
 my $inmsgid = 0;
+my $inmsgstr = 0;
 our %data;
+our %data1;
 
 open IN, $ARGV[1];
 
@@ -37,6 +41,8 @@
 
                $seenheader = 1;
 
+               $inmsgid = $inmsgstr = 0;
+
                next;
        }
 
@@ -45,6 +51,14 @@
                next;
        }
 
+       if (/^msgstr ""$/) {
+               $inmsgid = 0;
+               $inmsgstr = 1;
+               next;
+       }
+
+       $_ = convert_utf $lang, $_;
+
        if (/^msgid (.*)$/) {
                my $s = $1;
 
@@ -55,35 +69,75 @@
                $inmsgid = 0;
        }
 
+       if (/^msgstr (.*)$/) {
+               my $s = $1;
+
+               $s =~ s/(^")|("$)//g;
+
+               $data1{$fname}{$idx1} = $s;
+
+               $inmsgstr = 0;
+       }
+
        if (/^"(.*)"$/) {
                if ($inmsgid) {
                        $data{$fname}{$idx1} .= $1;
+               } elsif ($inmsgstr) {
+                       $data1{$fname}{$idx1} .= $1;
                }
        }
+}
 
-       if (/^msgstr/) {
-               $inmsgid = 0;
+for my $f (keys %data) {
+       for my $k (keys %{$data{$f}}) {
+               if (not exists $data1{$f}{$k}) {
+                       warn "Missing msgstr $f:$k";
+               } else {
+                       my $pref1;
+                       my $pref2;
+                       ($pref1) = ($data{$f}{$k} =~ /^([P#HEROT0-9\$]+:)/);
+                       ($pref2) = ($data1{$f}{$k} =~ /^([P#HEROT0-9\$]+:)/);
+
+                       if ($pref1 cmp $pref2) {
+                               warn "Incorrect prefix in $f:$k: $pref1 != 
$pref2";
+                       }
+
+                       ($pref1) = ($data{$f}{$k} =~ /([#EDBXF0-9]+)$/);
+                       ($pref2) = ($data1{$f}{$k} =~ /([#EDBXF0-9]+)$/);
+
+                       if ($pref1 cmp $pref2) {
+                               warn "Incorrect postfix in $f:$k: $pref1 != 
$pref2";
+                       }
+               }
        }
 }
 
 
-process_inv "invtxt.txt.out1";
-process_varia "variatxt.txt.out1";
-process_mob "mob.txt.out1";
-process_credits "credits.txt.out1";
-process_talk "talktxt.txt.out1";
+process_inv "invtxt.txt";
+process_varia "variatxt.txt";
+process_mob "mob.txt";
+process_credits "credits.txt";
+process_talk "talktxt.txt";
+process_talktxt_ids "talktxt_ids.txt";
 
 exit;
 
+sub convert_utf($$) {
+       my $lang = shift;
+       my $s = shift;
+
+       return $s;
+}
+
 sub process_inv($) {
        my $file = shift;
 
        open(*OUT, ">$file") or die "Cannot open file $file: $!";
 
-       print OUT "invtxt.dat\n";
+       print OUT "invtxt.dat\nitemNr. name - exam text\n";
 
-       for my $n (sort {$a<=>$b} keys $data{'invtxt.txt'}) {
-               print OUT "$n. $data{'invtxt.txt'}{$n}\n";
+       for my $n (sort {$a<=>$b} keys $data1{'invtxt.txt'}) {
+               print OUT "$n. $data1{'invtxt.txt'}{$n}\n";
        }
 
        close OUT;
@@ -94,10 +148,10 @@
 
        open(*OUT, ">$file") or die "Cannot open file $file: $!";
 
-       print OUT "variatxt.dat\n";
+       print OUT "variatxt.dat\nstringId. string\n";
 
-       for my $n (sort {$a<=>$b} keys $data{'variatxt.txt'}) {
-               print OUT "$n. $data{'variatxt.txt'}{$n}\n";
+       for my $n (sort {$a<=>$b} keys $data1{'variatxt.txt'}) {
+               print OUT "$n. $data1{'variatxt.txt'}{$n}\n";
        }
 
        close OUT;
@@ -108,11 +162,11 @@
 
        open(*OUT, ">$file") or die "Cannot open file $file: $!";
 
-       print OUT "mob.lst\n";
+       print OUT "mob.lst\nmob_name - exam text\n1.\n";
 
        my $pn = 0;
 
-       for my $n (sort {$a<=>$b} keys $data{'mob.lst'}) {
+       for my $n (sort {$a<=>$b} keys $data1{'mob.lst'}) {
                my $p1 = int($n / 1000);
 
                if ($p1 != $pn) {
@@ -123,7 +177,7 @@
                        }
                        $pn = $p1;
                }
-               print OUT "$data{'mob.lst'}{$n}\n";
+               print OUT "$data1{'mob.lst'}{$n}\n";
        }
 
        for my $i (($pn+1)..61) {
@@ -133,22 +187,6 @@
        close OUT;
 }
 
-sub process_credits($) {
-       my $file = shift;
-
-       open(*OUT, ">$file") or die "Cannot open file $file: $!";
-
-       print OUT "credits.dat\n";
-
-       for my $n (sort {$a<=>$b} keys $data{'credits.txt'}) {
-               $data{'credits.txt'}{$n} =~ s/\\n/\n/g;
-
-               print OUT "$data{'credits.txt'}{$n}";
-       }
-
-       close OUT;
-}
-
 sub process_talk($) {
        my $file = shift;
 
@@ -156,10 +194,10 @@
 
        print OUT "talktxt.dat\n";
 
-       for my $f (sort grep /^dialog/, keys %data) {
+       for my $f (sort grep /^dialog/, keys %data1) {
                $f =~ /dialog(\d+)/;
                my $dialog = $1;
-               my $hasDialog = !!grep { $_ > 100 } keys $data{$f};
+               my $hasDialog = !!grep { $_ > 100 } keys $data1{$f};
 
                if ($hasDialog) {
                        print OUT "\@DIALOGBOX_LINES:\n";
@@ -170,8 +208,8 @@
                my $seenDialogBox = 0;
                my $prevBox = -1;
 
-               for my $n (sort {$a<=>$b} keys $data{$f}) {
-                       my $s = $data{$f}{$n};
+               for my $n (sort {$a<=>$b} keys $data1{$f}) {
+                       my $s = $data1{$f}{$n};
                        if ($n < 100) {
                                while ($s =~ /^P#/) {
                                        print OUT "#PAUSE\n";
@@ -237,3 +275,116 @@
 
        close OUT;
 }
+
+sub process_talktxt_ids($) {
+       my $file = shift;
+
+       my @data = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+               31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+               61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 
77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+               91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 
105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+               121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 
133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 
149, 150,
+               151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 
163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 
179, 180,
+               181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 
193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 
209, 210,
+               211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 
223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 
239, 240,
+               241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 
253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 
269, 270,
+               271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 
283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 
299, 300,
+               301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 
313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 
329, 330,
+               331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 
349, 350,
+               351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 
363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 
379, 380,
+               381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 
393, 394, 395, 396, 397, 398, 399, 400, 401, );
+
+       open(*OUT, ">$file") or die "Cannot open file $file: $!";
+
+       print OUT "talktxt_ids\n";
+
+       for my $d (@data) {
+               print OUT "$d\n";
+       }
+
+       print OUT "0\n" x (1999 - $#data);
+
+       close OUT;
+}
+
+sub process_credits($) {
+       my $file = shift;
+
+       open(*OUT, ">$file") or die "Cannot open file $file: $!";
+
+       $now_string = gmtime;
+
+       print OUT <<EOF;
+credits.dat
+
+
+
+
+GALADOR - THE PRINCE AND THE COWARD
+v2.0 - ENGLISH
+Built on: $now_string
+
+
+
+
+#
+
+
+
+SCENARIO
+
+Adrian Chmielarz
+Jacek Piekara
+
+
+
+#
+GRAPHICS AND ANIMATION
+
+Andrzej Kukuta
+Grzegorz Miechowski
+Juliusz Gruber
+Pawet Piotrowski
+Andrzej Mitula
+Ireneusz Konior
+Pawet Miechowski
+
+#
+
+
+
+PROGRAMMING
+
+Maciej Marzec
+
+
+
+
+#
+
+MUSIC
+
+Karim Martusewicz
+
+SOUND EFFECTS
+
+Adam "Scorpik" Skorupa
+
+
+#
+
+
+
+ENGLISH LOCALIZATION
+
+ShinjiGR
+ScummVM Team
+
+
+
+
+##
+EOF
+
+       close OUT;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/gui/main.cpp new/scummvm-tools-2.2.0/gui/main.cpp
--- old/scummvm-tools-2.1.0/gui/main.cpp        2019-10-04 23:44:09.000000000 
+0200
+++ new/scummvm-tools-2.2.0/gui/main.cpp        2020-09-13 23:18:34.000000000 
+0200
@@ -125,7 +125,7 @@
        wxHyperlinkCtrl *websitetext = new wxHyperlinkCtrl(dialog, wxID_ANY, 
wxT("http://www.scummvm.org";), wxT("http://www.scummvm.org";));
        sizer->Add(websitetext, wxSizerFlags().Border(wxTOP, 5));
 
-       wxStaticText *copyrighttext = new wxStaticText(dialog, wxID_ANY, 
wxT("Copyright ScummVM Team 2009-2019"));
+       wxStaticText *copyrighttext = new wxStaticText(dialog, wxID_ANY, 
wxT("Copyright ScummVM Team 2009-2020"));
        copyrighttext->SetFont(wxFont(8, wxSWISS, wxNORMAL, wxNORMAL, false, 
wxT("Arial")));
        sizer->Add(copyrighttext, wxSizerFlags());
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/internal_version.h 
new/scummvm-tools-2.2.0/internal_version.h
--- old/scummvm-tools-2.1.0/internal_version.h  2019-10-04 23:44:10.000000000 
+0200
+++ new/scummvm-tools-2.2.0/internal_version.h  2020-09-13 23:18:34.000000000 
+0200
@@ -2,4 +2,4 @@
 #define SCUMMVM_TOOLS_SVN_REVISION
 #endif
 
-#define SCUMMVM_TOOLS_VERSION "2.1.0" SCUMMVM_TOOLS_SVN_REVISION
+#define SCUMMVM_TOOLS_VERSION "2.2.0" SCUMMVM_TOOLS_SVN_REVISION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/scummvm-tools-2.1.0/tools.cpp new/scummvm-tools-2.2.0/tools.cpp
--- old/scummvm-tools-2.1.0/tools.cpp   2019-10-04 23:44:10.000000000 +0200
+++ new/scummvm-tools-2.2.0/tools.cpp   2020-09-13 23:18:34.000000000 +0200
@@ -52,6 +52,7 @@
 #include "engines/cge/pack_cge.h"
 #include "engines/cine/extract_cine.h"
 #include "engines/cruise/extract_cruise_pc.h"
+#include "engines/cryo/extract_cryo.h"
 #include "engines/gob/extract_gob_stk.h"
 #include "engines/gob/extract_fascination_cd.h"
 #include "engines/hdb/extract_hdb.h"
@@ -95,6 +96,7 @@
        _tools.push_back(new PackCge());
        _tools.push_back(new ExtractCine());
        _tools.push_back(new ExtractCruisePC());
+       _tools.push_back(new ExtractCryo());
        _tools.push_back(new ExtractGobStk());
        _tools.push_back(new ExtractFascinationCD());
        _tools.push_back(new ExtractHDB());

Reply via email to