[Scummvm-cvs-logs] SF.net SVN: scummvm:[42766] scummvm/trunk/engines/gob/inter_v1.cpp

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Sat Jul 25 18:07:29 CEST 2009


Revision: 42766
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42766&view=rev
Author:   drmccoy
Date:     2009-07-25 16:07:29 +0000 (Sat, 25 Jul 2009)

Log Message:
-----------
Added a workaround to fix the Last Dynasty video greenness for now

Modified Paths:
--------------
    scummvm/trunk/engines/gob/inter_v1.cpp

Modified: scummvm/trunk/engines/gob/inter_v1.cpp
===================================================================
--- scummvm/trunk/engines/gob/inter_v1.cpp	2009-07-25 15:31:11 UTC (rev 42765)
+++ scummvm/trunk/engines/gob/inter_v1.cpp	2009-07-25 16:07:29 UTC (rev 42766)
@@ -972,6 +972,7 @@
 
 bool Inter_v1::o1_palLoad(OpFuncParams &params) {
 	int index1, index2;
+	int16 id;
 	byte cmd;
 	Resource *resource;
 
@@ -1116,7 +1117,8 @@
 	case 61:
 		index1 =  _vm->_game->_script->readByte();
 		index2 = (_vm->_game->_script->readByte() - index1 + 1) * 3;
-		resource = _vm->_game->_resources->getResource(_vm->_game->_script->readInt16());
+		id     = _vm->_game->_script->readInt16();
+		resource = _vm->_game->_resources->getResource(id);
 		if (!resource)
 			break;
 
@@ -1124,6 +1126,13 @@
 		       resource->getData() + index1 * 3, index2);
 		delete resource;
 
+		// WORKAROUND: The Last Dynasty overwrites the 0. palette entry but depends on it staying black.
+		if ((_vm->getGameType() == kGameTypeDynasty) && (index1 == 0)) {
+			_vm->_draw->_vgaPalette[0].red   = 0;
+			_vm->_draw->_vgaPalette[0].green = 0;
+			_vm->_draw->_vgaPalette[0].blue  = 0;
+		}
+
 		if (_vm->_draw->_applyPal) {
 			_vm->_draw->_applyPal = false;
 			_vm->_video->setFullPalette(_vm->_global->_pPaletteDesc);


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