mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-14 21:59:17 +00:00
Implemented opcodes:
- 70: o2_backUpInventoryGfx - 71: o2_disableSceneAnim - 72: o2_enableSceneAnim - 73: o2_restoreInventoryGfx svn-id: r31167
This commit is contained in:
parent
8752939fe4
commit
1042c6dccf
@ -107,6 +107,7 @@ KyraEngine_v2::KyraEngine_v2(OSystem *system, const GameFlags &flags) : KyraEngi
|
||||
_gamePlayBuffer = 0;
|
||||
_unkBuf500Bytes = 0;
|
||||
_screenBuffer = 0;
|
||||
_inventorySaved = false;
|
||||
_unkBuf200kByte = 0;
|
||||
memset(&_defaultShapeTable, 0, sizeof(_defaultShapeTable));
|
||||
memset(&_sceneShapeTable, 0, sizeof(_sceneShapeTable));
|
||||
|
@ -341,6 +341,7 @@ protected:
|
||||
void restorePage3();
|
||||
|
||||
uint8 *_screenBuffer;
|
||||
bool _inventorySaved;
|
||||
void backUpPage0();
|
||||
void restorePage0();
|
||||
|
||||
@ -997,6 +998,10 @@ protected:
|
||||
int o2_disableAnimObject(ScriptState *script);
|
||||
int o2_enableAnimObject(ScriptState *script);
|
||||
int o2_restoreBackBuffer(ScriptState *script);
|
||||
int o2_backUpInventoryGfx(ScriptState *script);
|
||||
int o2_disableSceneAnim(ScriptState *script);
|
||||
int o2_enableSceneAnim(ScriptState *script);
|
||||
int o2_restoreInventoryGfx(ScriptState *script);
|
||||
int o2_update(ScriptState *script);
|
||||
int o2_fadeScenePal(ScriptState *script);
|
||||
int o2_enterNewSceneEx(ScriptState *script);
|
||||
|
@ -593,6 +593,32 @@ int KyraEngine_v2::o2_restoreBackBuffer(ScriptState *script) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_backUpInventoryGfx(ScriptState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_backUpInventoryGfx(%p) ()", (const void *)script);
|
||||
_screen->copyRegionToBuffer(1, 0, 144, 320, 56, _screenBuffer);
|
||||
_inventorySaved = true;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_disableSceneAnim(ScriptState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_disableSceneAnim(%p) (%d)", (const void *)script, stackPos(0));
|
||||
_sceneAnims[stackPos(0)].flags &= ~1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_enableSceneAnim(ScriptState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_enableSceneAnim(%p) (%d)", (const void *)script, stackPos(0));
|
||||
_sceneAnims[stackPos(0)].flags |= 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_restoreInventoryGfx(ScriptState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_restoreInventoryGfx(%p) ()", (const void *)script);
|
||||
_screen->copyBlockToPage(1, 0, 144, 320, 56, _screenBuffer);
|
||||
_inventorySaved = false;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_update(ScriptState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_update(%p) (%d)", (const void *)script, stackPos(0));
|
||||
|
||||
@ -1487,11 +1513,11 @@ void KyraEngine_v2::setupOpcodeTable() {
|
||||
// 0x44
|
||||
OpcodeUnImpl(),
|
||||
Opcode(o2_restoreBackBuffer),
|
||||
OpcodeUnImpl(),
|
||||
OpcodeUnImpl(),
|
||||
Opcode(o2_backUpInventoryGfx),
|
||||
Opcode(o2_disableSceneAnim),
|
||||
// 0x48
|
||||
OpcodeUnImpl(),
|
||||
OpcodeUnImpl(),
|
||||
Opcode(o2_enableSceneAnim),
|
||||
Opcode(o2_restoreInventoryGfx),
|
||||
OpcodeUnImpl(),
|
||||
Opcode(o2_update),
|
||||
// 0x4c
|
||||
|
Loading…
Reference in New Issue
Block a user