aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/gc.cpp
diff options
context:
space:
mode:
authorMax Horn2009-05-08 09:54:24 +0000
committerMax Horn2009-05-08 09:54:24 +0000
commit574dee8e1f57f126fc4e56e4e8ab839548a990a9 (patch)
tree500f09bc00621f6a3e19df13cbb248385faa4b52 /engines/sci/engine/gc.cpp
parent0223b7e490a6cdcc63aea0239cc6d079591c429f (diff)
downloadscummvm-rg350-574dee8e1f57f126fc4e56e4e8ab839548a990a9.tar.gz
scummvm-rg350-574dee8e1f57f126fc4e56e4e8ab839548a990a9.tar.bz2
scummvm-rg350-574dee8e1f57f126fc4e56e4e8ab839548a990a9.zip
SCI: Got rid of last traces of class SegInterface
svn-id: r40377
Diffstat (limited to 'engines/sci/engine/gc.cpp')
-rw-r--r--engines/sci/engine/gc.cpp19
1 files changed, 3 insertions, 16 deletions
diff --git a/engines/sci/engine/gc.cpp b/engines/sci/engine/gc.cpp
index 610ed853af..7487e7a0c6 100644
--- a/engines/sci/engine/gc.cpp
+++ b/engines/sci/engine/gc.cpp
@@ -75,18 +75,10 @@ void add_outgoing_refs(void *refcon, reg_t addr) {
reg_t_hash_map *find_all_used_references(EngineState *s) {
SegManager *sm = s->seg_manager;
- Common::Array<SegInterface *> interfaces;
reg_t_hash_map *normal_map = NULL;
WorklistManager wm;
uint i;
- interfaces.resize(sm->_heap.size());
- for (i = 1; i < sm->_heap.size(); i++)
- if (sm->_heap[i] == NULL)
- interfaces[i] = NULL;
- else
- interfaces[i] = sm->getSegInterface(i);
-
// Initialise
// Init: Registers
wm.push(s->r_acc);
@@ -121,9 +113,9 @@ reg_t_hash_map *find_all_used_references(EngineState *s) {
// Init: Explicitly loaded scripts
for (i = 1; i < sm->_heap.size(); i++)
- if (interfaces[i]
- && interfaces[i]->getType() == MEM_OBJ_SCRIPT) {
- Script *script = (Script *)(interfaces[i]->getMobj());
+ if (sm->_heap[i]
+ && sm->_heap[i]->getType() == MEM_OBJ_SCRIPT) {
+ Script *script = (Script *)sm->_heap[i];
if (script->lockers) { // Explicitly loaded?
int obj_nr;
@@ -158,11 +150,6 @@ reg_t_hash_map *find_all_used_references(EngineState *s) {
// Normalise
normal_map = normalise_hashmap_ptrs(sm, wm._map);
- // Cleanup
- for (i = 1; i < sm->_heap.size(); i++)
- if (interfaces[i])
- delete interfaces[i];
-
return normal_map;
}