aboutsummaryrefslogtreecommitdiff
path: root/script_v1.cpp
diff options
context:
space:
mode:
authorJames Brown2002-04-16 12:18:50 +0000
committerJames Brown2002-04-16 12:18:50 +0000
commitff1d72962b8a821d18dc460e84af5b513b6e046a (patch)
treea4203f45503013192548a0b59d2701a38be39bbc /script_v1.cpp
parent71eac5acd30cb1fd48cbfbc464b4a37adee8a6b4 (diff)
downloadscummvm-rg350-ff1d72962b8a821d18dc460e84af5b513b6e046a.tar.gz
scummvm-rg350-ff1d72962b8a821d18dc460e84af5b513b6e046a.tar.bz2
scummvm-rg350-ff1d72962b8a821d18dc460e84af5b513b6e046a.zip
Add hack for loom staff verbs.
Readd CD Audio svn-id: r3956
Diffstat (limited to 'script_v1.cpp')
-rw-r--r--script_v1.cpp29
1 files changed, 26 insertions, 3 deletions
diff --git a/script_v1.cpp b/script_v1.cpp
index 88406ea5bf..e33e87957f 100644
--- a/script_v1.cpp
+++ b/script_v1.cpp
@@ -20,10 +20,8 @@
*
*/
-
#include "stdafx.h"
#include "scumm.h"
-#include "cdmusic.h"
void Scumm::setupOpcodes()
{
@@ -2362,6 +2360,31 @@ void Scumm::o5_verbOps()
case 5: /* set xy */
vs->x = getVarOrDirectWord(0x80);
vs->y = getVarOrDirectWord(0x40);
+ // FIXME: hack loom notes into right spot
+ if (_gameId == GID_LOOM256) {
+ if ((verb >= 90) && (verb <= 97)) { // Notes
+ switch (verb) {
+ case 90:
+ case 91:
+ vs->y -= 7;
+ break;
+ case 92:
+ vs->y -= 6;
+ break;
+ case 93:
+ vs->y -= 4;
+ break;
+ case 94:
+ vs->y -= 3;
+ break;
+ case 95:
+ vs->y -= 1;
+ break;
+ case 97:
+ vs->y -= 5;
+ }
+ }
+ }
break;
case 6: /* set on */
vs->curmode = 1;
@@ -2645,7 +2668,7 @@ void Scumm::decodeParseString()
offset = 0;
delay = (int)((getVarOrDirectWord(0x40) & 0xffff) * 7.5);
if (_gameId == GID_LOOM256)
- cd_play(this, 1, 0, offset, delay);
+ _system->play_cdrom(1, 0, offset, delay);
else
warning("parseString: 8");
}