aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/resource_res.cpp
diff options
context:
space:
mode:
authorAndrew Kurushin2010-10-22 23:13:17 +0000
committerAndrew Kurushin2010-10-22 23:13:17 +0000
commitf24394b85f5d34815659c50cd956c262f4b79d68 (patch)
tree8c93e3f052133b154b1686e00b4066b3967f0c02 /engines/saga/resource_res.cpp
parentb8ff3eb4913dd22bc75ae360baadadd95151077f (diff)
downloadscummvm-rg350-f24394b85f5d34815659c50cd956c262f4b79d68.tar.gz
scummvm-rg350-f24394b85f5d34815659c50cd956c262f4b79d68.tar.bz2
scummvm-rg350-f24394b85f5d34815659c50cd956c262f4b79d68.zip
SAGA: replace Actor::_pathCell, Anim::*, Converse::text, IsoMap::*, Music::_songTable, ObjectMap::*, PalAnim::*, Scene::sceneLut, SndRes::_fxTable* malloc based arrays with Common::Array implementation
add ByteArray type fix debug Tile Hittest frame drawing debug 0x%x => 0x%X svn-id: r53719
Diffstat (limited to 'engines/saga/resource_res.cpp')
-rw-r--r--engines/saga/resource_res.cpp20
1 files changed, 7 insertions, 13 deletions
diff --git a/engines/saga/resource_res.cpp b/engines/saga/resource_res.cpp
index 7e3e4e5b25..343f3b2ae2 100644
--- a/engines/saga/resource_res.cpp
+++ b/engines/saga/resource_res.cpp
@@ -54,7 +54,7 @@ void Resource_RES::loadGlobalResources(int chapter, int actorsEntrance) {
ResourceContext *resourceContext;
ResourceContext *soundContext;
- int i;
+ uint i;
resourceContext = _vm->_resource->getContext(GAME_RESOURCEFILE);
if (resourceContext == NULL) {
@@ -114,7 +114,7 @@ void Resource_RES::loadGlobalResources(int chapter, int actorsEntrance) {
_vm->loadStrings(_vm->_actor->_objectsStrings, resourcePointer, resourceLength);
free(resourcePointer);
- if (chapter >= _vm->_sndRes->_fxTableIDsLen) {
+ if (uint(chapter) >= _vm->_sndRes->_fxTableIDs.size()) {
error("Chapter ID exceeds fxTableIDs length");
}
@@ -126,14 +126,11 @@ void Resource_RES::loadGlobalResources(int chapter, int actorsEntrance) {
error("Resource::loadGlobalResources Can't load sound effects for current track");
}
- free(_vm->_sndRes->_fxTable);
-
- _vm->_sndRes->_fxTableLen = resourceLength / 4;
- _vm->_sndRes->_fxTable = (FxTable *)malloc(sizeof(FxTable) * _vm->_sndRes->_fxTableLen);
-
+ _vm->_sndRes->_fxTable.resize(resourceLength / 4);
+
MemoryReadStream fxS(resourcePointer, resourceLength);
- for (i = 0; i < _vm->_sndRes->_fxTableLen; i++) {
+ for (i = 0; i < _vm->_sndRes->_fxTable.size(); i++) {
_vm->_sndRes->_fxTable[i].res = fxS.readSint16LE();
_vm->_sndRes->_fxTable[i].vol = fxS.readSint16LE();
}
@@ -177,14 +174,11 @@ void Resource_RES::loadGlobalResources(int chapter, int actorsEntrance) {
error("Resource::loadGlobalResources Can't load songs list for current track");
}
- free(_vm->_music->_songTable);
-
- _vm->_music->_songTableLen = resourceLength / 4;
- _vm->_music->_songTable = (int32 *)malloc(sizeof(int32) * _vm->_music->_songTableLen);
+ _vm->_music->_songTable.resize(resourceLength / 4);
MemoryReadStream songS(resourcePointer, resourceLength);
- for (i = 0; i < _vm->_music->_songTableLen; i++)
+ for (i = 0; i < _vm->_music->_songTable.size(); i++)
_vm->_music->_songTable[i] = songS.readSint32LE();
free(resourcePointer);
} else {