[Scummvm-cvs-logs] SF.net SVN: scummvm:[41092] scummvm/trunk/engines/kyra
athrxx at users.sourceforge.net
athrxx at users.sourceforge.net
Mon Jun 1 03:24:17 CEST 2009
Revision: 41092
http://scummvm.svn.sourceforge.net/scummvm/?rev=41092&view=rev
Author: athrxx
Date: 2009-06-01 01:24:17 +0000 (Mon, 01 Jun 2009)
Log Message:
-----------
LOL: some more opcodes and some minor bug fixes
Modified Paths:
--------------
scummvm/trunk/engines/kyra/lol.h
scummvm/trunk/engines/kyra/script_lol.cpp
scummvm/trunk/engines/kyra/script_v1.cpp
scummvm/trunk/engines/kyra/sound_lol.cpp
Modified: scummvm/trunk/engines/kyra/lol.h
===================================================================
--- scummvm/trunk/engines/kyra/lol.h 2009-06-01 00:42:53 UTC (rev 41091)
+++ scummvm/trunk/engines/kyra/lol.h 2009-06-01 01:24:17 UTC (rev 41092)
@@ -773,6 +773,7 @@
int olol_paletteFlash(EMCState *script);
int olol_disableControls(EMCState *script);
int olol_enableControls(EMCState *script);
+ int olol_shakeScene(EMCState *script);
int olol_gasExplosion(EMCState *script);
int olol_calcNewBlockPosition(EMCState *script);
int olol_fadeScene(EMCState *script);
Modified: scummvm/trunk/engines/kyra/script_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_lol.cpp 2009-06-01 00:42:53 UTC (rev 41091)
+++ scummvm/trunk/engines/kyra/script_lol.cpp 2009-06-01 01:24:17 UTC (rev 41092)
@@ -2067,6 +2067,12 @@
return gui_enableControls();
}
+int LoLEngine::olol_shakeScene(EMCState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_shakeScene(%p) (%d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2));
+ shakeScene(stackPos(0), stackPos(1), stackPos(2), 1);
+ return 1;
+}
+
int LoLEngine::olol_gasExplosion(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_gasExplosion(%p) (%d)", (const void *)script, stackPos(0));
processGasExplosion(stackPos(0));
@@ -2738,7 +2744,7 @@
// 0xB4
Opcode(olol_enableControls);
- OpcodeUnImpl();
+ Opcode(olol_shakeScene);
Opcode(olol_gasExplosion);
Opcode(olol_calcNewBlockPosition);
Modified: scummvm/trunk/engines/kyra/script_v1.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v1.cpp 2009-06-01 00:42:53 UTC (rev 41091)
+++ scummvm/trunk/engines/kyra/script_v1.cpp 2009-06-01 01:24:17 UTC (rev 41092)
@@ -45,8 +45,11 @@
int KyraEngine_v1::o1_getRand(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_getRand(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
- assert(stackPos(0) < stackPos(1));
- return _rnd.getRandomNumberRng(stackPos(0), stackPos(1));
+ int min = stackPos(0);
+ int max = stackPos(1);
+ if (max < min)
+ SWAP(min, max);
+ return _rnd.getRandomNumberRng(min, max);
}
int KyraEngine_v1::o1_hideMouse(EMCState *script) {
Modified: scummvm/trunk/engines/kyra/sound_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sound_lol.cpp 2009-06-01 00:42:53 UTC (rev 41091)
+++ scummvm/trunk/engines/kyra/sound_lol.cpp 2009-06-01 01:24:17 UTC (rev 41092)
@@ -79,7 +79,7 @@
snprintf(file2, sizeof(file2), "%s%c%c.%s", pattern1, '_', symbol, pattern2);
if (_sound->isVoicePresent(file1))
newSpeechList.push_back(_sound->getVoiceStream(file1));
- if (_sound->isVoicePresent(file2))
+ else if (_sound->isVoicePresent(file2))
newSpeechList.push_back(_sound->getVoiceStream(file2));
else
break;
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