[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