diff options
author | Travis Howell | 2005-05-01 11:09:30 +0000 |
---|---|---|
committer | Travis Howell | 2005-05-01 11:09:30 +0000 |
commit | d64e9d8c5cecda76b06fee720b46521cce864bb9 (patch) | |
tree | 06daa101fa1e499ca5fc38425b080b018d55b6da | |
parent | d6fb5517ed384a3f35d6d5915f50f661f755a225 (diff) | |
download | scummvm-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.cpp | 26 |
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); |