aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/items.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-10-25 05:32:15 +0000
committerTravis Howell2006-10-25 05:32:15 +0000
commit869243142ad4e42c23c52617414fe737c3eead86 (patch)
tree0ea16da05bd36c44ed96da9b69ce6262a9f8942f /engines/agos/items.cpp
parent8b0f34e193f571f10d990efba1a5a8e229bc0957 (diff)
downloadscummvm-rg350-869243142ad4e42c23c52617414fe737c3eead86.tar.gz
scummvm-rg350-869243142ad4e42c23c52617414fe737c3eead86.tar.bz2
scummvm-rg350-869243142ad4e42c23c52617414fe737c3eead86.zip
Add class code used by scripts in Elvira 1
svn-id: r24491
Diffstat (limited to 'engines/agos/items.cpp')
-rw-r--r--engines/agos/items.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/engines/agos/items.cpp b/engines/agos/items.cpp
index 64d8f639de..31574e6dbb 100644
--- a/engines/agos/items.cpp
+++ b/engines/agos/items.cpp
@@ -385,19 +385,33 @@ Item *AGOSEngine::derefItem(uint item) {
Item *AGOSEngine::findInByClass(Item *i, int16 m) {
i = derefItem(i->child);
-
while (i) {
if (i->classFlags & m) {
- //_findNextPtr = derefItem(i->next);
+ _findNextPtr = derefItem(i->next);
return i;
}
if (m == 0) {
- //_findNextPtr = derefItem(i->next);
+ _findNextPtr = derefItem(i->next);
return i;
}
i = derefItem(i->next);
}
+ return NULL;
+}
+Item *AGOSEngine::nextInByClass(Item *i, int16 m) {
+ i = _findNextPtr;
+ while(i) {
+ if (i->classFlags & m) {
+ _findNextPtr = derefItem(i->next);
+ return i;
+ }
+ if (m == 0) {
+ _findNextPtr = derefItem(i->next);
+ return i;
+ }
+ i = derefItem(i->next);
+ }
return NULL;
}