aboutsummaryrefslogtreecommitdiff
path: root/engines/cruise/cell.cpp
diff options
context:
space:
mode:
authorVincent Hamm2007-11-11 19:33:25 +0000
committerVincent Hamm2007-11-11 19:33:25 +0000
commit43437e6d749e3a95f6f23a265b399e08f86203ad (patch)
tree98881deb4cf0d8e8d0bffbe71beb9daa6eaeff27 /engines/cruise/cell.cpp
parent6e6a864c17403a99ee866c2330061d6e31506bbe (diff)
downloadscummvm-rg350-43437e6d749e3a95f6f23a265b399e08f86203ad.tar.gz
scummvm-rg350-43437e6d749e3a95f6f23a265b399e08f86203ad.tar.bz2
scummvm-rg350-43437e6d749e3a95f6f23a265b399e08f86203ad.zip
Menu display fix
Linked objects implementation (barman) The gameplay is now kind of working and it is possible to play at least the first part of the game svn-id: r29478
Diffstat (limited to 'engines/cruise/cell.cpp')
-rw-r--r--engines/cruise/cell.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/cruise/cell.cpp b/engines/cruise/cell.cpp
index 9ef2912ef5..bd86af7884 100644
--- a/engines/cruise/cell.cpp
+++ b/engines/cruise/cell.cpp
@@ -279,6 +279,21 @@ void removeCell(cellStruct *objPtr, int ovlNumber, int objectIdx, int objType, i
}
}
+void linkCell(cellStruct *pHead, int ovl, int obj, int type, int ovl2, int obj2) {
+ while (pHead) {
+ if ((pHead->overlay == ovl) || (ovl == -1)) {
+ if ((pHead->idx == obj) || (obj == -1)) {
+ if ((pHead->type == type) || (type == -1)) {
+ pHead->followObjectIdx = obj2;
+ pHead->followObjectOverlayIdx = ovl2;
+ }
+ }
+ }
+
+ pHead = pHead->next;
+ }
+}
+
void freezeCell(cellStruct * pObject, int overlayIdx, int objIdx, int objType, int backgroundPlane, int oldFreeze, int newFreeze ) {
while (pObject) {
if ((pObject->overlay == overlayIdx) || (overlayIdx == -1)) {