[Scummvm-cvs-logs] SF.net SVN: scummvm: [21364] scummvm/trunk/engines/gob
wjpalenstijn at users.sourceforge.net
wjpalenstijn at users.sourceforge.net
Sat Mar 18 05:46:05 CET 2006
Revision: 21364
Author: wjpalenstijn
Date: 2006-03-18 05:44:57 -0800 (Sat, 18 Mar 2006)
ViewCVS: http://svn.sourceforge.net/scummvm/?rev=21364&view=rev
Log Message:
-----------
workaround: manually add delay when showing image between levels in gob1 ega
Modified Paths:
--------------
scummvm/trunk/engines/gob/gob.cpp
scummvm/trunk/engines/gob/gob.h
scummvm/trunk/engines/gob/inter.cpp
Modified: scummvm/trunk/engines/gob/gob.cpp
===================================================================
--- scummvm/trunk/engines/gob/gob.cpp 2006-03-18 12:43:50 UTC (rev 21363)
+++ scummvm/trunk/engines/gob/gob.cpp 2006-03-18 13:44:57 UTC (rev 21364)
@@ -64,8 +64,8 @@
static const GobGameSettings gob_games[] = {
// Supplied by Florian Zeitz on scummvm-devel
- {"gob1", "Gobliiins (DOS EGA)", GF_GOB1, "82aea70ef26f41fa963dfae270993e49"},
- {"gob1", "Gobliiins (DOS EGA)", GF_GOB1, "1f499458837008058b8ba6ae07057214"},
+ {"gob1", "Gobliiins (DOS EGA)", GF_GOB1 | GF_EGA, "82aea70ef26f41fa963dfae270993e49"},
+ {"gob1", "Gobliiins (DOS EGA)", GF_GOB1 | GF_EGA, "1f499458837008058b8ba6ae07057214"},
{"gob1", "Gobliiins (Windows)", GF_GOB1, "8a5e850c49d7cacdba5f5eb1fcc77b89"},
// Supplied by Theruler76 in bug report #1201233
Modified: scummvm/trunk/engines/gob/gob.h
===================================================================
--- scummvm/trunk/engines/gob/gob.h 2006-03-18 12:43:50 UTC (rev 21363)
+++ scummvm/trunk/engines/gob/gob.h 2006-03-18 13:44:57 UTC (rev 21364)
@@ -64,14 +64,15 @@
GF_GOB3 = 1 << 2,
GF_WOODRUFF = 1 << 3,
GF_CD = 1 << 4,
- GF_MAC = 1 << 5
+ GF_MAC = 1 << 5,
+ GF_EGA = 1 << 6
};
enum {
DEBUG_FUNCOP = 1 << 0,
DEBUG_DRAWOP = 1 << 1,
DEBUG_GOBOP = 1 << 2,
- DEBUG_MUSIC = 1 << 3, // CD and adlib music
+ DEBUG_MUSIC = 1 << 3, // CD and adlib music
DEBUG_PARSER = 1 << 4,
DEBUG_GAMEFLOW = 1 << 5,
DEBUG_FILEIO = 1 << 6,
Modified: scummvm/trunk/engines/gob/inter.cpp
===================================================================
--- scummvm/trunk/engines/gob/inter.cpp 2006-03-18 12:43:50 UTC (rev 21363)
+++ scummvm/trunk/engines/gob/inter.cpp 2006-03-18 13:44:57 UTC (rev 21364)
@@ -139,11 +139,36 @@
return;
}
+ int startaddr = _vm->_global->_inter_execPtr-_vm->_game->_totFileData;
+
counter = 0;
do {
if (_terminate)
break;
+ // WORKAROUND:
+ // The EGA version of gob1 doesn't add a delay after showing
+ // images between levels. We manually add it here.
+ if ((_vm->_features & GF_GOB1) && (_vm->_features & GF_EGA)) {
+ int addr = _vm->_global->_inter_execPtr-_vm->_game->_totFileData;
+ if ((startaddr == 0x18B4 && addr == 0x1A7F && // Zombie
+ !strncmp(_vm->_game->_curTotFile, "avt005.tot", 10)) ||
+ (startaddr == 0x1299 && addr == 0x139A && // Dungeon
+ !strncmp(_vm->_game->_curTotFile, "avt006.tot", 10)) ||
+ (startaddr == 0x11C0 && addr == 0x12C9 && // Cauldron
+ !strncmp(_vm->_game->_curTotFile, "avt012.tot", 10)) ||
+ (startaddr == 0x09F2 && addr == 0x0AF3 && // Statue
+ !strncmp(_vm->_game->_curTotFile, "avt016.tot", 10)) ||
+ (startaddr == 0x0B92 && addr == 0x0C93 && // Castle
+ !strncmp(_vm->_game->_curTotFile, "avt019.tot", 10)) ||
+ (startaddr == 0x17D9 && addr == 0x18DA && // Finale
+ !strncmp(_vm->_game->_curTotFile, "avt022.tot", 10)))
+ {
+ _vm->_util->longDelay(5000);
+ }
+ }
+ // (end workaround)
+
cmd = (byte)*_vm->_global->_inter_execPtr;
if ((cmd >> 4) >= 12) {
cmd2 = 16 - (cmd >> 4);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list