[Scummvm-cvs-logs] scummvm master -> 551048118cca489eab17e71025c29fbd56ff7b82
sev-
sev at scummvm.org
Sat Aug 6 21:37:21 CEST 2016
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
29faa28264 DIRECTOR: Change sprite type
b7f66e0c50 DIRECTOR: Debug output for Mac resource
551048118c DIRECTOR: Fix some image rendering seg faults
Commit: 29faa282640a558efe22f2b0d1da444e19d604fe
https://github.com/scummvm/scummvm/commit/29faa282640a558efe22f2b0d1da444e19d604fe
Author: Dmitry Iskrich (zebster26 at mail.ru)
Date: 2016-08-06T21:36:07+02:00
Commit Message:
DIRECTOR: Change sprite type
Changed paths:
engines/director/lingo/lingo-the.cpp
engines/director/score.cpp
engines/director/score.h
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 2aedf32..3f4f9cc 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -271,7 +271,7 @@ void Lingo::setTheSprite(Datum &id1, int field, Datum &d) {
sprite->_visible = (d.u.i == 0 ? false : true);
break;
case kTheType:
- sprite->_type = d.u.i;
+ sprite->_type = static_cast<SpriteType>(d.u.i);
break;
case kTheMovieRate:
sprite->_movieRate = d.u.i;
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 161bc86..9b42f6e 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -1584,7 +1584,7 @@ Sprite::Sprite() {
_stopTime = 0;
_volume = 0;
_stretch = 0;
- _type = 0;
+ _type = kInactiveSprite;
}
Sprite::Sprite(const Sprite &sprite) {
diff --git a/engines/director/score.h b/engines/director/score.h
index d483afa..a7ca59b 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -315,7 +315,7 @@ public:
uint16 _bottom;
byte _blend;
bool _visible;
- byte _type;
+ SpriteType _type;
//Using in digital movie sprites
byte _movieRate;
uint16 _movieTime;
Commit: b7f66e0c504a51c1dcf5b31888d3e7ddeb957af5
https://github.com/scummvm/scummvm/commit/b7f66e0c504a51c1dcf5b31888d3e7ddeb957af5
Author: Dmitry Iskrich (zebster26 at mail.ru)
Date: 2016-08-06T21:36:11+02:00
Commit Message:
DIRECTOR: Debug output for Mac resource
Changed paths:
engines/director/resource.cpp
diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp
index 5a2c4bc..fdb0712 100644
--- a/engines/director/resource.cpp
+++ b/engines/director/resource.cpp
@@ -200,10 +200,10 @@ bool MacArchive::openFile(const Common::String &fileName) {
res.offset = res.size = 0; // unused
res.name = _resFork->getResName(tagArray[i], idArray[j]);
+ debug(3, "Found MacArchive resource '%s' %d: %s", tag2str(tagArray[i]), idArray[j], res.name.c_str());
}
}
-
return true;
}
Commit: 551048118cca489eab17e71025c29fbd56ff7b82
https://github.com/scummvm/scummvm/commit/551048118cca489eab17e71025c29fbd56ff7b82
Author: Dmitry Iskrich (zebster26 at mail.ru)
Date: 2016-08-06T21:36:14+02:00
Commit Message:
DIRECTOR: Fix some image rendering seg faults
Changed paths:
engines/director/score.cpp
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 9b42f6e..9fedb06 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -1263,6 +1263,14 @@ void Frame::renderSprites(Graphics::ManagedSurface &surface, bool renderTrail) {
continue;
}
+ if (!img->getSurface()) {
+ //TODO
+ //BMPDecoder doesnt cover all BITD resources (not all have first two bytes 'BM')
+ //Some BITD's first two bytes 0x6 0x0
+ warning("Can not load image %d", _sprites[i]->_castId);
+ continue;
+ }
+
uint32 regX = static_cast<BitmapCast *>(_sprites[i]->_cast)->regX;
uint32 regY = static_cast<BitmapCast *>(_sprites[i]->_cast)->regY;
uint32 rectLeft = static_cast<BitmapCast *>(_sprites[i]->_cast)->initialRect.left;
@@ -1339,7 +1347,7 @@ Image::ImageDecoder *Frame::getImageFrom(uint16 spriteId) {
return img;
}
- if (_vm->getSharedDIB()->contains(imgId)) {
+ if (_vm->getSharedDIB() != NULL && _vm->getSharedDIB()->contains(imgId)) {
img = new DIBDecoder();
img->loadStream(*_vm->getSharedDIB()->getVal(imgId));
return img;
@@ -1351,7 +1359,7 @@ Image::ImageDecoder *Frame::getImageFrom(uint16 spriteId) {
return img;
}
- if (_vm->getSharedBMP()->contains(imgId)) {
+ if (_vm->getSharedBMP() != NULL && _vm->getSharedBMP()->contains(imgId)) {
img = new Image::BitmapDecoder();
img->loadStream(*_vm->getSharedBMP()->getVal(imgId));
return img;
More information about the Scummvm-git-logs
mailing list