aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/seg_manager.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2010-06-15 07:20:53 +0000
committerFilippos Karapetis2010-06-15 07:20:53 +0000
commite93f8902a89cb969fd344e49e7086213c8609dbf (patch)
tree945226b96275eb14163cb9b1e555fdac6ae7e5a0 /engines/sci/engine/seg_manager.cpp
parentff66c67439ec501da5335e78e77b58943cea0972 (diff)
downloadscummvm-rg350-e93f8902a89cb969fd344e49e7086213c8609dbf.tar.gz
scummvm-rg350-e93f8902a89cb969fd344e49e7086213c8609dbf.tar.bz2
scummvm-rg350-e93f8902a89cb969fd344e49e7086213c8609dbf.zip
Cleanup of the savegame code:
- Added a saveLoadWithSerializer() method to the reg_t class - Moved SegManager::reconstructClones() inside savegame.cpp - Moved SoundCommandParser::syncPlayList() and SoundCommandParser::reconstructPlayList() inside savegame.cpp svn-id: r49683
Diffstat (limited to 'engines/sci/engine/seg_manager.cpp')
-rw-r--r--engines/sci/engine/seg_manager.cpp33
1 files changed, 0 insertions, 33 deletions
diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp
index 8d51b27099..96670b5aeb 100644
--- a/engines/sci/engine/seg_manager.cpp
+++ b/engines/sci/engine/seg_manager.cpp
@@ -476,39 +476,6 @@ Clone *SegManager::allocateClone(reg_t *addr) {
return &(table->_table[offset]);
}
-void SegManager::reconstructClones() {
- for (uint i = 0; i < _heap.size(); i++) {
- if (_heap[i]) {
- SegmentObj *mobj = _heap[i];
- if (mobj->getType() == SEG_TYPE_CLONES) {
- CloneTable *ct = (CloneTable *)mobj;
-
- for (uint j = 0; j < ct->_table.size(); j++) {
- // Check if the clone entry is used
- uint entryNum = (uint)ct->first_free;
- bool isUsed = true;
- while (entryNum != ((uint) CloneTable::HEAPENTRY_INVALID)) {
- if (entryNum == j) {
- isUsed = false;
- break;
- }
- entryNum = ct->_table[entryNum].next_free;
- }
-
- if (!isUsed)
- continue;
-
- CloneTable::Entry &seeker = ct->_table[j];
- const Object *baseObj = getObject(seeker.getSpeciesSelector());
- seeker.cloneFromObject(baseObj);
- if (!baseObj)
- warning("Clone entry without a base class: %d", j);
- } // end for
- } // end if
- } // end if
- } // end for
-}
-
List *SegManager::allocateList(reg_t *addr) {
ListTable *table;
int offset;