SCI: kScummVMSleep is now available in SCI16
This commit is contained in:
parent
3e1ecd2ea4
commit
6abb9c6061
6 changed files with 32 additions and 47 deletions
|
@ -100,25 +100,6 @@ reg_t kGameIsRestarting(EngineState *s, int argc, reg_t *argv) {
|
|||
neededSleep = 60;
|
||||
}
|
||||
break;
|
||||
case GID_KQ6: {
|
||||
// KQ6 has talking inventory items that animate in the inventory window.
|
||||
// This is done with unthrottled inner loops which we replace with
|
||||
// calls to kGameIsRestarting so that the screen updates and responds
|
||||
// to input. Since this can happen in any room, we detect if the caller
|
||||
// is inventory script 907. See kq6PatchTalkingInventory.
|
||||
if (s->_executionStack.size() >= 2) {
|
||||
Common::List<ExecStack>::const_iterator iter = s->_executionStack.reverse_begin();
|
||||
--iter; // skip this kernel call
|
||||
if (iter->type == EXEC_STACK_TYPE_CALL) {
|
||||
int callerScriptNumber = s->_segMan->getScript(iter->addr.pc.getSegment())->getScriptNumber();
|
||||
if (callerScriptNumber == 907) {
|
||||
s->_throttleTrigger = true;
|
||||
neededSleep = 90; // talk animation interval
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GID_SQ4:
|
||||
// In SQ4 (floppy and CD) the sequel police appear way too quickly in
|
||||
// the Skate-o-rama rooms, resulting in all sorts of timer issues, like
|
||||
|
@ -937,8 +918,8 @@ reg_t kKawaDbugStr(EngineState *s, int argc, reg_t *argv)
|
|||
reg_t kEmpty(EngineState *s, int argc, reg_t *argv) {
|
||||
// Placeholder for empty kernel functions which are still called from the
|
||||
// engine scripts (like the empty kSetSynonyms function in SCI1.1). This
|
||||
// differs from dummy functions because it does nothing and never throws a
|
||||
// warning when it is called.
|
||||
// differs from dummy functions because it doesn't throw an error when it
|
||||
// is called.
|
||||
return s->r_acc;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue