EMI: Add support for PatchR from bundled container

This commit is contained in:
Andrea Corna 2013-08-26 10:20:01 +02:00
parent a0d9f46f31
commit 6b30e35f4a
10 changed files with 36 additions and 0 deletions

View File

@ -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

View File

@ -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.

Binary file not shown.

View File

@ -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')

View File

@ -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*
#------------------------------------------------------------------------------

View File

@ -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*
#------------------------------------------------------------------------------

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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");