[Scummvm-cvs-logs] SF.net SVN: scummvm:[55756] scummvm/trunk/engines/sci/graphics/robot.cpp

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Thu Feb 3 19:18:37 CET 2011


Revision: 55756
          http://scummvm.svn.sourceforge.net/scummvm/?rev=55756&view=rev
Author:   thebluegr
Date:     2011-02-03 18:18:36 +0000 (Thu, 03 Feb 2011)

Log Message:
-----------
SCI: Robot related changes

- Reverted accidental changes in r55752, and moved all the deletion code in freeData()
again
- Now skipping v6 videos (in SCI3), instead of throwing an error

Modified Paths:
--------------
    scummvm/trunk/engines/sci/graphics/robot.cpp

Modified: scummvm/trunk/engines/sci/graphics/robot.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/robot.cpp	2011-02-03 18:07:47 UTC (rev 55755)
+++ scummvm/trunk/engines/sci/graphics/robot.cpp	2011-02-03 18:18:36 UTC (rev 55756)
@@ -68,11 +68,7 @@
 }
 
 GfxRobot::~GfxRobot() {
-	delete[] _resourceData;
-	delete[] _imageStart;
-	delete[] _audioStart;
-	delete[] _audioLen;
-	delete[] _outputBuffer;
+	freeData();
 }
 
 void GfxRobot::init(GuiResourceId resourceId, uint16 x, uint16 y) {
@@ -137,8 +133,13 @@
 		_curFrame = _frameCount;	// jump to the last frame
 		return;
 	case 5:
-		// Supported, the most well-known and used version
+		// Supported, the most well-known and used version in SCI2.1
 		break;
+	case 6:
+		// Introduced in SCI3
+		warning("TODO: add support for v6 robot videos");
+		_curFrame = _frameCount;	// jump to the last frame
+		break;
 	default:
 		// Unsupported, error out so that we find out where this is used
 		error("Unknown robot version: %d", _version);
@@ -240,8 +241,7 @@
 		// End of robot video, restore palette
 		g_system->setPalette(_savedPal, 0, 256);
 		_resourceId = -1;
-		delete[] _outputBuffer;
-		_outputBuffer = 0;
+		freeData();
 	}
 }
 
@@ -347,6 +347,7 @@
 	delete[] _imageStart; _imageStart = 0;
 	delete[] _audioStart; _audioStart = 0;
 	delete[] _audioLen; _audioLen = 0;
+	delete[] _outputBuffer; _outputBuffer = 0;
 }	
 
 #endif


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