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

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Fri Apr 14 11:19:01 CEST 2006


Revision: 21889
Author:   drmccoy
Date:     2006-04-14 11:18:46 -0700 (Fri, 14 Apr 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=21889&view=rev

Log Message:
-----------
- Seems like I forget a branch in Mult_v2::animate()
- sub_1A52B is Scenery::updateStatic()

Modified Paths:
--------------
    scummvm/trunk/engines/gob/inter.h
    scummvm/trunk/engines/gob/inter_v1.cpp
    scummvm/trunk/engines/gob/inter_v2.cpp
    scummvm/trunk/engines/gob/mult_v2.cpp
    scummvm/trunk/engines/gob/scenery.cpp
    scummvm/trunk/engines/gob/scenery.h
Modified: scummvm/trunk/engines/gob/inter.h
===================================================================
--- scummvm/trunk/engines/gob/inter.h	2006-04-14 14:26:34 UTC (rev 21888)
+++ scummvm/trunk/engines/gob/inter.h	2006-04-14 18:18:46 UTC (rev 21889)
@@ -309,6 +309,7 @@
 	void o2_totSub(void);
 	void o2_stub0x56(void);
 	void o2_stub0x80(void);
+	void o2_renderStatic(void);
 	bool o2_evaluateStore(char &cmdCount, int16 &counter, int16 &retFlag);
 	bool o2_palLoad(char &cmdCount, int16 &counter, int16 &retFlag);
 	bool o2_loadTot(char &cmdCount, int16 &counter, int16 &retFlag);

Modified: scummvm/trunk/engines/gob/inter_v1.cpp
===================================================================
--- scummvm/trunk/engines/gob/inter_v1.cpp	2006-04-14 14:26:34 UTC (rev 21888)
+++ scummvm/trunk/engines/gob/inter_v1.cpp	2006-04-14 18:18:46 UTC (rev 21889)
@@ -1585,7 +1585,12 @@
 }
 
 void Inter_v1::o1_renderStatic(void) {
-	_vm->_scenery->interRenderStatic();
+	int16 layer;
+	int16 index;
+
+	_vm->_inter->evalExpr(&index);
+	_vm->_inter->evalExpr(&layer);
+	_vm->_scenery->renderStatic(index, layer);
 }
 
 void Inter_v1::o1_loadCurLayer(void) {

Modified: scummvm/trunk/engines/gob/inter_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/inter_v2.cpp	2006-04-14 14:26:34 UTC (rev 21888)
+++ scummvm/trunk/engines/gob/inter_v2.cpp	2006-04-14 18:18:46 UTC (rev 21889)
@@ -158,7 +158,7 @@
 		OPCODE(o1_loadStatic),
 		OPCODE(o1_freeStatic),
 		/* 1C */
-		OPCODE(o1_renderStatic),
+		OPCODE(o2_renderStatic),
 		OPCODE(o2_loadCurLayer),
 		{NULL, ""},
 		{NULL, ""},
@@ -880,6 +880,15 @@
 	_vm->_game->loadSound(slot, dataPtr);*/
 }
 
+void Inter_v2::o2_renderStatic(void) {
+	int16 layer;
+	int16 index;
+
+	index = _vm->_parse->parseValExpr();
+	layer = _vm->_parse->parseValExpr();
+	_vm->_scenery->renderStatic(index, layer);
+}
+
 void Inter_v2::loadMult(void) {
 	int16 val;
 	int16 objIndex;

Modified: scummvm/trunk/engines/gob/mult_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/mult_v2.cpp	2006-04-14 14:26:34 UTC (rev 21888)
+++ scummvm/trunk/engines/gob/mult_v2.cpp	2006-04-14 18:18:46 UTC (rev 21889)
@@ -1005,6 +1005,25 @@
 		animObj1 = _renderData2[orderArray[i]];
 		animData1 = animObj1->pAnimData;
 		if (animObj1->someFlag == 0) {
+			if (animData1->isStatic == 0) {
+				for (j = 0; j < orderArrayPos; j++) {
+					animObj2 = _renderData2[orderArray[j]];
+					if ((animObj2->someFlag != 0) &&
+							(animObj1->somethingRight >= animObj2->somethingLeft) &&
+							(animObj2->somethingRight >= animObj1->somethingLeft) &&
+							(animObj1->somethingBottom >= animObj2->somethingTop) &&
+							(animObj2->somethingBottom >= animObj1->somethingTop))
+					{
+						_vm->_scenery->_toRedrawLeft = animObj2->somethingLeft;
+						_vm->_scenery->_toRedrawRight = animObj2->somethingRight;
+						_vm->_scenery->_toRedrawTop = animObj2->somethingTop;
+						_vm->_scenery->_toRedrawBottom = animObj2->somethingBottom;
+						_vm->_scenery->updateAnim(animData1->layer, animData1->frame,
+								animData1->animation, 12, *animObj1->pPosX, *animObj1->pPosY, 1);
+						_vm->_scenery->updateStatic(animObj1->pAnimData->order + 1);
+					}
+				}
+			}
 		} else {
 			if (animData1->isStatic == 0) {
 				_vm->_scenery->updateAnim(animData1->layer, animData1->frame,
@@ -1039,7 +1058,7 @@
 				_vm->_scenery->_toRedrawTop = animObj1->somethingTop;
 				_vm->_scenery->_toRedrawBottom = animObj1->somethingBottom;
 			}
-			warning("GOB2 Stub! sub_1A52B(animObj1->pAnimData->order);");
+			_vm->_scenery->updateStatic(animObj1->pAnimData->order + 1);
 		}
 	}
 

Modified: scummvm/trunk/engines/gob/scenery.cpp
===================================================================
--- scummvm/trunk/engines/gob/scenery.cpp	2006-04-14 14:26:34 UTC (rev 21888)
+++ scummvm/trunk/engines/gob/scenery.cpp	2006-04-14 18:18:46 UTC (rev 21889)
@@ -285,15 +285,6 @@
 	}
 }
 
-void Scenery::interRenderStatic(void) {
-	int16 layer;
-	int16 index;
-
-	_vm->_inter->evalExpr(&index);
-	_vm->_inter->evalExpr(&layer);
-	renderStatic(index, layer);
-}
-
 void Scenery::updateStatic(int16 orderFrom) {
 	StaticLayer *layerPtr;
 	PieceDesc **pictPtr;

Modified: scummvm/trunk/engines/gob/scenery.h
===================================================================
--- scummvm/trunk/engines/gob/scenery.h	2006-04-14 14:26:34 UTC (rev 21888)
+++ scummvm/trunk/engines/gob/scenery.h	2006-04-14 18:18:46 UTC (rev 21889)
@@ -127,7 +127,6 @@
 	int16 loadStatic(char search);
 	void freeStatic(int16 index);
 	void renderStatic(int16 scenery, int16 layer);
-	void interRenderStatic(void);
 	void updateStatic(int16 orderFrom);
 	int16 loadAnim(char search);
 	void updateAnim(int16 layer, int16 frame, int16 animation, int16 flags,


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