[Scummvm-cvs-logs] SF.net SVN: scummvm: [31167] scummvm/trunk/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Tue Mar 18 00:01:51 CET 2008


Revision: 31167
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31167&view=rev
Author:   lordhoto
Date:     2008-03-17 16:01:50 -0700 (Mon, 17 Mar 2008)

Log Message:
-----------
Implemented opcodes:
 - 70: o2_backUpInventoryGfx
 - 71: o2_disableSceneAnim
 - 72: o2_enableSceneAnim
 - 73: o2_restoreInventoryGfx

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/kyra_v2.cpp
    scummvm/trunk/engines/kyra/kyra_v2.h
    scummvm/trunk/engines/kyra/script_v2.cpp

Modified: scummvm/trunk/engines/kyra/kyra_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.cpp	2008-03-17 22:42:12 UTC (rev 31166)
+++ scummvm/trunk/engines/kyra/kyra_v2.cpp	2008-03-17 23:01:50 UTC (rev 31167)
@@ -107,6 +107,7 @@
 	_gamePlayBuffer = 0;
 	_unkBuf500Bytes = 0;
 	_screenBuffer = 0;
+	_inventorySaved = false;
 	_unkBuf200kByte = 0;
 	memset(&_defaultShapeTable, 0, sizeof(_defaultShapeTable));
 	memset(&_sceneShapeTable, 0, sizeof(_sceneShapeTable));

Modified: scummvm/trunk/engines/kyra/kyra_v2.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.h	2008-03-17 22:42:12 UTC (rev 31166)
+++ scummvm/trunk/engines/kyra/kyra_v2.h	2008-03-17 23:01:50 UTC (rev 31167)
@@ -341,6 +341,7 @@
 	void restorePage3();
 
 	uint8 *_screenBuffer;
+	bool _inventorySaved;
 	void backUpPage0();
 	void restorePage0();
 
@@ -997,6 +998,10 @@
 	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);

Modified: scummvm/trunk/engines/kyra/script_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v2.cpp	2008-03-17 22:42:12 UTC (rev 31166)
+++ scummvm/trunk/engines/kyra/script_v2.cpp	2008-03-17 23:01:50 UTC (rev 31167)
@@ -593,6 +593,32 @@
 	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,12 +1513,12 @@
 		// 0x44
 		OpcodeUnImpl(),
 		Opcode(o2_restoreBackBuffer),
-		OpcodeUnImpl(),
-		OpcodeUnImpl(),
+		Opcode(o2_backUpInventoryGfx),
+		Opcode(o2_disableSceneAnim),
 		// 0x48
+		Opcode(o2_enableSceneAnim),
+		Opcode(o2_restoreInventoryGfx),
 		OpcodeUnImpl(),
-		OpcodeUnImpl(),
-		OpcodeUnImpl(),
 		Opcode(o2_update),
 		// 0x4c
 		OpcodeUnImpl(),


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list