[Scummvm-git-logs] scummvm master -> cd232d29e20c66b4dc4e5714f1e05899bd3cf09d
sev-
sev at scummvm.org
Mon Jul 13 09:45:07 UTC 2020
This automated email contains information about 7 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
6a4c458711 DIRECTOR: Properly initialize BitmapCastMember
937c108af6 DIRECTOR: Initialize DirectorPlotData on generation
067cf78344 DIRECTOR: Plug memory leak
cd9018113a DIRECTOR: Initialize DirectorPlotData in constructor
b08a4ef03f DIRECTOR: Fix undefined behaviour
24695be687 GRAPHICS: MACGUI: Added sanity check
cd232d29e2 DIRECTOR: LINGO: Optimize addNamesV4()
Commit: 6a4c458711f6d0e970533822a5770b620ce3bcbe
https://github.com/scummvm/scummvm/commit/6a4c458711f6d0e970533822a5770b620ce3bcbe
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-13T11:41:54+02:00
Commit Message:
DIRECTOR: Properly initialize BitmapCastMember
Changed paths:
engines/director/castmember.cpp
diff --git a/engines/director/castmember.cpp b/engines/director/castmember.cpp
index f2ca04fc23..894db3f2ce 100644
--- a/engines/director/castmember.cpp
+++ b/engines/director/castmember.cpp
@@ -57,6 +57,8 @@ BitmapCastMember::BitmapCastMember(Cast *cast, uint16 castId, Common::ReadStream
_flags1 = 0;
_flags2 = 0;
_regX = _regY = 0;
+ _clut = kClutSystemMac;
+ _bitsPerPixel = 0;
if (version < 4) {
_flags1 = stream.readByte(); // region: 0 - auto, 1 - matte, 2 - disabled, 8 - no auto
Commit: 937c108af6a37ebafe7928a87bcb3f54b13d911f
https://github.com/scummvm/scummvm/commit/937c108af6a37ebafe7928a87bcb3f54b13d911f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-13T11:41:54+02:00
Commit Message:
DIRECTOR: Initialize DirectorPlotData on generation
Changed paths:
engines/director/channel.cpp
diff --git a/engines/director/channel.cpp b/engines/director/channel.cpp
index 6adf709edd..878001792b 100644
--- a/engines/director/channel.cpp
+++ b/engines/director/channel.cpp
@@ -50,6 +50,7 @@ DirectorPlotData Channel::getPlotData() {
DirectorPlotData pd(g_director->_wm, _sprite->_spriteType, _sprite->_ink, getBackColor(), getForeColor());
pd.colorWhite = pd._wm->_colorWhite;
pd.colorBlack = pd._wm->_colorBlack;
+ pd.dst = nullptr;
pd.srf = getSurface();
if (!pd.srf) {
Commit: 067cf7834464e780a721bfc4d7d5a9aedc90ac60
https://github.com/scummvm/scummvm/commit/067cf7834464e780a721bfc4d7d5a9aedc90ac60
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-13T11:41:54+02:00
Commit Message:
DIRECTOR: Plug memory leak
Changed paths:
engines/director/director.cpp
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 58340a5eb9..cf1c8971a5 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -112,6 +112,7 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
}
DirectorEngine::~DirectorEngine() {
+ delete _windowList;
delete _soundManager;
delete _lingo;
delete _wm;
Commit: cd9018113ad59b94f219271da98348edd7c4cb5d
https://github.com/scummvm/scummvm/commit/cd9018113ad59b94f219271da98348edd7c4cb5d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-13T11:41:54+02:00
Commit Message:
DIRECTOR: Initialize DirectorPlotData in constructor
Changed paths:
engines/director/director.h
diff --git a/engines/director/director.h b/engines/director/director.h
index 244179d613..e72d5dcc29 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -135,6 +135,10 @@ struct DirectorPlotData {
DirectorPlotData(Graphics::MacWindowManager *w, SpriteType s,InkType i, uint b, uint f) : _wm(w), sprite(s), ink(i), backColor(b), foreColor(f) {
srf = nullptr;
ms = nullptr;
+ dst = nullptr;
+ colorWhite = 255;
+ colorBlack = 0;
+ applyColor = false;
}
~DirectorPlotData() {
Commit: b08a4ef03f33aaf97ce5371c8e71fcc75195674f
https://github.com/scummvm/scummvm/commit/b08a4ef03f33aaf97ce5371c8e71fcc75195674f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-13T11:41:54+02:00
Commit Message:
DIRECTOR: Fix undefined behaviour
Changed paths:
engines/director/util.cpp
diff --git a/engines/director/util.cpp b/engines/director/util.cpp
index 84b28d79ca..e45af11c10 100644
--- a/engines/director/util.cpp
+++ b/engines/director/util.cpp
@@ -565,11 +565,14 @@ static const uint32 masks[31] = {
};
void RandomState::init(int len) {
- if (len < 2 || len > 32)
+ if (len < 2 || len > 32) {
len = 32;
+ _len = (uint32)-1; // Since we cannot shift 32 bits
+ } else {
+ _len = (1 << len) - 1;
+ }
_seed = 1;
- _len = (1 << len) - 1;
_mask = masks[len - 2];
}
Commit: 24695be6877e47307c5fb25b4a0d29e6a153a4e4
https://github.com/scummvm/scummvm/commit/24695be6877e47307c5fb25b4a0d29e6a153a4e4
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-13T11:41:54+02:00
Commit Message:
GRAPHICS: MACGUI: Added sanity check
Changed paths:
graphics/macgui/macwindowmanager.cpp
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index abf544f944..d5f69646b0 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -424,7 +424,7 @@ void MacWindowManager::draw() {
continue;
bool forceRedraw = _fullRefresh;
- if (!forceRedraw) {
+ if (!forceRedraw && dirtyRects.size()) {
for (Common::Array<Common::Rect>::iterator dirty = dirtyRects.begin(); dirty != dirtyRects.end(); dirty++) {
if (clip.intersects(*dirty)) {
forceRedraw = true;
Commit: cd232d29e20c66b4dc4e5714f1e05899bd3cf09d
https://github.com/scummvm/scummvm/commit/cd232d29e20c66b4dc4e5714f1e05899bd3cf09d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-13T11:44:06+02:00
Commit Message:
DIRECTOR: LINGO: Optimize addNamesV4()
Changed paths:
engines/director/lingo/lingo-bytecode.cpp
diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index e59a70e508..85ef341242 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -1396,7 +1396,7 @@ ScriptContext *Lingo::compileLingoV4(Common::SeekableSubReadStreamEndian &stream
}
// Attach to handlers
-
+
Common::String functionName;
if (0 <= nameIndex && nameIndex < (int16)archive->names.size()) {
functionName = archive->names[nameIndex];
@@ -1492,11 +1492,8 @@ void LingoArchive::addNamesV4(Common::SeekableSubReadStreamEndian &stream) {
names.clear();
for (uint32 i = 0; i < count; i++) {
- uint8 size = stream.readByte();
- Common::String name;
- for (uint8 j = 0; j < size; j++) {
- name += stream.readByte();
- }
+ Common::String name = stream.readPascalString();
+
names.push_back(name);
debugC(5, kDebugLoading, "%d: \"%s\"", i, name.c_str());
}
More information about the Scummvm-git-logs
mailing list