aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parallaction.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2007-03-18 10:25:46 +0000
committerNicola Mettifogo2007-03-18 10:25:46 +0000
commitec58e9ac05cb887c3c2e0c8c9d98d3300fb4ad86 (patch)
treee5464c5a9c541d5f545a89f657013cd0ffe2f75b /engines/parallaction/parallaction.cpp
parent35cebe2444257f1cc9e5c6a13cba54cef3542732 (diff)
downloadscummvm-rg350-ec58e9ac05cb887c3c2e0c8c9d98d3300fb4ad86.tar.gz
scummvm-rg350-ec58e9ac05cb887c3c2e0c8c9d98d3300fb4ad86.tar.bz2
scummvm-rg350-ec58e9ac05cb887c3c2e0c8c9d98d3300fb4ad86.zip
Made loadHead return a new Cnv instead of accepting a parameter.
svn-id: r26200
Diffstat (limited to 'engines/parallaction/parallaction.cpp')
-rw-r--r--engines/parallaction/parallaction.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp
index 80da5e730c..41a0e2eddb 100644
--- a/engines/parallaction/parallaction.cpp
+++ b/engines/parallaction/parallaction.cpp
@@ -725,10 +725,13 @@ void freeCharacter() {
if (!IS_DUMMY_CHARACTER(_vm->_characterName)) {
_vm->_gfx->freeCnv(&_vm->_char._miniFrames);
_vm->freeTable(_objectsNames);
+
_vm->_gfx->freeCnv(_vm->_char._talk);
if (_vm->_char._talk) delete _vm->_char._talk;
- _vm->_gfx->freeStaticCnv(&_vm->_char._head);
+ _vm->_gfx->freeStaticCnv(_vm->_char._head);
+ if (_vm->_char._head) delete _vm->_char._head;
+
_vm->_gfx->freeCnv(&_vm->_char._objs);
}
@@ -806,7 +809,7 @@ void Parallaction::changeCharacter(const char *name) {
_disk->loadFrames(path, &_vm->_char._normalFrames);
if (!IS_DUMMY_CHARACTER(name)) {
- _disk->loadHead(path, &_vm->_char._head);
+ _vm->_char._head = _disk->loadHead(path);
_vm->_char._talk = _disk->loadTalk(path);
_disk->loadObjects(name, &_vm->_char._objs);