diff options
author | Sven Hesse | 2006-04-13 20:56:22 +0000 |
---|---|---|
committer | Sven Hesse | 2006-04-13 20:56:22 +0000 |
commit | 3bed2d377e8431aa94334f7bc9c307875c229c54 (patch) | |
tree | 703cc095bd196ad7f386e36adb3abe601318ea70 /engines/gob/inter_v1.cpp | |
parent | e21f99c7baeb99f794ba70b7fead9b2588d93cc0 (diff) | |
download | scummvm-rg350-3bed2d377e8431aa94334f7bc9c307875c229c54.tar.gz scummvm-rg350-3bed2d377e8431aa94334f7bc9c307875c229c54.tar.bz2 scummvm-rg350-3bed2d377e8431aa94334f7bc9c307875c229c54.zip |
Some more stubs and rearrangings
svn-id: r21847
Diffstat (limited to 'engines/gob/inter_v1.cpp')
-rw-r--r-- | engines/gob/inter_v1.cpp | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/engines/gob/inter_v1.cpp b/engines/gob/inter_v1.cpp index 047de35350..5aa91ba7b2 100644 --- a/engines/gob/inter_v1.cpp +++ b/engines/gob/inter_v1.cpp @@ -1323,6 +1323,9 @@ bool Inter_v1::o1_keyFunc(char &cmdCount, int16 &counter, int16 &retFlag) { int16 flag; int16 key; + // Gob2 busy-waits here, so add a delay + _vm->_util->longDelay(1); + flag = load16(); animPalette(); _vm->_draw->blitInvalidated(); @@ -1562,7 +1565,7 @@ void Inter_v1::o1_animate(void) { } void Inter_v1::o1_multLoadMult(void) { - _vm->_mult->interLoadMult(); + loadMult(); } void Inter_v1::o1_storeParams(void) { @@ -2725,4 +2728,29 @@ int16 Inter_v1::loadSound(int16 slot) { return 0; } +void Inter_v1::loadMult(void) { + int16 val; + int16 objIndex; + int16 i; + char *lmultData; + + debugC(4, DEBUG_GAMEFLOW, "Inter_v1::loadMult(): Loading..."); + + evalExpr(&objIndex); + evalExpr(&val); + *_vm->_mult->_objects[objIndex].pPosX = val; + evalExpr(&val); + *_vm->_mult->_objects[objIndex].pPosY = val; + + lmultData = (char *)_vm->_mult->_objects[objIndex].pAnimData; + for (i = 0; i < 11; i++) { + if ((char)READ_LE_UINT16(_vm->_global->_inter_execPtr) == (char)99) { + evalExpr(&val); + lmultData[i] = val; + } else { + _vm->_global->_inter_execPtr++; + } + } +} + } // End of namespace Gob |