609791: Sam and Max 'phantom sound' (precaching) hack.

svn-id: r4947
This commit is contained in:
James Brown 2002-09-16 08:22:05 +00:00
parent e0e7809518
commit 02f9056b4a
3 changed files with 10 additions and 3 deletions

View File

@ -1313,6 +1313,7 @@ public:
byte VAR_CUSTOMSCALETABLE; byte VAR_CUSTOMSCALETABLE;
byte VAR_VIDEONAME; byte VAR_VIDEONAME;
byte VAR_V6_SOUNDMODE;
void launch(); void launch();

View File

@ -173,10 +173,14 @@ void Scumm::unkMessage1()
a = buffer[2] | (buffer[3] << 8) | (buffer[6] << 16) | (buffer[7] << 24); a = buffer[2] | (buffer[3] << 8) | (buffer[6] << 16) | (buffer[7] << 24);
b = buffer[10] | (buffer[11] << 8) | (buffer[14] << 16) | (buffer[15] << 24); b = buffer[10] | (buffer[11] << 8) | (buffer[14] << 16) | (buffer[15] << 24);
// if (_saveSound != 1)
_sound->talkSound(a, b, 1, -1); // Sam and Max uses a caching system, printing empty messages
// and setting VAR_V6_SOUNDMODE beforehand. See patch 609791.
// FIXME: There are other VAR_V6_SOUNDMODE states, as
// mentioned in the patch. FIXME after iMUSE is done.
if (_gameId != GID_SAMNMAX || (_vars[VAR_V6_SOUNDMODE] != 2))
_sound->talkSound(a, b, 1, -1);
} }
// warning("unkMessage1(\"%s\")", buffer);
} }
void Scumm::unkMessage2() void Scumm::unkMessage2()

View File

@ -107,6 +107,8 @@ void Scumm::setupScummVarsOld()
VAR_V6_SCREEN_HEIGHT = 54; VAR_V6_SCREEN_HEIGHT = 54;
VAR_V6_EMSSPACE = 76; VAR_V6_EMSSPACE = 76;
VAR_V6_RANDOM_NR = 118; VAR_V6_RANDOM_NR = 118;
VAR_V6_SOUNDMODE = 9;
} }