aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2005-05-01 11:09:30 +0000
committerTravis Howell2005-05-01 11:09:30 +0000
commitd64e9d8c5cecda76b06fee720b46521cce864bb9 (patch)
tree06daa101fa1e499ca5fc38425b080b018d55b6da
parentd6fb5517ed384a3f35d6d5915f50f661f755a225 (diff)
downloadscummvm-rg350-d64e9d8c5cecda76b06fee720b46521cce864bb9.tar.gz
scummvm-rg350-d64e9d8c5cecda76b06fee720b46521cce864bb9.tar.bz2
scummvm-rg350-d64e9d8c5cecda76b06fee720b46521cce864bb9.zip
Add extra cases for bb2demo.
svn-id: r17883
-rw-r--r--scumm/script_v90he.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp
index 047f245f2c..9cbc371623 100644
--- a/scumm/script_v90he.cpp
+++ b/scumm/script_v90he.cpp
@@ -2479,23 +2479,30 @@ void ScummEngine_v90he::o90_getActorAnimProgress() {
void ScummEngine_v90he::o90_kernelGetFunctions() {
int args[29];
- int num;
+ int num, tmp;
+ Actor *a;
num = getStackList(args, ARRAYSIZE(args));
switch (args[0]) {
case 1001:
{
- double a = args[1] * PI / 180.;
- push((int)(sin(a) * 100000));
+ double b = args[1] * PI / 180.;
+ push((int)(sin(b) * 100000));
}
break;
case 1002:
{
- double a = args[1] * PI / 180.;
- push((int)(cos(a) * 100000));
+ double b = args[1] * PI / 180.;
+ push((int)(cos(b) * 100000));
}
break;
+ case 1969:
+ a = derefActor(args[1], "o90_kernelGetFunctions: 1969");
+ tmp = a->_heCondMask;
+ tmp &= 0x7FFF0000;
+ push(tmp);
+ break;
case 2001:
// Used in football
debug(0, "o90_kernelGetFunctions: U32 code %d (args %d)", args[1], num - 2);
@@ -2508,7 +2515,7 @@ void ScummEngine_v90he::o90_kernelGetFunctions() {
void ScummEngine_v90he::o90_kernelSetFunctions() {
int args[29];
- int num;
+ int num, tmp;
Actor *a;
num = getStackList(args, ARRAYSIZE(args));
@@ -2555,6 +2562,13 @@ void ScummEngine_v90he::o90_kernelSetFunctions() {
case 1492:
spriteInfoSet_flagDoubleBuffered(args[1], args[2]);
break;
+ case 1969:
+ a = derefActor(args[1], "o90_kernelSetFunctions: 1969");
+ tmp = a->_heCondMask;
+ tmp ^= args[2];
+ tmp &= 0x7FFF0000;
+ a->_heCondMask ^= tmp;
+ break;
case 2001:
// Used in SoccerMLS/Soccer2004
debug(0, "o90_kernelSetFunctions: U32 code %d (args %d)", args[1], num - 2);