[Scummvm-cvs-logs] scummvm master -> 99b376afe73ed84d9229265bb8924d89fb993b5e
sev-
sev at scummvm.org
Sun May 25 08:33:44 CEST 2014
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
3ca0f88e1f FULLPIPE: Fix MovGraph::calcMovItems()
99b376afe7 FULLPIPE: Start MovGraph::sub1() implementation
Commit: 3ca0f88e1f1539251cb2955cdb9eb532d105829f
https://github.com/scummvm/scummvm/commit/3ca0f88e1f1539251cb2955cdb9eb532d105829f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-25T09:32:50+03:00
Commit Message:
FULLPIPE: Fix MovGraph::calcMovItems()
Changed paths:
engines/fullpipe/motion.cpp
engines/fullpipe/motion.h
diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp
index af615cd..b4abe60 100644
--- a/engines/fullpipe/motion.cpp
+++ b/engines/fullpipe/motion.cpp
@@ -1176,7 +1176,7 @@ void MovGraph::shuffleTree(MovGraphLink *lnk, MovGraphLink *lnk2, Common::Array<
}
}
-Common::Array<Common::Rect *> *MovGraph::getBboxes(MovArr *movarr1, MovArr *movarr2, int *listCount) {
+Common::Array<MovItem *> *MovGraph::calcMovItems(MovArr *movarr1, MovArr *movarr2, int *listCount) {
Common::Array<MovGraphLink *> tempObList1;
Common::Array<MovGraphLink *> tempObList2;
@@ -1189,12 +1189,12 @@ Common::Array<Common::Rect *> *MovGraph::getBboxes(MovArr *movarr1, MovArr *mova
*listCount = tempObList2.size();
- Common::Array<Common::Rect *> *res = new Common::Array<Common::Rect *>;
+ Common::Array<MovItem *> *res = new Common::Array<MovItem *>;
for (int i = 0; i < *listCount; i++) {
- Common::Rect *r = new Common::Rect;
+ MovItem *r = new MovItem;
- calcBbox(r, tempObList2[i], movarr1, movarr2);
+ genMovItem(r, tempObList2[i], movarr1, movarr2);
delete tempObList2[i];
}
@@ -1204,8 +1204,8 @@ Common::Array<Common::Rect *> *MovGraph::getBboxes(MovArr *movarr1, MovArr *mova
return res;
}
-void MovGraph::calcBbox(Common::Rect *rect, MovGraphLink *grlink, MovArr *movarr1, MovArr *movarr2) {
- warning("STUB: MovGraph::calcBbox()");
+void MovGraph::genMovItem(MovItem *movitem, MovGraphLink *grlink, MovArr *movarr1, MovArr *movarr2) {
+ warning("STUB: MovGraph::genMovItem()");
}
bool MovGraph::calcChunk(int idx, int x, int y, MovArr *arr, int a6) {
diff --git a/engines/fullpipe/motion.h b/engines/fullpipe/motion.h
index 3aa07c1..2765cc3 100644
--- a/engines/fullpipe/motion.h
+++ b/engines/fullpipe/motion.h
@@ -371,8 +371,8 @@ public:
int getItemIndexByStaticAni(StaticANIObject *ani);
Common::Array<MovArr *> *genMovArr(int x, int y, int *arrSize, int flag1, int flag2);
void shuffleTree(MovGraphLink *lnk, MovGraphLink *lnk2, Common::Array<MovGraphLink *> &tempObList1, Common::Array<MovGraphLink *> &tempObList2);
- Common::Array<Common::Rect *> *getBboxes(MovArr *movarr1, MovArr *movarr2, int *listCount);
- void calcBbox(Common::Rect *rect, MovGraphLink *grlink, MovArr *movarr1, MovArr *movarr2);
+ Common::Array<MovItem *> *calcMovItems(MovArr *movarr1, MovArr *movarr2, int *listCount);
+ void genMovItem(MovItem *movitem, MovGraphLink *grlink, MovArr *movarr1, MovArr *movarr2);
bool calcChunk(int idx, int x, int y, MovArr *arr, int a6);
MessageQueue *sub1(StaticANIObject *ani, int x, int y, int a5, int x1, int y1, int a8, int a9);
MessageQueue *fillMGMinfo(StaticANIObject *ani, MovArr *movarr, int staticsId);
Commit: 99b376afe73ed84d9229265bb8924d89fb993b5e
https://github.com/scummvm/scummvm/commit/99b376afe73ed84d9229265bb8924d89fb993b5e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-25T09:32:50+03:00
Commit Message:
FULLPIPE: Start MovGraph::sub1() implementation
Changed paths:
engines/fullpipe/motion.cpp
diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp
index b4abe60..ad86805 100644
--- a/engines/fullpipe/motion.cpp
+++ b/engines/fullpipe/motion.cpp
@@ -817,7 +817,67 @@ MessageQueue *MovGraph::doWalkTo(StaticANIObject *subj, int xpos, int ypos, int
return 0;
}
-MessageQueue *MovGraph::sub1(StaticANIObject *ani, int x, int y, int a5, int x1, int y1, int a8, int a9) {
+MessageQueue *MovGraph::sub1(StaticANIObject *ani, int x, int y, int stid, int x1, int y1, int a8, int flag1) {
+#if 0
+ PicAniInfo picinfo;
+
+ ani->getPicAniInfo(&picinfo);
+
+ ani->_statics = ani->getStaticsById(stid);
+ ani->_movement = 0;
+ ani->setOXY(x, y);
+
+ int rescount;
+
+ MovItem *movitem = method28(ani, x1, y1, flag1, &rescount);
+
+ if (!movitem) {
+ ani->setPicAniInfo(&picinfo);
+
+ return 0;
+ }
+
+ v13 = _callback1(ani, movitem, rescount);
+ v14 = MovGraph_getItemIndexByStaticAni(this, ani);
+ v15 = v14 << 6;
+ v16 = 0;
+
+ movgitem = _items[v14];
+ v18 = movgitem->count;
+
+ if (v18 > 0) {
+ v19 = movgitem->movitems;
+ while (v19->movarr != v13) {
+ ++v16;
+ ++v19;
+ if (v16 >= v18)
+ goto LABEL_6;
+ }
+ v21 = v16;
+ v22 = movgitem->movitems[v21].movarr;
+ v23 = movgitem->movarr._movSteps;
+ movarr = movgitem->movitems[v21].movarr;
+
+ if (v23)
+ CObjectFree(v23);
+
+ memcpy((char *)&this->_items->movarr + v15, v22, 0x20u);
+ *(MovStep **)((char *)&this->_items->movarr._movSteps + v15) = (MovStep *)operator new(8 * movarr->_movStepCount);
+ memcpy(*(void **)((char *)&this->_items->movarr._movSteps + v15), movarr->_movSteps, 8 * movarr->_movStepCount);
+ *(int *)((char *)&this->_items->movarr._afield_8 + v15) = -1;
+ *(MovGraphLink **)((char *)&this->_items->movarr._link + v15) = 0;
+ v24 = fillMGMinfo(*(StaticANIObject **)((char *)&this->_items->ani + v15), (MovArr *)((char *)&this->_items->movarr + v15), a8);
+
+ result = v24;
+ } else {
+ LABEL_6:
+ result = 0;
+ }
+
+ ani->setPicAniInfo(&picinfo);
+
+ return result;
+#endif
warning("STUB: *MovGraph::sub1()");
return 0;
More information about the Scummvm-git-logs
mailing list