[Scummvm-cvs-logs] SF.net SVN: scummvm:[47371] scummvm/trunk/engines/mohawk

mthreepwood at users.sourceforge.net mthreepwood at users.sourceforge.net
Tue Jan 19 06:01:45 CET 2010


Revision: 47371
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47371&view=rev
Author:   mthreepwood
Date:     2010-01-19 05:01:45 +0000 (Tue, 19 Jan 2010)

Log Message:
-----------
Make the workaround for the Riven intro background music work in the DVD version too.

Modified Paths:
--------------
    scummvm/trunk/engines/mohawk/console.cpp
    scummvm/trunk/engines/mohawk/riven.cpp
    scummvm/trunk/engines/mohawk/riven.h
    scummvm/trunk/engines/mohawk/riven_scripts.cpp

Modified: scummvm/trunk/engines/mohawk/console.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/console.cpp	2010-01-19 00:56:52 UTC (rev 47370)
+++ scummvm/trunk/engines/mohawk/console.cpp	2010-01-19 05:01:45 UTC (rev 47371)
@@ -581,11 +581,8 @@
 }
 
 bool RivenConsole::Cmd_GetRMAP(int argc, const char **argv) {
-	Common::SeekableReadStream *rmapStream = _vm->getRawData(ID_RMAP, 1);
-	rmapStream->seek(_vm->getCurCard() * 4);
-	DebugPrintf("RMAP for %s %d = %08x\n", _vm->getStackName(_vm->getCurStack()).c_str(), _vm->getCurCard(), rmapStream->readUint32BE());
-	delete rmapStream;
-
+	uint32 rmapCode = _vm->getCurCardRMAP();
+	DebugPrintf("RMAP for %s %d = %08x\n", _vm->getStackName(_vm->getCurStack()).c_str(), _vm->getCurCard(), rmapCode);
 	return true;
 }
 

Modified: scummvm/trunk/engines/mohawk/riven.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/riven.cpp	2010-01-19 00:56:52 UTC (rev 47370)
+++ scummvm/trunk/engines/mohawk/riven.cpp	2010-01-19 05:01:45 UTC (rev 47371)
@@ -536,6 +536,13 @@
 	return index - 1;
 }
 
+uint32 MohawkEngine_Riven::getCurCardRMAP() {
+	Common::SeekableReadStream *rmapStream = getRawData(ID_RMAP, 1);
+	rmapStream->seek(_curCard * 4);
+	uint32 rmapCode = rmapStream->readUint32BE();
+	return rmapCode;
+}
+
 void MohawkEngine_Riven::runCardScript(uint16 scriptType) {
 	assert(_cardData.hasData);
 	for (uint16 i = 0; i < _cardData.scripts.size(); i++)

Modified: scummvm/trunk/engines/mohawk/riven.h
===================================================================
--- scummvm/trunk/engines/mohawk/riven.h	2010-01-19 00:56:52 UTC (rev 47370)
+++ scummvm/trunk/engines/mohawk/riven.h	2010-01-19 05:01:45 UTC (rev 47371)
@@ -157,6 +157,7 @@
 	uint16 getCurCard() { return _curCard; }
 	uint16 getCurStack() { return _curStack; }
 	uint16 matchRMAPToCard(uint32);
+	uint32 getCurCardRMAP();
 
 	Common::Point _mousePos;
 	RivenHotspot *_hotspots;

Modified: scummvm/trunk/engines/mohawk/riven_scripts.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/riven_scripts.cpp	2010-01-19 00:56:52 UTC (rev 47370)
+++ scummvm/trunk/engines/mohawk/riven_scripts.cpp	2010-01-19 05:01:45 UTC (rev 47371)
@@ -542,7 +542,7 @@
 void RivenScript::activateSLST(uint16 op, uint16 argc, uint16 *argv) {
 	// WORKAROUND: Disable the SLST that is played during Riven's intro.
 	// Riven X does this too (spoke this over with Jeff)
-	if (_vm->getCurStack() == tspit && _vm->getCurCard() == 155 && argv[0] == 2)
+	if (_vm->getCurStack() == tspit && _vm->getCurCardRMAP() == 0x6e9a && argv[0] == 2)
 		return;
 
 	_vm->_sound->playSLST(argv[0], _vm->getCurCard());


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