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

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Sun Jan 30 14:14:32 CET 2011


Revision: 55653
          http://scummvm.svn.sourceforge.net/scummvm/?rev=55653&view=rev
Author:   drmccoy
Date:     2011-01-30 13:14:32 +0000 (Sun, 30 Jan 2011)

Log Message:
-----------
GOB: Stub some Adibou mult stuff

Modified Paths:
--------------
    scummvm/trunk/engines/gob/goblin_v2.cpp
    scummvm/trunk/engines/gob/map.cpp
    scummvm/trunk/engines/gob/map.h
    scummvm/trunk/engines/gob/map_v2.cpp
    scummvm/trunk/engines/gob/mult_v2.cpp
    scummvm/trunk/engines/gob/scenery.cpp

Modified: scummvm/trunk/engines/gob/goblin_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/goblin_v2.cpp	2011-01-30 12:33:39 UTC (rev 55652)
+++ scummvm/trunk/engines/gob/goblin_v2.cpp	2011-01-30 13:14:32 UTC (rev 55653)
@@ -46,6 +46,8 @@
 }
 
 void Goblin_v2::freeObjects() {
+	_vm->_map->_mapUnknownBool = false;
+
 	if (_gobsCount < 0)
 		return;
 

Modified: scummvm/trunk/engines/gob/map.cpp
===================================================================
--- scummvm/trunk/engines/gob/map.cpp	2011-01-30 12:33:39 UTC (rev 55652)
+++ scummvm/trunk/engines/gob/map.cpp	2011-01-30 13:14:32 UTC (rev 55653)
@@ -47,6 +47,8 @@
 
 	_bigTiles = false;
 
+	_mapUnknownBool = false;
+
 	_wayPointCount = 0;
 	_wayPoints = 0;
 

Modified: scummvm/trunk/engines/gob/map.h
===================================================================
--- scummvm/trunk/engines/gob/map.h	2011-01-30 12:33:39 UTC (rev 55652)
+++ scummvm/trunk/engines/gob/map.h	2011-01-30 13:14:32 UTC (rev 55653)
@@ -80,6 +80,8 @@
 	int16 _destX;
 	int16 _destY;
 
+	bool _mapUnknownBool;
+
 	ItemPos _itemPoses[40];
 	char _sourceFile[15];
 
@@ -143,8 +145,6 @@
 
 	bool _bigTiles;
 
-	bool _mapUnknownBool;
-
 	int16 _passWidth;
 	int8 *_passMap; // [y * _mapWidth + x], getPass(x, y);
 

Modified: scummvm/trunk/engines/gob/map_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/map_v2.cpp	2011-01-30 12:33:39 UTC (rev 55652)
+++ scummvm/trunk/engines/gob/map_v2.cpp	2011-01-30 13:14:32 UTC (rev 55653)
@@ -74,15 +74,21 @@
 				for (int i = 0; i < _mapWidth * _mapHeight; i++)
 					WRITE_VARO_UINT8(var + i, 0x00);
 				break;
-			case 65533:
-				warning("Map_v2::loadMapObjects(): ID == 65533");
+			case 65533: {
+				int index = READ_VARO_UINT16(var);
+				// _vm->_mult->_objects[index].field_6E = 0;
+				// _vm->_mult->_objects[index].field_6A = variables;
+				warning("Map_v2::loadMapObjects(): ID == 65533 (%d)", index);
 				break;
+			}
 			case 65534:
-				_tilesWidth = READ_VARO_UINT8(var);
-				_tilesHeight = READ_VARO_UINT8(var + 1);
-				_mapWidth = READ_VARO_UINT8(var + 2);
-				_mapHeight = READ_VARO_UINT8(var + 3);
+				_tilesWidth     = READ_VARO_UINT8(var);
+				_tilesHeight    = READ_VARO_UINT8(var + 1);
+				_mapWidth       = READ_VARO_UINT8(var + 2);
+				_mapHeight      = READ_VARO_UINT8(var + 3);
 				_mapUnknownBool = READ_VARO_UINT8(var + 4) ? true : false;
+				if (_mapUnknownBool)
+					warning("Map_v2::loadMapObjects(): _mapUnknownBool == true");
 				break;
 			case 65535:
 				_passMap = (int8 *)_vm->_inter->_variables->getAddressOff8(var);

Modified: scummvm/trunk/engines/gob/mult_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/mult_v2.cpp	2011-01-30 12:33:39 UTC (rev 55652)
+++ scummvm/trunk/engines/gob/mult_v2.cpp	2011-01-30 13:14:32 UTC (rev 55653)
@@ -37,6 +37,7 @@
 #include "gob/goblin.h"
 #include "gob/inter.h"
 #include "gob/scenery.h"
+#include "gob/map.h"
 #include "gob/video.h"
 #include "gob/videoplayer.h"
 
@@ -715,8 +716,10 @@
 	if (animData.animType == 4) {
 		animData.frame = 0;
 		animData.isPaused = 1;
-		if (animData.animation < 0)
-			warning("Woodruff Stub: AnimType 4, animation: %d", animData.animation);
+		if ((animData.animation < 0) && (animObj.videoSlot > 0)) {
+			_vm->_vidPlayer->closeVideo(animObj.videoSlot - 1);
+			animObj.videoSlot = 0;
+		}
 		return;
 	}
 
@@ -826,6 +829,10 @@
 		Mult_Object &animObj = _objects[i];
 		Mult_AnimData &animData = *(animObj.pAnimData);
 
+		if (_vm->_map->_mapUnknownBool) {
+			// TODO!
+		}
+
 		animData.intersected = 200;
 		if (animData.isStatic != 2) {
 			if ((animData.isStatic == 0) || (animObj.lastLeft != -1)) {
@@ -842,10 +849,10 @@
 		Mult_AnimData &animData = *(animObj.pAnimData);
 
 		animObj.needRedraw = 0;
-		animObj.newTop = 1000;
-		animObj.newLeft = 1000;
-		animObj.newBottom = 0;
-		animObj.newRight = 0;
+		animObj.newTop     = 1000;
+		animObj.newLeft    = 1000;
+		animObj.newBottom  = 0;
+		animObj.newRight   = 0;
 
 		if (animData.isStatic == 2)
 			continue;

Modified: scummvm/trunk/engines/gob/scenery.cpp
===================================================================
--- scummvm/trunk/engines/gob/scenery.cpp	2011-01-30 12:33:39 UTC (rev 55652)
+++ scummvm/trunk/engines/gob/scenery.cpp	2011-01-30 13:14:32 UTC (rev 55653)
@@ -597,7 +597,9 @@
 	int16 destX;
 	int16 destY;
 
-	if ((_vm->getGameType() == kGameTypeWoodruff) && (animation < 0)) {
+	if ((animation < 0) &&
+	    ((_vm->getGameType() == kGameTypeWoodruff) ||
+	     (_vm->getGameType() == kGameTypeAdibou2))) {
 		// Object video
 
 		if (flags & 1) { // Do capture


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