ILLUSIONS: BBDOU: Implement opcodes 22, 23

This commit is contained in:
johndoe123 2015-12-15 16:51:33 +01:00 committed by Eugene Sandulenko
parent 2f80bd0e2b
commit 3abe3d759c
2 changed files with 13 additions and 2 deletions

View File

@ -76,8 +76,8 @@ void ScriptOpcodes_BBDOU::initOpcodes() {
OPCODE(19, opLeaveMenuPause);
OPCODE(20, opEnterScene);
OPCODE(21, opLeaveScene);
// TODO OPCODE(22, opEnterPause);
// TODO OPCODE(23, opLeavePause);
OPCODE(22, opEnterPause);
OPCODE(23, opLeavePause);
OPCODE(24, opUnloadActiveScenes);
OPCODE(25, opChangeScene);
OPCODE(26, opStartModalScene);
@ -284,6 +284,15 @@ void ScriptOpcodes_BBDOU::opLeaveScene(ScriptThread *scriptThread, OpCall &opCal
_vm->exitScene(opCall._callerThreadId);
}
void ScriptOpcodes_BBDOU::opEnterPause(ScriptThread *scriptThread, OpCall &opCall) {
_vm->enterPause(opCall._callerThreadId);
_vm->_talkItems->pauseBySceneId(_vm->getCurrentScene());
}
void ScriptOpcodes_BBDOU::opLeavePause(ScriptThread *scriptThread, OpCall &opCall) {
_vm->leavePause(opCall._callerThreadId);
}
void ScriptOpcodes_BBDOU::opUnloadActiveScenes(ScriptThread *scriptThread, OpCall &opCall) {
ARG_SKIP(2);
ARG_UINT32(sceneId);

View File

@ -57,6 +57,8 @@ protected:
void opLeaveMenuPause(ScriptThread *scriptThread, OpCall &opCall);
void opEnterScene(ScriptThread *scriptThread, OpCall &opCall);
void opLeaveScene(ScriptThread *scriptThread, OpCall &opCall);
void opEnterPause(ScriptThread *scriptThread, OpCall &opCall);
void opLeavePause(ScriptThread *scriptThread, OpCall &opCall);
void opUnloadActiveScenes(ScriptThread *scriptThread, OpCall &opCall);
void opChangeScene(ScriptThread *scriptThread, OpCall &opCall);
void opStartModalScene(ScriptThread *scriptThread, OpCall &opCall);