diff options
author | Andrew Kurushin | 2005-06-08 19:01:19 +0000 |
---|---|---|
committer | Andrew Kurushin | 2005-06-08 19:01:19 +0000 |
commit | 411fd102b679cc916956d4ac93ae9e87e13082d4 (patch) | |
tree | aac78d0ddcc3babfe601c396c376a88db09a762d /saga/animation.cpp | |
parent | 8c82d94c4072b76b48cd5ec08aefddc7e2fce702 (diff) | |
download | scummvm-rg350-411fd102b679cc916956d4ac93ae9e87e13082d4.tar.gz scummvm-rg350-411fd102b679cc916956d4ac93ae9e87e13082d4.tar.bz2 scummvm-rg350-411fd102b679cc916956d4ac93ae9e87e13082d4.zip |
fix animation free bug
svn-id: r18367
Diffstat (limited to 'saga/animation.cpp')
-rw-r--r-- | saga/animation.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/saga/animation.cpp b/saga/animation.cpp index 963bb11faa..6bc97b5be7 100644 --- a/saga/animation.cpp +++ b/saga/animation.cpp @@ -333,12 +333,9 @@ int Anim::reset() { uint16 i; for (i = 0; i < MAX_ANIMATIONS; i++) { - freeId(i); } - _anim_count = 0; - return SUCCESS; } @@ -402,28 +399,21 @@ int16 Anim::getCurrentFrame(uint16 animId) { return _anim_tbl[animId]->current_frame; } -int Anim::freeId(uint16 anim_id) { +void Anim::freeId(uint16 animId) { ANIMATION *anim; - if (anim_id > _anim_count) { - return FAILURE; - } - - anim = _anim_tbl[anim_id]; + anim = _anim_tbl[animId]; if (anim == NULL) { - return FAILURE; + return; } if (_vm->getGameType() == GType_ITE) { free(anim->frame_offsets); - anim->frame_offsets = NULL; } free(anim); - _anim_tbl[anim_id] = NULL; + _anim_tbl[animId] = NULL; _anim_count--; - - return SUCCESS; } void Anim::readAnimHeader(MemoryReadStreamEndian &readS, ANIMATION_HEADER &ah) { |