diff --git a/dists/debian/residualvm.install b/dists/debian/residualvm.install index 2b4cbe681db..40143b01f50 100644 --- a/dists/debian/residualvm.install +++ b/dists/debian/residualvm.install @@ -2,5 +2,6 @@ icons/residualvm.svg usr/share/pixmaps icons/residualvm.xpm usr/share/pixmaps dists/residualvm.desktop usr/share/applications dists/engine-data/*.lab usr/share/games/residualvm +dists/engine-data/*.m4b usr/share/games/residualvm gui/themes/modern.zip usr/share/games/residualvm residualvm usr/games diff --git a/dists/engine-data/patches/EmiPatchesDesc.txt b/dists/engine-data/patches/EmiPatchesDesc.txt new file mode 100644 index 00000000000..3dd2bc1d6dc --- /dev/null +++ b/dists/engine-data/patches/EmiPatchesDesc.txt @@ -0,0 +1,20 @@ +List of fixed bugs in EMI scripts: + +Nothing yet :) + +Contents of residualvm-emi-patch.m4b and its rebuild: + +residualvm-emi-patch.m4b contains all .patchr files in the +dists/engine-data/patches/emi/ directory. +If you add a new patch in that directory, you have to update this file +with a detailed description of what that patch does. +Then you have to rebuild residualvm-emi-patch.m4b with mklab from the +residualvm-tools repo. The rebuild command is (assuming that you are +launching it in dists/engine-data/): + + $ mklab --emi patches/emi residualvm-emi-patch.m4b + +Please check that there aren't any files different from .patchr inside +that directory before the rebuild, so delete all junk, backup and system +files, like namepatch.patchr~, namepatch.patchr.bak, .DS_Store, Thumbs.db +and so on. diff --git a/dists/engine-data/residualvm-emi-patch.m4b b/dists/engine-data/residualvm-emi-patch.m4b new file mode 100644 index 00000000000..d57b4fe37e8 Binary files /dev/null and b/dists/engine-data/residualvm-emi-patch.m4b differ diff --git a/dists/irix/residualvm.idb b/dists/irix/residualvm.idb index 75dd18c23f1..1b328c09878 100644 --- a/dists/irix/residualvm.idb +++ b/dists/irix/residualvm.idb @@ -9,6 +9,7 @@ f 0644 root sys usr/ResidualVM/README README residualvm.man.readme f 0755 root sys usr/ResidualVM/residualvm residualvm residualvm.sw.eoe tag('0x5260dbec') f 0644 root sys usr/ResidualVM/share/pixmaps/residualvm.xpm residualvm.xpm residualvm.sw.eoe f 0644 root sys usr/ResidualVM/share/residualvm/residualvm-grim-patch.lab residualvm-grim-patch.lab residualvm.sw.eoe +f 0644 root sys usr/ResidualVM/share/residualvm/residualvm-emi-patch.m4b residualvm-emi-patch.m4b residualvm.sw.eoe f 0644 root sys usr/ResidualVM/share/residualvm/modern.zip modern.zip residualvm.sw.eoe l 0000 root sys usr/bin/residualvm residualvm residualvm.sw.eoe symval(/usr/ResidualVM/residualvm) f 0644 root sys usr/lib/filetype/local/ResidualVM.ftr ResidualVM.ftr residualvm.sw.eoe exitop('if test -r $rbase/usr/lib/filetype/Makefile ; then chroot $rbase /sbin/sh -c "cd /usr/lib/filetype ; make -u > /dev/null" ; fi') diff --git a/dists/redhat/residualvm.spec b/dists/redhat/residualvm.spec index 9e6c1b8b6f6..9d05569687b 100644 --- a/dists/redhat/residualvm.spec +++ b/dists/redhat/residualvm.spec @@ -53,6 +53,7 @@ install -m644 -D icons/residualvm.svg %{buildroot}%{_datadir}/icons/hicolor/scal install -m644 -D dists/redhat/residualvm48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/residualvm.png install -m644 -D gui/themes/modern.zip %{buildroot}%{_datadir}/residualvm/modern.zip install -m644 -D dists/engine-data/residualvm-grim-patch.lab %{buildroot}%{_datadir}/residualvm/residualvm-grim-patch.lab +install -m644 -D dists/engine-data/residualvm-emi-patch.m4b %{buildroot}%{_datadir}/residualvm/residualvm-emi-patch.m4b desktop-file-install --vendor residualvm --dir=%{buildroot}/%{_datadir}/applications dists/residualvm.desktop %clean @@ -83,6 +84,7 @@ fi %{_datadir}/icons/hicolor/scalable/apps/residualvm.svg %{_datadir}/residualvm/modern.zip %{_datadir}/residualvm/residualvm-grim-patch.lab +%{_datadir}/residualvm/residualvm-emi-patch.m4b %{_mandir}/man6/residualvm.6* #------------------------------------------------------------------------------ diff --git a/dists/redhat/residualvm.spec.in b/dists/redhat/residualvm.spec.in index a7b8e6db6a4..61d78151396 100644 --- a/dists/redhat/residualvm.spec.in +++ b/dists/redhat/residualvm.spec.in @@ -53,6 +53,7 @@ install -m644 -D icons/residualvm.svg %{buildroot}%{_datadir}/icons/hicolor/scal install -m644 -D dists/redhat/residualvm48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/residualvm.png install -m644 -D gui/themes/modern.zip %{buildroot}%{_datadir}/residualvm/modern.zip install -m644 -D dists/engine-data/residualvm-grim-patch.lab %{buildroot}%{_datadir}/residualvm/residualvm-grim-patch.lab +install -m644 -D dists/engine-data/residualvm-emi-patch.m4b %{buildroot}%{_datadir}/residualvm/residualvm-emi-patch.m4b desktop-file-install --vendor residualvm --dir=%{buildroot}/%{_datadir}/applications dists/residualvm.desktop %clean @@ -83,6 +84,7 @@ fi %{_datadir}/icons/hicolor/scalable/apps/residualvm.svg %{_datadir}/residualvm/modern.zip %{_datadir}/residualvm/residualvm-grim-patch.lab +%{_datadir}/residualvm/residualvm-emi-patch.m4b %{_mandir}/man6/residualvm.6* #------------------------------------------------------------------------------ diff --git a/dists/residualvm.rc b/dists/residualvm.rc index 7c512439006..ebc56a82f8a 100644 --- a/dists/residualvm.rc +++ b/dists/residualvm.rc @@ -12,6 +12,7 @@ IDI_ICON ICON DISCARDABLE "icons/residualvm.ico" IDI_COUNT ICON DISCARDABLE "icons/count.ico" residualvm-grim-patch.lab FILE "dists/engine-data/residualvm-grim-patch.lab" +residualvm-emi-patch.m4b FILE "dists/engine-data/residualvm-emi-patch.m4b" modern.zip FILE "gui/themes/modern.zip" #ifdef USE_TRANSLATION translations.dat FILE "gui/themes/translations.dat" diff --git a/dists/residualvm.rc.in b/dists/residualvm.rc.in index 67b2fc52c32..edcf00c0b03 100644 --- a/dists/residualvm.rc.in +++ b/dists/residualvm.rc.in @@ -12,6 +12,7 @@ IDI_ICON ICON DISCARDABLE "icons/residualvm.ico" IDI_COUNT ICON DISCARDABLE "icons/count.ico" residualvm-grim-patch.lab FILE "dists/engine-data/residualvm-grim-patch.lab" +residualvm-emi-patch.m4b FILE "dists/engine-data/residualvm-emi-patch.m4b" modern.zip FILE "gui/themes/modern.zip" #ifdef USE_TRANSLATION translations.dat FILE "gui/themes/translations.dat" diff --git a/dists/win32/ResidualVM.iss b/dists/win32/ResidualVM.iss index b64c33a2b37..42bc61ddd36 100644 --- a/dists/win32/ResidualVM.iss +++ b/dists/win32/ResidualVM.iss @@ -69,6 +69,7 @@ Source: README.txt; DestDir: {app}; Flags: ignoreversion isreadme Source: README-SDL.txt; DestDir: {app}; Flags: ignoreversion Source: residualvm.exe; DestDir: {app}; Flags: ignoreversion Source: residualvm-grim-patch.lab; DestDir: {app}; Flags: ignoreversion +Source: residualvm-emi-patch.m4b; DestDir: {app}; Flags: ignoreversion Source: SDL.dll; DestDir: {app} Source: modern.zip; DestDir: {app}; Flags: ignoreversion diff --git a/engines/grim/resource.cpp b/engines/grim/resource.cpp index 8b2bfa66086..db1473c1764 100644 --- a/engines/grim/resource.cpp +++ b/engines/grim/resource.cpp @@ -143,6 +143,12 @@ ResourceLoader::ResourceLoader() { } } } else if (g_grim->getGameType() == GType_MONKEY4) { + const char *emi_patches_filename = "residualvm-emi-patch.m4b"; + if (!SearchMan.hasFile(emi_patches_filename)) + error("%s not found", emi_patches_filename); + + SearchMan.listMatchingMembers(files, emi_patches_filename); + if (g_grim->getGameFlags() & ADGF_DEMO) { SearchMan.listMatchingMembers(files, "i9n.lab"); SearchMan.listMatchingMembers(files, "lip.lab"); @@ -150,6 +156,7 @@ ResourceLoader::ResourceLoader() { SearchMan.listMatchingMembers(files, "tile.lab"); SearchMan.listMatchingMembers(files, "voice.lab"); } else { + //Keep i9n.m4b before patch.m4b for a better efficiency //in decompressing from Monkey Update.exe SearchMan.listMatchingMembers(files, "i9n.m4b");