aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/gfx.cpp
diff options
context:
space:
mode:
authorAndrew Kurushin2010-10-24 22:17:44 +0000
committerAndrew Kurushin2010-10-24 22:17:44 +0000
commit67cc1b8a84e8cbc344e87fe0f4715cae96199b69 (patch)
treefddf53a8a74288676993025c5c1ad073982db740 /engines/saga/gfx.cpp
parent859c1c2c08c39262de6b6ba6e1169bb03d14353a (diff)
downloadscummvm-rg350-67cc1b8a84e8cbc344e87fe0f4715cae96199b69.tar.gz
scummvm-rg350-67cc1b8a84e8cbc344e87fe0f4715cae96199b69.tar.bz2
scummvm-rg350-67cc1b8a84e8cbc344e87fe0f4715cae96199b69.zip
SAGA: replace Resource:loadResource malloc with ByteArray class
svn-id: r53779
Diffstat (limited to 'engines/saga/gfx.cpp')
-rw-r--r--engines/saga/gfx.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/engines/saga/gfx.cpp b/engines/saga/gfx.cpp
index a06179634b..77842acc7b 100644
--- a/engines/saga/gfx.cpp
+++ b/engines/saga/gfx.cpp
@@ -173,13 +173,11 @@ void Gfx::initPalette() {
error("Resource::loadGlobalResources() resource context not found");
}
- byte *resourcePointer;
- size_t resourceLength;
+ ByteArray resourceData;
- _vm->_resource->loadResource(resourceContext, RID_IHNM_DEFAULT_PALETTE,
- resourcePointer, resourceLength);
+ _vm->_resource->loadResource(resourceContext, RID_IHNM_DEFAULT_PALETTE, resourceData);
- MemoryReadStream metaS(resourcePointer, resourceLength);
+ ByteArrayReadStreamEndian metaS(resourceData);
for (int i = 0; i < 256; i++) {
_globalPalette[i].red = metaS.readByte();
@@ -187,8 +185,6 @@ void Gfx::initPalette() {
_globalPalette[i].blue = metaS.readByte();
}
- free(resourcePointer);
-
setPalette(_globalPalette, true);
}
@@ -504,19 +500,17 @@ void Gfx::setCursor(CursorType cursorType) {
break;
}
- byte *resource;
- size_t resourceLength;
+ ByteArray resourceData;
ByteArray image;
int width, height;
if (resourceId != (uint32)-1) {
ResourceContext *context = _vm->_resource->getContext(GAME_RESOURCEFILE);
- _vm->_resource->loadResource(context, resourceId, resource, resourceLength);
+ _vm->_resource->loadResource(context, resourceId, resourceData);
- _vm->decodeBGImage(resource, resourceLength, image, &width, &height);
+ _vm->decodeBGImage(resourceData, image, &width, &height);
} else {
- resource = NULL;
width = height = 31;
image.resize(width * height);
@@ -530,8 +524,6 @@ void Gfx::setCursor(CursorType cursorType) {
// Note: Hard-coded hotspot
CursorMan.replaceCursor(image.getBuffer(), width, height, 15, 15, 0);
-
- free(resource);
}
}