aboutsummaryrefslogtreecommitdiff
path: root/engines/cine/object.cpp
diff options
context:
space:
mode:
authorDavid Corrales2007-05-31 23:44:43 +0000
committerDavid Corrales2007-05-31 23:44:43 +0000
commit0cab5b7791e56b32455748bf20c21f0d6b42f654 (patch)
tree9e6580328542f1db230e019ba77e3db1be8fa50b /engines/cine/object.cpp
parent6c69d531d262e14fa02b6e1adb42baaa5c74dbe6 (diff)
parent22c0403e0dfec16badf156afa842c6c37e850263 (diff)
downloadscummvm-rg350-0cab5b7791e56b32455748bf20c21f0d6b42f654.tar.gz
scummvm-rg350-0cab5b7791e56b32455748bf20c21f0d6b42f654.tar.bz2
scummvm-rg350-0cab5b7791e56b32455748bf20c21f0d6b42f654.zip
Merged the fs branch with trunk. r26949:27031
svn-id: r27032
Diffstat (limited to 'engines/cine/object.cpp')
-rw-r--r--engines/cine/object.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/engines/cine/object.cpp b/engines/cine/object.cpp
index 980bcfe5d7..1e92234e04 100644
--- a/engines/cine/object.cpp
+++ b/engines/cine/object.cpp
@@ -1,7 +1,8 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2006 The ScummVM project
+/* ScummVM - Graphic Adventure Engine
*
- * cinE Engine is (C) 2004-2005 by CinE Team
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -61,11 +62,11 @@ void loadObject(char *pObjectName) {
uint16 numEntry;
uint16 entrySize;
uint16 i;
- byte *ptr;
+ byte *ptr, *dataPtr;
checkDataDisk(-1);
- ptr = readBundleFile(findFileInBundle(pObjectName));
+ ptr = dataPtr = readBundleFile(findFileInBundle(pObjectName));
setMouseCursor(MOUSE_CURSOR_DISK);
@@ -95,6 +96,8 @@ void loadObject(char *pObjectName) {
objectTable[i].costume = 0;
}
}
+
+ free(dataPtr);
}
int8 removeOverlayElement(uint16 objIdx, uint16 param) {
@@ -133,12 +136,11 @@ int8 removeOverlayElement(uint16 objIdx, uint16 param) {
int16 freeOverlay(uint16 objIdx, uint16 param) {
overlayHeadElement *currentHeadPtr = overlayHead.next;
- overlayHeadElement *tempHead = &overlayHead;
- overlayHeadElement *tempPtr2;
+ overlayHeadElement *previousPtr = &overlayHead;
while (currentHeadPtr && ((currentHeadPtr->objIdx != objIdx) || (currentHeadPtr->type != param))) {
- tempHead = currentHeadPtr;
- currentHeadPtr = tempHead->next;
+ previousPtr = currentHeadPtr;
+ currentHeadPtr = previousPtr->next;
}
if (!currentHeadPtr) {
@@ -149,8 +151,8 @@ int16 freeOverlay(uint16 objIdx, uint16 param) {
return -1;
}
- tempHead->next = currentHeadPtr->next;
- tempPtr2 = currentHeadPtr->next;
+ previousPtr->next = currentHeadPtr->next;
+ overlayHeadElement *tempPtr2 = currentHeadPtr->next;
if (!tempPtr2) {
tempPtr2 = &overlayHead;
@@ -158,9 +160,7 @@ int16 freeOverlay(uint16 objIdx, uint16 param) {
tempPtr2->previous = currentHeadPtr->previous;
- //TODO: fix !
- //free(currentHeadPtr);
-
+ free(currentHeadPtr);
return 0;
}