diff options
author | Max Horn | 2009-05-03 22:45:13 +0000 |
---|---|---|
committer | Max Horn | 2009-05-03 22:45:13 +0000 |
commit | f108a31ad71404f115de776366dae985dd8e4f48 (patch) | |
tree | 2b61533413daf0fb252b9cbddf0d5c272d1f1b07 | |
parent | c7a5a17acfa1353c221be8c09576503b395c29ef (diff) | |
download | scummvm-rg350-f108a31ad71404f115de776366dae985dd8e4f48.tar.gz scummvm-rg350-f108a31ad71404f115de776366dae985dd8e4f48.tar.bz2 scummvm-rg350-f108a31ad71404f115de776366dae985dd8e4f48.zip |
SCI: Made SegManager::heap_size unsigned
svn-id: r40290
-rw-r--r-- | engines/sci/engine/gc.cpp | 6 | ||||
-rw-r--r-- | engines/sci/engine/savegame.cpp | 14 | ||||
-rw-r--r-- | engines/sci/engine/scriptconsole.cpp | 2 | ||||
-rw-r--r-- | engines/sci/engine/scriptdebug.cpp | 8 | ||||
-rw-r--r-- | engines/sci/engine/seg_manager.cpp | 16 | ||||
-rw-r--r-- | engines/sci/engine/seg_manager.h | 8 |
6 files changed, 24 insertions, 30 deletions
diff --git a/engines/sci/engine/gc.cpp b/engines/sci/engine/gc.cpp index abdcd9f26f..474d3fbc5a 100644 --- a/engines/sci/engine/gc.cpp +++ b/engines/sci/engine/gc.cpp @@ -78,7 +78,7 @@ reg_t_hash_map *find_all_used_references(EngineState *s) { Common::Array<SegInterface *> interfaces; reg_t_hash_map *normal_map = NULL; WorklistManager wm; - int i; + uint i; interfaces.resize(sm->heap_size); for (i = 1; i < sm->heap_size; i++) @@ -105,7 +105,7 @@ reg_t_hash_map *find_all_used_references(EngineState *s) { #endif // Init: Execution Stack - for (i = 0; i <= s->execution_stack_pos; i++) { + for (i = 0; (int)i <= s->execution_stack_pos; i++) { ExecStack &es = s->_executionStack[i]; if (es.type != EXEC_STACK_TYPE_KERNEL) { @@ -191,7 +191,7 @@ void free_unless_used(void *refcon, reg_t addr) { } void run_gc(EngineState *s) { - int seg_nr; + uint seg_nr; deallocator_t deallocator; SegManager *sm = s->seg_manager; diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 710c6b8a20..e4f0269843 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -172,8 +172,8 @@ void Menubar::saveLoadWithSerializer(Common::Serializer &s) { } void SegManager::saveLoadWithSerializer(Common::Serializer &s) { - int allocated_heap_size = heap_size; - s.syncAsSint32LE(heap_size); + uint allocated_heap_size = heap_size; + s.syncAsUint32LE(heap_size); s.syncAsSint32LE(reserved_id); s.syncAsSint32LE(exports_wide); s.syncAsSint32LE(gc_mark_bits); @@ -184,7 +184,7 @@ void SegManager::saveLoadWithSerializer(Common::Serializer &s) { assert(heap); if (allocated_heap_size != heap_size) heap = (MemObject**)sci_realloc((void *)heap, heap_size * sizeof(MemObject *)); - for (int i = 0; i < heap_size; ++i) + for (uint i = 0; i < heap_size; ++i) sync_MemObjPtr(s, heap[i]); s.syncAsSint32LE(Clones_seg_id); @@ -538,9 +538,7 @@ int gamestate_save(EngineState *s, Common::WriteStream *fh, const char* savename // FIXME: This should probably be turned into a SegManager method static SegmentId find_unique_seg_by_type(SegManager *self, int type) { - int i; - - for (i = 0; i < self->heap_size; i++) + for (uint i = 0; i < self->heap_size; i++) if (self->heap[i] && self->heap[i]->getType() == type) return i; @@ -614,7 +612,7 @@ static void load_script(EngineState *s, SegmentId seg) { // FIXME: The following should likely become a SegManager method static void reconstruct_scripts(EngineState *s, SegManager *self) { - int i; + uint i; MemObject *mobj; for (i = 0; i < self->heap_size; i++) { if (self->heap[i]) { @@ -694,7 +692,7 @@ static void reconstruct_scripts(EngineState *s, SegManager *self) { // FIXME: The following should likely become a SegManager method static void reconstruct_clones(EngineState *s, SegManager *self) { - int i; + uint i; MemObject *mobj; for (i = 0; i < self->heap_size; i++) { diff --git a/engines/sci/engine/scriptconsole.cpp b/engines/sci/engine/scriptconsole.cpp index b3e334cda9..b7d95fd063 100644 --- a/engines/sci/engine/scriptconsole.cpp +++ b/engines/sci/engine/scriptconsole.cpp @@ -281,7 +281,7 @@ int parse_reg_t(EngineState *s, const char *str, reg_t *dest) { // Returns 0 on const char *str_objname; char *str_suffix; char suffchar = 0; - int i; + uint i; // Parse obj by name tmp = (char *)strchr(str, '+'); diff --git a/engines/sci/engine/scriptdebug.cpp b/engines/sci/engine/scriptdebug.cpp index 07d65a6d99..d8cb4b4246 100644 --- a/engines/sci/engine/scriptdebug.cpp +++ b/engines/sci/engine/scriptdebug.cpp @@ -283,7 +283,7 @@ int c_sfx_01_track(EngineState *s) { const char *(*_debug_get_input)(void) = _debug_get_input_default; int c_segtable(EngineState *s) { - int i; + uint i; sciprintf(" ---- segment table ----\n"); for (i = 0; i < s->seg_manager->heap_size; i++) { @@ -668,12 +668,12 @@ static int c_mousepos(EngineState *s) { } int c_seginfo(EngineState *s) { - unsigned int i = 0; + uint i = 0; if (cmd_paramlength) { while (i < cmd_paramlength) { int nr = cmd_params[i++].val; - if (nr < 0 || nr >= s->seg_manager->heap_size || !s->seg_manager->heap[nr]) { + if (nr < 0 || (uint)nr >= s->seg_manager->heap_size || !s->seg_manager->heap[nr]) { sciprintf("Segment %04x does not exist\n", nr); return 1; } @@ -681,7 +681,7 @@ int c_seginfo(EngineState *s) { _c_single_seg_info(s, s->seg_manager->heap[nr]); } } else - for (i = 0; i < (unsigned int)s->seg_manager->heap_size; i++) { + for (i = 0; i < s->seg_manager->heap_size; i++) { if (s->seg_manager->heap[i]) { sciprintf("[%04x] ", i); _c_single_seg_info(s, s->seg_manager->heap[i]); diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp index e6899d6920..fff7a72b4e 100644 --- a/engines/sci/engine/seg_manager.cpp +++ b/engines/sci/engine/seg_manager.cpp @@ -75,8 +75,6 @@ MemObject *SegManager::allocNonscriptSegment(memObjType type, SegmentId *segid) } SegManager::SegManager(bool sci1_1) { - int i; - // Initialise memory count mem_allocated = 0; @@ -97,7 +95,7 @@ SegManager::SegManager(bool sci1_1) { isSci1_1 = sci1_1; // initialize the heap pointers - for (i = 0; i < heap_size; i++) { + for (uint i = 0; i < heap_size; i++) { heap[i] = NULL; } @@ -107,10 +105,8 @@ SegManager::SegManager(bool sci1_1) { // Destroy the object, free the memorys if allocated before SegManager::~SegManager() { - int i; - // Free memory - for (i = 0; i < heap_size; i++) { + for (uint i = 0; i < heap_size; i++) { if (heap[i]) deallocate(i, false); } @@ -347,11 +343,11 @@ MemObject *SegManager::memObjAllocate(SegmentId segid, int hash_id, memObjType t return NULL; } - if (segid >= heap_size) { + if (segid >= (int)heap_size) { void *temp; int oldhs = heap_size; - if (segid >= heap_size * 2) { + if (segid >= (int)heap_size * 2) { sciprintf("SegManager: hash_map error or others??"); return NULL; } @@ -443,7 +439,7 @@ int SegManager::segGet(int script_id) const { Script *SegManager::getScript(const int id, idFlag flag) { const int seg = (flag == SCRIPT_ID) ? segGet(id) : id; - if (seg < 0 || seg >= heap_size) { + if (seg < 0 || (uint)seg >= heap_size) { error("SegManager::getScript(%d,%d): seg id %x out of bounds", id, flag, seg); } if (!heap[seg]) { @@ -460,7 +456,7 @@ Script *SegManager::getScript(const int id, idFlag flag) { // false - invalid seg // true - valid seg bool SegManager::check(int seg) { - if (seg < 0 || seg >= heap_size) { + if (seg < 0 || (uint)seg >= heap_size) { return false; } if (!heap[seg]) { diff --git a/engines/sci/engine/seg_manager.h b/engines/sci/engine/seg_manager.h index 5477c0b2a4..45971ae96d 100644 --- a/engines/sci/engine/seg_manager.h +++ b/engines/sci/engine/seg_manager.h @@ -38,13 +38,13 @@ enum idFlag { SEG_ID }; -#define GET_SEGMENT(mgr, index, rtype) (((index) > 0 && (mgr).heap_size > index) ? \ +#define GET_SEGMENT(mgr, index, rtype) (((index) > 0 && (int)(mgr).heap_size > index) ? \ (((mgr).heap[index] && (mgr).heap[index]->getType() == rtype)? (mgr).heap[index] : NULL) : NULL) -#define GET_SEGMENT_ANY(mgr, index) (((index) > 0 && (mgr).heap_size > index) ? \ +#define GET_SEGMENT_ANY(mgr, index) (((index) > 0 && (int)(mgr).heap_size > index) ? \ (((mgr).heap[index])? (mgr).heap[index] : NULL) : NULL) -#define GET_OBJECT_SEGMENT(mgr, index) (((index) > 0 && (mgr).heap_size > index) ? \ +#define GET_OBJECT_SEGMENT(mgr, index) (((index) > 0 && (int)(mgr).heap_size > index) ? \ (((mgr).heap[index] && ((mgr).heap[index]->getType() == MEM_OBJ_SCRIPT || (mgr).heap[index]->getType() == MEM_OBJ_CLONES))? (mgr).heap[index] \ : NULL): NULL) @@ -389,7 +389,7 @@ private: IntMapper *id_seg_map; // id - script id; seg - index of heap public: // TODO: make private MemObject **heap; - int heap_size; // size of the heap + uint heap_size; // size of the heap int reserved_id; int exports_wide; bool isSci1_1; |