aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorFilippos Karapetis2011-11-05 13:07:09 +0200
committerFilippos Karapetis2011-11-05 13:08:42 +0200
commit5969c6bd2e141799d35d68559b9222772917e950 (patch)
treeb4e0e69e51d357e678db7f0cb949da2e52539e63 /engines/sci
parent3e98c563770bdfde049c0f74871d606be3b9698e (diff)
downloadscummvm-rg350-5969c6bd2e141799d35d68559b9222772917e950.tar.gz
scummvm-rg350-5969c6bd2e141799d35d68559b9222772917e950.tar.bz2
scummvm-rg350-5969c6bd2e141799d35d68559b9222772917e950.zip
SCI: Updated Script::getObjectMap()
It now returns a reference to the object list instead of copying it
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/engine/script.h2
-rw-r--r--engines/sci/engine/seg_manager.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/engines/sci/engine/script.h b/engines/sci/engine/script.h
index 8c5495d852..90a7c7a11e 100644
--- a/engines/sci/engine/script.h
+++ b/engines/sci/engine/script.h
@@ -87,7 +87,7 @@ public:
SegmentId getLocalsSegment() const { return _localsSegment; }
reg_t *getLocalsBegin() { return _localsBlock ? _localsBlock->_locals.begin() : NULL; }
void syncLocalsBlock(SegManager *segMan);
- ObjMap getObjectMap() const { return _objects; }
+ ObjMap &getObjectMap() { return _objects; }
public:
Script();
diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp
index 09d586a1c6..6722cda6c9 100644
--- a/engines/sci/engine/seg_manager.cpp
+++ b/engines/sci/engine/seg_manager.cpp
@@ -269,7 +269,7 @@ reg_t SegManager::findObjectByName(const Common::String &name, int index) {
if (mobj->getType() == SEG_TYPE_SCRIPT) {
// It's a script, scan all objects in it
- const Script *scr = (const Script *)mobj;
+ Script *scr = (Script *)mobj;
ObjMap objects = scr->getObjectMap();
for (ObjMap::const_iterator it = objects.begin(); it != objects.end(); ++it) {
objpos.offset = it->_value.getPos().offset;