diff options
author | Bastien Bouclet | 2016-02-06 12:57:03 +0100 |
---|---|---|
committer | Bastien Bouclet | 2016-02-07 15:27:03 +0100 |
commit | 085f3700f7cd6ddb23abe3719ca21b7025695da4 (patch) | |
tree | aaee4b1035a9add41cb9f88bf3aa6cd705b46aec /engines/mohawk/myst_areas.cpp | |
parent | 0c8d8bbd40e4806e1b63196e283bcbff21431080 (diff) | |
download | scummvm-rg350-085f3700f7cd6ddb23abe3719ca21b7025695da4.tar.gz scummvm-rg350-085f3700f7cd6ddb23abe3719ca21b7025695da4.tar.bz2 scummvm-rg350-085f3700f7cd6ddb23abe3719ca21b7025695da4.zip |
MOHAWK: Make MystResourceType8::_subImages private
Diffstat (limited to 'engines/mohawk/myst_areas.cpp')
-rw-r--r-- | engines/mohawk/myst_areas.cpp | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/engines/mohawk/myst_areas.cpp b/engines/mohawk/myst_areas.cpp index 2221ef1165..45840bc4ed 100644 --- a/engines/mohawk/myst_areas.cpp +++ b/engines/mohawk/myst_areas.cpp @@ -369,37 +369,37 @@ MystResourceType8::MystResourceType8(MohawkEngine_Myst *vm, Common::SeekableRead debugC(kDebugResource, "\tvar8: %d", _var8); debugC(kDebugResource, "\tnumSubImages: %d", _numSubImages); - _subImages = new MystResourceType8::SubImage[_numSubImages]; - for (uint16 i = 0; i < _numSubImages; i++) { debugC(kDebugResource, "\tSubimage %d:", i); - _subImages[i].wdib = rlstStream->readUint16LE(); - _subImages[i].rect.left = rlstStream->readSint16LE(); + SubImage subImage; + subImage.wdib = rlstStream->readUint16LE(); + subImage.rect.left = rlstStream->readSint16LE(); - if (_subImages[i].rect.left != -1) { - _subImages[i].rect.top = rlstStream->readSint16LE(); - _subImages[i].rect.right = rlstStream->readSint16LE(); - _subImages[i].rect.bottom = rlstStream->readSint16LE(); + if (subImage.rect.left != -1) { + subImage.rect.top = rlstStream->readSint16LE(); + subImage.rect.right = rlstStream->readSint16LE(); + subImage.rect.bottom = rlstStream->readSint16LE(); } else { // Use the hotspot rect as the source rect since the subimage is fullscreen // Convert to bitmap coordinates (upside down) - _subImages[i].rect.left = _rect.left; - _subImages[i].rect.top = 333 - _rect.bottom; - _subImages[i].rect.right = _rect.right; - _subImages[i].rect.bottom = 333 - _rect.top; + subImage.rect.left = _rect.left; + subImage.rect.top = 333 - _rect.bottom; + subImage.rect.right = _rect.right; + subImage.rect.bottom = 333 - _rect.top; } - debugC(kDebugResource, "\twdib: %d", _subImages[i].wdib); - debugC(kDebugResource, "\tleft: %d", _subImages[i].rect.left); - debugC(kDebugResource, "\ttop: %d", _subImages[i].rect.top); - debugC(kDebugResource, "\tright: %d", _subImages[i].rect.right); - debugC(kDebugResource, "\tbottom: %d", _subImages[i].rect.bottom); + debugC(kDebugResource, "\twdib: %d", subImage.wdib); + debugC(kDebugResource, "\tleft: %d", subImage.rect.left); + debugC(kDebugResource, "\ttop: %d", subImage.rect.top); + debugC(kDebugResource, "\tright: %d", subImage.rect.right); + debugC(kDebugResource, "\tbottom: %d", subImage.rect.bottom); + + _subImages.push_back(subImage); } } MystResourceType8::~MystResourceType8() { - delete[] _subImages; } void MystResourceType8::drawDataToScreen() { @@ -480,6 +480,14 @@ uint16 MystResourceType8::getType8Var() { return _var8; } +MystResourceType8::SubImage MystResourceType8::getSubImage(uint index) const { + return _subImages[index]; +} + +void MystResourceType8::setSubImageRect(uint index, const Common::Rect &rect) { + _subImages[index].rect = rect; +} + const Common::String MystResourceType8::describe() { Common::String desc = Common::String::format("%s var: %2d", MystResourceType7::describe().c_str(), _var8); |