[Scummvm-cvs-logs] scummvm master -> a4c5e140e20a9dd1f23ca19c7449395726b7ec3b

bluegr bluegr at gmail.com
Fri Dec 19 12:35:10 CET 2014


This automated email contains information about 53 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
f4fe0b008f ZVISION: Delete unused code
30212e4579 ZVISION: Fix array compared against 0 (CID 1109648)
d96834020c ZVISION: Fix uninitialized scalar field (CID 1109669)
76335d4a81 ZVISION: Fix uninitialized pointer field (CID 1109672)
b10f66438f ZVISION: Fix uninitialized scalar field (CID 1109675)
c50024fd86 ZVISION: Fix uninitialized pointer field (CID 1109699)
74ea583a4e ZVISION: Fix uninitialized scalar field (CID 1109700)
5a08792780 ZVISION: Fix uninitialized scalar field (CID 1125218)
cd2fc20768 ZVISION: Fix uninitialized scalar field (CID 1257061)
deea4ef62c ZVISION: Fix uninitialized scalar field (CID 1257055)
8c896f5da4 ZVISION: Fix uninitialized scalar field (CID 1257056)
f9946b726f ZVISION: Fix uninitialized scalar field (CID 1257057)
cd2612a54e ZVISION: Fix uninitialized scalar field (CID 1257058)
e28f8a5d8f ZVISION: Fix uninitialized scalar field (CID 1257059)
fe56e7d02b ZVISION: Fix uninitialized scalar field (CID 1257060)
56f7be8ab6 ZVISION: Fix uninitialized scalar field (CID 1257054)
f8c1b1eb28 ZVISION: Fix uninitialized scalar field (CID 1257062)
36af1ff5b1 ZVISION: Fix uninitialized scalar field (CID 1257063)
044f252154 ZVISION: Fix uninitialized scalar field (CID 1257064)
efb9355223 ZVISION: Fix uninitialized scalar field (CID 1257065)
b96c581881 ZVISION: Fix uninitialized scalar field (CID 1257066)
3b83e82e6f ZVISION: Fix uninitialized scalar field (CID 1257067)
dae76a76c7 ZVISION: Fix uninitialized scalar field (CID 1257068)
9c2782a680 ZVISION: Fix uninitialized scalar field (CID 1257069)
ea2ad625ff ZVISION: Fix uninitialized scalar field (CID 1257070)
8278ed6022 ZVISION: Fix uninitialized scalar field (CID 1257071)
704a4b3400 ZVISION: Fix uninitialized scalar field (CID 1257072)
edf3528497 ZVISION: Fix uninitialized scalar field (CID 1257073)
897ecc190f ZVISION: Fix uninitialized scalar field (CID 1257074)
7055ee7755 ZVISION: Fix uninitialized scalar field (CID 1257075)
fb0872e40b ZVISION: Fix uninitialized scalar field (CID 1257076)
ea3ddd148f ZVISION: Fix uninitialized scalar field (CID 1257077)
1078d0c193 ZVISION: Fix uninitialized scalar field (CID 1257079)
abf37ebbf3 ZVISION: Fix uninitialized scalar field (CID 1257080)
ed66fbefdf ZVISION: Fix uninitialized scalar field (CID 1257081)
5db4e02f9a ZVISION: Fix uninitialized scalar field (CID 1257082)
d6e3cea087 ZVISION: Fix uninitialized scalar field (CID 1257083)
7e3c270e49 ZVISION: Fix uninitialized scalar field (CID 1257084)
7a0b5982b1 ZVISION: Fix uninitialized scalar field (CID 1257085)
7609b6d866 ZVISION: Fix uninitialized scalar field (CID 1257086)
2cb541c651 ZVISION: Fix uninitialized scalar field (CID 1257087)
c8f8da0308 ZVISION: Fix uninitialized scalar field (CID 1257088)
e934ffdd5e ZVISION: Fix uninitialized scalar field (CID 1257089)
617623e9bf ZVISION: Fix unchecked return value (CID 1257090)
169bed1e5e ZVISION: Fix dereference after null check (CID 1257091)
ee7ba1bbaf ZVISION: Fix zork raw soundParams handling
6c5c1828e1 ZVISION: Fix unchecked return value (CID 1257092)
6d1fcdbdbd ZVISION: Fix copy into fixed size buffer (CID 1257093)
3806aa4418 ZVISION: Fix explicit null dereferenced (CID 1257094)
fafbd425dc ZVISION: Fix copy into fixed size buffer (CID 1257095)
79f75059de ZVISION: Fix copy into fixed size buffer (CID 1257096)
5fb33ee5e7 ZVISION: Fix unchecked return value (CID 1257098)
a4c5e140e2 Merge pull request #549 from Marisa-Chan/master


Commit: f4fe0b008fa564a59dddfc59af9385fd3cd958d0
    https://github.com/scummvm/scummvm/commit/f4fe0b008fa564a59dddfc59af9385fd3cd958d0
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T10:46:43+06:00

Commit Message:
ZVISION: Delete unused code

Changed paths:
    engines/zvision/graphics/truetype_font.cpp
    engines/zvision/graphics/truetype_font.h
    engines/zvision/text/string_manager.cpp
    engines/zvision/text/string_manager.h
    engines/zvision/text/text.h



diff --git a/engines/zvision/graphics/truetype_font.cpp b/engines/zvision/graphics/truetype_font.cpp
index 1a0e920..2dbd7ca 100644
--- a/engines/zvision/graphics/truetype_font.cpp
+++ b/engines/zvision/graphics/truetype_font.cpp
@@ -36,82 +36,6 @@
 
 namespace ZVision {
 
-TruetypeFont::TruetypeFont(ZVision *engine, int32 fontHeight)
-	: _engine(engine),
-	  _fontHeight(fontHeight),
-	  _font(0),
-	  _lineHeight(0),
-	  _maxCharWidth(0),
-	  _maxCharHeight(0) {
-}
-
-TruetypeFont::~TruetypeFont(void) {
-	delete _font;
-}
-
-bool TruetypeFont::loadFile(const Common::String &filename) {
-	Common::File file;
-
-	bool fileOpened = false;
-	if (!Common::File::exists(filename)) {
-		debug("TTF font file %s was not found. Reverting to arial.ttf", filename.c_str());
-		fileOpened = file.open("arial.ttf");
-	} else {
-		fileOpened = file.open(filename);
-	}
-
-	if (!fileOpened) {
-		debug("TTF file could not be opened");
-		return false;
-	}
-
-	_font = Graphics::loadTTFFont(file, _fontHeight);
-	_lineHeight = _font->getFontHeight();
-
-	return true;
-}
-
-Graphics::Surface *TruetypeFont::drawTextToSurface(const Common::String &text, uint16 textColor, int maxWidth, int maxHeight, Graphics::TextAlign align, bool wrap) {
-	if (text.equals("")) {
-		return nullptr;
-	}
-
-	Graphics::Surface *surface = new Graphics::Surface();
-
-	if (!wrap) {
-		int width = MIN(_font->getStringWidth(text), maxWidth);
-		surface->create(width, _lineHeight, Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0));
-		// TODO: Add better alpha support by getting the pixels from the backbuffer.
-		// However doing that requires some kind of caching system so future text doesn't try to use this text as it's alpha background.
-		surface->fillRect(Common::Rect(0, 0, surface->w, surface->h), 0);
-
-		_font->drawString(surface, text, 0, 0, maxWidth, textColor, align);
-		return surface;
-	}
-
-	Common::Array<Common::String> lines;
-	_font->wordWrapText(text, maxWidth, lines);
-
-	while (maxHeight > 0 && (int)lines.size() * _lineHeight > maxHeight) {
-		lines.pop_back();
-	}
-	if (lines.size() == 0) {
-		delete surface;
-		return nullptr;
-	}
-
-	surface->create(maxWidth, lines.size() * _lineHeight, Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0));
-	surface->fillRect(Common::Rect(0, 0, surface->w, surface->h), 0);
-
-	int heightOffset = 0;
-	for (Common::Array<Common::String>::iterator it = lines.begin(); it != lines.end(); it++) {
-		_font->drawString(surface, *it, 0, 0 + heightOffset, maxWidth, textColor, align);
-		heightOffset += _lineHeight;
-	}
-
-	return surface;
-}
-
 StyledTTFont::StyledTTFont(ZVision *engine) {
 	_engine = engine;
 	_style = 0;
diff --git a/engines/zvision/graphics/truetype_font.h b/engines/zvision/graphics/truetype_font.h
index 30ef1c7..b5fac4a 100644
--- a/engines/zvision/graphics/truetype_font.h
+++ b/engines/zvision/graphics/truetype_font.h
@@ -36,45 +36,6 @@ namespace ZVision {
 
 class ZVision;
 
-class TruetypeFont {
-public:
-	TruetypeFont(ZVision *engine, int32 fontHeight);
-	~TruetypeFont();
-
-private:
-	ZVision *_engine;
-	Graphics::Font *_font;
-	int _lineHeight;
-
-	size_t _maxCharWidth;
-	size_t _maxCharHeight;
-
-public:
-	int32 _fontHeight;
-
-public:
-	/**
-	 * Loads a .ttf file into memory. This must be called
-	 * before any calls to drawTextToSurface
-	 *
-	 * @param filename    The file name of the .ttf file to load
-	 */
-	bool loadFile(const Common::String &filename);
-	/**
-	 * Renders the supplied text to a Surface using 0x0 as the
-	 * background color.
-	 *
-	 * @param text         The to render
-	 * @param textColor    The color to render the text with
-	 * @param maxWidth     The max width the text should take up.
-	 * @param maxHeight    The max height the text should take up.
-	 * @param align        The alignment of the text within the bounds of maxWidth
-	 * @param wrap         If true, any words extending past maxWidth will wrap to a new line. If false, ellipses will be rendered to show that the text didn't fit
-	 * @return             A Surface containing the rendered text
-	 */
-	Graphics::Surface *drawTextToSurface(const Common::String &text, uint16 textColor, int maxWidth, int maxHeight, Graphics::TextAlign align, bool wrap);
-};
-
 // Styled TTF
 class StyledTTFont {
 public:
diff --git a/engines/zvision/text/string_manager.cpp b/engines/zvision/text/string_manager.cpp
index d275bc8..ec10b62 100644
--- a/engines/zvision/text/string_manager.cpp
+++ b/engines/zvision/text/string_manager.cpp
@@ -30,7 +30,7 @@
 #include "zvision/zvision.h"
 #include "zvision/file/search_manager.h"
 #include "zvision/text/string_manager.h"
-#include "zvision/graphics/truetype_font.h"
+#include "zvision/text/text.h"
 
 namespace ZVision {
 
@@ -39,9 +39,7 @@ StringManager::StringManager(ZVision *engine)
 }
 
 StringManager::~StringManager() {
-	for (Common::HashMap<Common::String, TruetypeFont *>::iterator iter = _fonts.begin(); iter != _fonts.end(); ++iter) {
-		delete iter->_value;
-	}
+
 }
 
 void StringManager::initialize(ZVisionGameId gameId) {
@@ -69,202 +67,6 @@ void StringManager::loadStrFile(const Common::String &fileName) {
 	}
 }
 
-void StringManager::parseStrFile(const Common::String &fileName) {
-	Common::File file;
-	if (!file.open(fileName)) {
-		warning("%s does not exist. String parsing failed", fileName.c_str());
-		return;
-	}
-
-	uint lineNumber = 0;
-	while (!file.eos()) {
-		_lastStyle.align = Graphics::kTextAlignLeft;
-		_lastStyle.color = 0;
-		_lastStyle.font = nullptr;
-
-		Common::String asciiLine = readWideLine(file);
-		if (asciiLine.empty()) {
-			continue;
-		}
-
-		char tagString[150];
-		uint tagStringCursor = 0;
-		char textString[150];
-		uint textStringCursor = 0;
-		bool inTag = false;
-
-		for (uint i = 0; i < asciiLine.size(); ++i) {
-			switch (asciiLine[i]) {
-			case '<':
-				inTag = true;
-				if (!_inGameText[lineNumber].fragments.empty()) {
-					_inGameText[lineNumber].fragments.back().text = Common::String(textString, textStringCursor);
-					textStringCursor = 0;
-				}
-				break;
-			case '>':
-				inTag = false;
-				parseTag(Common::String(tagString, tagStringCursor), lineNumber);
-				tagStringCursor = 0;
-				break;
-			default:
-				if (inTag) {
-					tagString[tagStringCursor] = asciiLine[i];
-					tagStringCursor++;
-				} else {
-					textString[textStringCursor] = asciiLine[i];
-					textStringCursor++;
-				}
-				break;
-			}
-		}
-
-		if (textStringCursor > 0) {
-			_inGameText[lineNumber].fragments.back().text = Common::String(textString, textStringCursor);
-		}
-
-		lineNumber++;
-		assert(lineNumber <= NUM_TEXT_LINES);
-	}
-}
-
-void StringManager::parseTag(const Common::String &tagString, uint lineNumber) {
-	Common::StringTokenizer tokenizer(tagString);
-
-	Common::String token = tokenizer.nextToken();
-
-	Common::String fontName;
-	bool bold = false;
-	Graphics::TextAlign align = _lastStyle.align;
-	int point = _lastStyle.font != nullptr ? _lastStyle.font->_fontHeight : 12;
-	int red = 0;
-	int green = 0;
-	int blue = 0;
-
-	while (!token.empty()) {
-		if (token.matchString("font", true)) {
-			fontName = tokenizer.nextToken();
-		} else if (token.matchString("bold", true)) {
-			token = tokenizer.nextToken();
-			if (token.matchString("on", false)) {
-				bold = true;
-			}
-		} else if (token.matchString("justify", true)) {
-			token = tokenizer.nextToken();
-			if (token.matchString("center", false)) {
-				align = Graphics::kTextAlignCenter;
-			} else if (token.matchString("right", false)) {
-				align = Graphics::kTextAlignRight;
-			}
-		} else if (token.matchString("point", true)) {
-			point = atoi(tokenizer.nextToken().c_str());
-		} else if (token.matchString("red", true)) {
-			red = atoi(tokenizer.nextToken().c_str());
-		} else if (token.matchString("green", true)) {
-			green = atoi(tokenizer.nextToken().c_str());
-		} else if (token.matchString("blue", true)) {
-			blue = atoi(tokenizer.nextToken().c_str());
-		}
-
-		token = tokenizer.nextToken();
-	}
-
-	TextFragment fragment;
-
-	if (fontName.empty()) {
-		fragment.style.font = _lastStyle.font;
-	} else {
-		Common::String newFontName;
-		if (fontName.matchString("*times new roman*", true)) {
-			if (bold) {
-				newFontName = "timesbd.ttf";
-			} else {
-				newFontName = "times.ttf";
-			}
-		} else if (fontName.matchString("*courier new*", true)) {
-			if (bold) {
-				newFontName = "courbd.ttf";
-			} else {
-				newFontName = "cour.ttf";
-			}
-		} else if (fontName.matchString("*century schoolbook*", true)) {
-			if (bold) {
-				newFontName = "censcbkbd.ttf";
-			} else {
-				newFontName = "censcbk.ttf";
-			}
-		} else if (fontName.matchString("*garamond*", true)) {
-			if (bold) {
-				newFontName = "garabd.ttf";
-			} else {
-				newFontName = "gara.ttf";
-			}
-		} else {
-			debug("Could not identify font: %s. Reverting to Arial", fontName.c_str());
-			if (bold) {
-				newFontName = "zorknorm.ttf";
-			} else {
-				newFontName = "arial.ttf";
-			}
-		}
-
-		Common::String fontKey = Common::String::format("%s-%d", newFontName.c_str(), point);
-		if (_fonts.contains(fontKey)) {
-			fragment.style.font = _fonts[fontKey];
-		} else {
-			fragment.style.font = new TruetypeFont(_engine, point);
-			fragment.style.font->loadFile(newFontName);
-			_fonts[fontKey] = fragment.style.font;
-		}
-	}
-
-	fragment.style.align = align;
-	fragment.style.color = Graphics::ARGBToColor<Graphics::ColorMasks<565> >(0, red, green, blue);
-	_inGameText[lineNumber].fragments.push_back(fragment);
-
-	_lastStyle = fragment.style;
-}
-
-Common::String StringManager::readWideLine(Common::SeekableReadStream &stream) {
-	Common::String asciiString;
-
-	// Don't spam the user with warnings about UTF-16 support.
-	// Just do one warning per String
-	bool charOverflowWarning = false;
-
-	uint16 value = stream.readUint16LE();
-	while (!stream.eos()) {
-		// Check for CRLF
-		if (value == 0x0A0D) {
-			// Read in the extra NULL char
-			stream.readByte(); // \0
-			// End of the line. Break
-			break;
-		}
-
-		// Crush each octet pair to a single octet with a simple cast
-		if (value > 255) {
-			charOverflowWarning = true;
-			value = '?';
-		}
-		char charValue = (char)value;
-
-		asciiString += charValue;
-
-		value = stream.readUint16LE();
-	}
-
-	if (charOverflowWarning) {
-		warning("UTF-16 is not supported. Characters greater than 255 are replaced with '?'");
-	}
-
-	return asciiString;
-}
-
-StringManager::TextStyle StringManager::getTextStyle(uint stringNumber) {
-	return _inGameText[stringNumber].fragments.front().style;
-}
-
 const Common::String StringManager::getTextLine(uint stringNumber) {
 	return _lines[stringNumber];
 }
diff --git a/engines/zvision/text/string_manager.h b/engines/zvision/text/string_manager.h
index 8d6fbe6..b77ad65 100644
--- a/engines/zvision/text/string_manager.h
+++ b/engines/zvision/text/string_manager.h
@@ -40,17 +40,6 @@ public:
 	~StringManager();
 
 public:
-	struct TextStyle {
-		TruetypeFont *font;
-		uint16 color; // In RBG 565
-		Graphics::TextAlign align;
-	};
-
-	struct TextFragment {
-		TextStyle style;
-		Common::String text;
-	};
-
 	enum {
 		ZVISION_STR_SAVEEXIST = 23,
 		ZVISION_STR_SAVED = 4,
@@ -59,10 +48,6 @@ public:
 	};
 
 private:
-	struct InGameText {
-		Common::List<TextFragment> fragments;
-	};
-
 	enum {
 		NUM_TEXT_LINES = 56 // Max number of lines in a .str file. We hardcode this number because we know ZNem uses 42 strings and ZGI uses 56
 	};
@@ -71,22 +56,12 @@ private:
 	ZVision *_engine;
 	Common::String _lines[NUM_TEXT_LINES];
 
-	InGameText _inGameText[NUM_TEXT_LINES];
-	Common::HashMap<Common::String, TruetypeFont *> _fonts;
-
-	TextStyle _lastStyle;
-
 public:
 	void initialize(ZVisionGameId gameId);
-	StringManager::TextStyle getTextStyle(uint stringNumber);
 	const Common::String getTextLine(uint stringNumber);
 
 private:
 	void loadStrFile(const Common::String &fileName);
-	void parseStrFile(const Common::String &fileName);
-	void parseTag(const Common::String &tagString, uint lineNumber);
-
-	static Common::String readWideLine(Common::SeekableReadStream &stream);
 };
 
 } // End of namespace ZVision
diff --git a/engines/zvision/text/text.h b/engines/zvision/text/text.h
index 01c3fd7..ecec3cc 100644
--- a/engines/zvision/text/text.h
+++ b/engines/zvision/text/text.h
@@ -28,10 +28,6 @@
 #include "zvision/graphics/truetype_font.h"
 #include "zvision/zvision.h"
 
-namespace Graphics {
-class FontManager;
-}
-
 namespace ZVision {
 
 class ZVision;


Commit: 30212e4579e9f811f46cfadc5899c4d21cd513ed
    https://github.com/scummvm/scummvm/commit/30212e4579e9f811f46cfadc5899c4d21cd513ed
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T15:30:03+06:00

Commit Message:
ZVISION: Fix array compared against 0 (CID 1109648)

Changed paths:
    engines/zvision/file/zfs_archive.cpp
    engines/zvision/file/zfs_archive.h



diff --git a/engines/zvision/file/zfs_archive.cpp b/engines/zvision/file/zfs_archive.cpp
index 9b55a36..0c076a7 100644
--- a/engines/zvision/file/zfs_archive.cpp
+++ b/engines/zvision/file/zfs_archive.cpp
@@ -140,7 +140,7 @@ Common::SeekableReadStream *ZfsArchive::createReadStreamForMember(const Common::
 	byte *buffer = (byte *)malloc(entryHeader->size);
 	zfsArchive.read(buffer, entryHeader->size);
 	// Decrypt the data in place
-	if (_header.xorKey != 0)
+	if (_header.xorKey[0] + _header.xorKey[1] + _header.xorKey[2] + _header.xorKey[3] != 0)
 		unXor(buffer, entryHeader->size, _header.xorKey);
 
 	return new Common::MemoryReadStream(buffer, entryHeader->size, DisposeAfterUse::YES);
diff --git a/engines/zvision/file/zfs_archive.h b/engines/zvision/file/zfs_archive.h
index 571591a..fe02214 100644
--- a/engines/zvision/file/zfs_archive.h
+++ b/engines/zvision/file/zfs_archive.h
@@ -39,7 +39,7 @@ struct ZfsHeader {
 	uint32 maxNameLength;
 	uint32 filesPerBlock;
 	uint32 fileCount;
-	byte xorKey[4];
+	uint8 xorKey[4];
 	uint32 fileSectionOffset;
 };
 


Commit: d96834020c9f3dac02d6a4feb8bac673ca223f94
    https://github.com/scummvm/scummvm/commit/d96834020c9f3dac02d6a4feb8bac673ca223f94
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T15:31:43+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1109669)

Changed paths:
    engines/zvision/scripting/controls/input_control.cpp



diff --git a/engines/zvision/scripting/controls/input_control.cpp b/engines/zvision/scripting/controls/input_control.cpp
index 6959f9e..e75cc15 100644
--- a/engines/zvision/scripting/controls/input_control.cpp
+++ b/engines/zvision/scripting/controls/input_control.cpp
@@ -46,7 +46,9 @@ InputControl::InputControl(ZVision *engine, uint32 key, Common::SeekableReadStre
 	  _enterPressed(false),
 	  _readOnly(false),
 	  _txtWidth(0),
-	  _animation(NULL) {
+	  _animation(NULL),
+	  _frameDelay(0),
+	  _frame(-1) {
 	// Loop until we find the closing brace
 	Common::String line = stream.readLine();
 	_engine->getScriptManager()->trimCommentsAndWhiteSpace(&line);


Commit: 76335d4a81679d7334918e4009a083883befebb8
    https://github.com/scummvm/scummvm/commit/76335d4a81679d7334918e4009a083883befebb8
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T15:32:43+06:00

Commit Message:
ZVISION: Fix uninitialized pointer field (CID 1109672)

Changed paths:
    engines/zvision/zvision.cpp



diff --git a/engines/zvision/zvision.cpp b/engines/zvision/zvision.cpp
index f9d6bb3..4e5307c 100644
--- a/engines/zvision/zvision.cpp
+++ b/engines/zvision/zvision.cpp
@@ -90,6 +90,12 @@ ZVision::ZVision(OSystem *syst, const ZVisionGameDescription *gameDesc)
 	  _stringManager(nullptr),
 	  _cursorManager(nullptr),
 	  _midiManager(nullptr),
+	  _rnd(nullptr),
+	  _console(nullptr),
+	  _menu(nullptr),
+	  _searchManager(nullptr),
+	  _textRenderer(nullptr),
+	  _halveDelay(false),
 	  _audioId(0),
 	  _rendDelay(2),
 	  _kbdVelocity(0),


Commit: b10f66438f4a11feece7a6f2eb0cd753169701c4
    https://github.com/scummvm/scummvm/commit/b10f66438f4a11feece7a6f2eb0cd753169701c4
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T15:33:51+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1109675)

Changed paths:
    engines/zvision/graphics/render_table.cpp



diff --git a/engines/zvision/graphics/render_table.cpp b/engines/zvision/graphics/render_table.cpp
index 54faecf..c30e0bd 100644
--- a/engines/zvision/graphics/render_table.cpp
+++ b/engines/zvision/graphics/render_table.cpp
@@ -34,6 +34,9 @@ RenderTable::RenderTable(uint numColumns, uint numRows)
 	assert(numRows != 0 && numColumns != 0);
 
 	_internalBuffer = new Common::Point[numRows * numColumns];
+
+	memset(&_panoramaOptions, 0, sizeof(_panoramaOptions));
+	memset(&_tiltOptions, 0, sizeof(_tiltOptions));
 }
 
 RenderTable::~RenderTable() {


Commit: c50024fd86e6bb0b21f70eb4e018f823913f36fd
    https://github.com/scummvm/scummvm/commit/c50024fd86e6bb0b21f70eb4e018f823913f36fd
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T15:37:33+06:00

Commit Message:
ZVISION: Fix uninitialized pointer field (CID 1109699)

Changed paths:
    engines/zvision/scripting/controls/lever_control.cpp



diff --git a/engines/zvision/scripting/controls/lever_control.cpp b/engines/zvision/scripting/controls/lever_control.cpp
index 71dd52f..8faa183 100644
--- a/engines/zvision/scripting/controls/lever_control.cpp
+++ b/engines/zvision/scripting/controls/lever_control.cpp
@@ -48,7 +48,10 @@ LeverControl::LeverControl(ZVision *engine, uint32 key, Common::SeekableReadStre
 	  _mouseIsCaptured(false),
 	  _isReturning(false),
 	  _accumulatedTime(0),
-	  _returnRoutesCurrentFrame(0) {
+	  _returnRoutesCurrentFrame(0),
+	  _animation(NULL),
+	  _cursor(CursorIndex_Active),
+	  _mirrored(false) {
 
 	// Loop until we find the closing brace
 	Common::String line = stream.readLine();


Commit: 74ea583a4ef446a92cbba4506f7c04513d1ca997
    https://github.com/scummvm/scummvm/commit/74ea583a4ef446a92cbba4506f7c04513d1ca997
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T15:38:28+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1109700)

Changed paths:
    engines/zvision/file/zfs_archive.cpp



diff --git a/engines/zvision/file/zfs_archive.cpp b/engines/zvision/file/zfs_archive.cpp
index 0c076a7..3a385cd 100644
--- a/engines/zvision/file/zfs_archive.cpp
+++ b/engines/zvision/file/zfs_archive.cpp
@@ -31,6 +31,7 @@ namespace ZVision {
 
 ZfsArchive::ZfsArchive(const Common::String &fileName) : _fileName(fileName) {
 	Common::File zfsFile;
+	memset(&_header, 0, sizeof(_header));
 
 	if (!zfsFile.open(_fileName)) {
 		warning("ZFSArchive::ZFSArchive(): Could not find the archive file");


Commit: 5a087927805529293fb340b0b7c0d2e789278ae9
    https://github.com/scummvm/scummvm/commit/5a087927805529293fb340b0b7c0d2e789278ae9
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T15:39:51+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1125218)

Changed paths:
    engines/zvision/scripting/sidefx/timer_node.cpp



diff --git a/engines/zvision/scripting/sidefx/timer_node.cpp b/engines/zvision/scripting/sidefx/timer_node.cpp
index abf2c90..170f6e7 100644
--- a/engines/zvision/scripting/sidefx/timer_node.cpp
+++ b/engines/zvision/scripting/sidefx/timer_node.cpp
@@ -33,6 +33,8 @@ namespace ZVision {
 
 TimerNode::TimerNode(ZVision *engine, uint32 key, uint timeInSeconds)
 	: SideFX(engine, key, SIDEFX_TIMER) {
+	_timeLeft = 0;
+
 	if (_engine->getGameId() == GID_NEMESIS)
 		_timeLeft = timeInSeconds * 1000;
 	else if (_engine->getGameId() == GID_GRANDINQUISITOR)


Commit: cd2fc20768a8ed8dc34a316ec91e0643b8c2bddf
    https://github.com/scummvm/scummvm/commit/cd2fc20768a8ed8dc34a316ec91e0643b8c2bddf
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:00:49+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257061)

Changed paths:
    engines/zvision/core/menu.cpp



diff --git a/engines/zvision/core/menu.cpp b/engines/zvision/core/menu.cpp
index c7898a4..e584e87 100644
--- a/engines/zvision/core/menu.cpp
+++ b/engines/zvision/core/menu.cpp
@@ -58,6 +58,8 @@ MenuZGI::MenuZGI(ZVision *engine) :
 	scrollPos[1] = 0.0;
 	scrollPos[2] = 0.0;
 	mouseOnItem = -1;
+	redraw = false;
+	clean = false;
 
 	char buf[24];
 	for (int i = 1; i < 4; i++) {


Commit: deea4ef62c1eda0a3cba45b2f9e23be6338f52ca
    https://github.com/scummvm/scummvm/commit/deea4ef62c1eda0a3cba45b2f9e23be6338f52ca
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:00:57+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257055)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index d6883ed..10122f5 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -781,6 +781,9 @@ bool ActionRotateTo::execute() {
 
 ActionSetPartialScreen::ActionSetPartialScreen(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_x = 0;
+	_y = 0;
+
 	char fileName[25];
 	int color;
 


Commit: 8c896f5da4eaa4cd95f9ff4c60efa43542cfe557
    https://github.com/scummvm/scummvm/commit/8c896f5da4eaa4cd95f9ff4c60efa43542cfe557
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:00:57+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257056)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 10122f5..1d9b4d7 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -71,6 +71,8 @@ bool ActionAdd::execute() {
 
 ActionAssign::ActionAssign(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_key = 0;
+
 	char buf[64];
 	memset(buf, 0, 64);
 	sscanf(line.c_str(), "%u, %s", &_key, buf);


Commit: f9946b726fe7ea5251fe44a77f8dab296052b744
    https://github.com/scummvm/scummvm/commit/f9946b726fe7ea5251fe44a77f8dab296052b744
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:00:57+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257057)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 1d9b4d7..31bd681 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -654,11 +654,15 @@ bool ActionQuit::execute() {
 
 ActionRegion::ActionRegion(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_delay = 0;
+	_type = 0;
+	_unk1 = 0;
+	_unk2 = 0;
 
 	char art[64];
 	char custom[64];
 
-	int32 x1, x2, y1, y2;
+	int32 x1 = 0, x2 = 0, y1 = 0, y2 = 0;
 
 	sscanf(line.c_str(), "%s %d %d %d %d %hu %hu %hu %hu %s", art, &x1, &y1, &x2, &y2, &_delay, &_type, &_unk1, &_unk2, custom);
 	_art = Common::String(art);


Commit: cd2612a54ed2b5ab9e35140b5f115e39cfe0a1d7
    https://github.com/scummvm/scummvm/commit/cd2612a54ed2b5ab9e35140b5f115e39cfe0a1d7
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:00:57+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257058)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 31bd681..62412e6 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -240,6 +240,9 @@ bool ActionDisableVenus::execute() {
 
 ActionDisplayMessage::ActionDisplayMessage(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_control = 0;
+	_msgid = 0;
+
 	sscanf(line.c_str(), "%hd %hd", &_control, &_msgid);
 }
 


Commit: e28f8a5d8f3de8e6c21be6a494ab91aaf1602216
    https://github.com/scummvm/scummvm/commit/e28f8a5d8f3de8e6c21be6a494ab91aaf1602216
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:00:57+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257059)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 62412e6..2f7103b 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -857,6 +857,8 @@ bool ActionSetScreen::execute() {
 
 ActionSetVenus::ActionSetVenus(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_key = 0;
+
 	sscanf(line.c_str(), "%d", &_key);
 }
 


Commit: fe56e7d02b935e7f7ae3d3f95fcc5bda88a2c50d
    https://github.com/scummvm/scummvm/commit/fe56e7d02b935e7f7ae3d3f95fcc5bda88a2c50d
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:00:57+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257060)

Changed paths:
    engines/zvision/scripting/sidefx/music_node.h



diff --git a/engines/zvision/scripting/sidefx/music_node.h b/engines/zvision/scripting/sidefx/music_node.h
index c89345f..b460958 100644
--- a/engines/zvision/scripting/sidefx/music_node.h
+++ b/engines/zvision/scripting/sidefx/music_node.h
@@ -115,7 +115,6 @@ public:
 private:
 	int8 _chan;
 	int8 _noteNumber;
-	int8 _velocity;
 	int8 _pan;
 	int8 _volume;
 	int8 _prog;


Commit: 56f7be8ab62315a3439d3f4aad9b85a294eac2c9
    https://github.com/scummvm/scummvm/commit/56f7be8ab62315a3439d3f4aad9b85a294eac2c9
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:01:30+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257054)

Changed paths:
    engines/zvision/core/menu.cpp



diff --git a/engines/zvision/core/menu.cpp b/engines/zvision/core/menu.cpp
index e584e87..31e0d71 100644
--- a/engines/zvision/core/menu.cpp
+++ b/engines/zvision/core/menu.cpp
@@ -559,6 +559,8 @@ MenuNemesis::MenuNemesis(ZVision *engine) :
 	scrolled = false;
 	scrollPos = 0.0;
 	mouseOnItem = -1;
+	redraw = false;
+	delay = 0;
 
 	char buf[24];
 	for (int i = 0; i < 4; i++)


Commit: f8c1b1eb28e3976fda19547230c7a8b70f31244d
    https://github.com/scummvm/scummvm/commit/f8c1b1eb28e3976fda19547230c7a8b70f31244d
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:22:57+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257062)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 2f7103b..a9b19ea 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -95,6 +95,9 @@ bool ActionAssign::execute() {
 
 ActionAttenuate::ActionAttenuate(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_key = 0;
+	_attenuation = 0;
+
 	sscanf(line.c_str(), "%u, %d", &_key, &_attenuation);
 }
 


Commit: 36af1ff5b1a813f773952fabf1906fe1fb07b846
    https://github.com/scummvm/scummvm/commit/36af1ff5b1a813f773952fabf1906fe1fb07b846
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:27:27+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257063)

Changed paths:
    engines/zvision/scripting/actions.h



diff --git a/engines/zvision/scripting/actions.h b/engines/zvision/scripting/actions.h
index f9e4ee8..ef82ef0 100644
--- a/engines/zvision/scripting/actions.h
+++ b/engines/zvision/scripting/actions.h
@@ -454,7 +454,6 @@ public:
 	~ActionTimer();
 	bool execute();
 private:
-	uint32 _key;
 	ValueSlot *_time;
 };
 


Commit: 044f2521542617d55c9cd1802f2cab7f9bccb618
    https://github.com/scummvm/scummvm/commit/044f2521542617d55c9cd1802f2cab7f9bccb618
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:29:51+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257064)

Changed paths:
    engines/zvision/scripting/actions.cpp
    engines/zvision/scripting/actions.h



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index a9b19ea..8ae1cd7 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -431,10 +431,12 @@ bool ActionMenuBarEnable::execute() {
 ActionMusic::ActionMusic(ZVision *engine, int32 slotkey, const Common::String &line, bool global) :
 	ResultAction(engine, slotkey),
 	_volume(255),
+	_note(0),
+	_prog(0),
 	_universe(global) {
-	uint type;
+	uint type = 0;
 	char fileNameBuffer[25];
-	uint loop;
+	uint loop = 0;
 	uint volume = 255;
 
 	sscanf(line.c_str(), "%u %25s %u %u", &type, fileNameBuffer, &loop, &volume);
diff --git a/engines/zvision/scripting/actions.h b/engines/zvision/scripting/actions.h
index ef82ef0..d859b1d 100644
--- a/engines/zvision/scripting/actions.h
+++ b/engines/zvision/scripting/actions.h
@@ -239,7 +239,6 @@ public:
 	bool execute();
 
 private:
-	uint32 _key;
 	Common::String _fileName;
 	bool _loop;
 	byte _volume;


Commit: efb93552233f13128a43854a9d2ed97653a04075
    https://github.com/scummvm/scummvm/commit/efb93552233f13128a43854a9d2ed97653a04075
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:31:33+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257065)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 8ae1cd7..f2cfbc0 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -132,6 +132,14 @@ bool ActionChangeLocation::execute() {
 
 ActionCrossfade::ActionCrossfade(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_keyOne = 0;
+	_keyTwo = 0;
+	_oneStartVolume = 0;
+	_twoStartVolume = 0;
+	_oneEndVolume = 0;
+	_twoEndVolume = 0;
+	_timeInMillis = 0;
+
 	sscanf(line.c_str(),
 	       "%u %u %d %d %d %d %d",
 	       &_keyOne, &_keyTwo, &_oneStartVolume, &_twoStartVolume, &_oneEndVolume, &_twoEndVolume, &_timeInMillis);


Commit: b96c58188110d7f45e4733a0a010c82f6ec62a25
    https://github.com/scummvm/scummvm/commit/b96c58188110d7f45e4733a0a010c82f6ec62a25
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:32:27+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257066)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index f2cfbc0..5b27f52 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -57,6 +57,9 @@ namespace ZVision {
 
 ActionAdd::ActionAdd(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_key = 0;
+	_value = 0;
+
 	sscanf(line.c_str(), "%u,%d", &_key, &_value);
 }
 


Commit: 3b83e82e6f755dd45da8f063f3af831872d6ffdc
    https://github.com/scummvm/scummvm/commit/3b83e82e6f755dd45da8f063f3af831872d6ffdc
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:33:26+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257067)

Changed paths:
    engines/zvision/scripting/actions.cpp
    engines/zvision/scripting/actions.h



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 5b27f52..a030f6c 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -602,6 +602,16 @@ bool ActionUnloadAnimation::execute() {
 
 ActionPlayAnimation::ActionPlayAnimation(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_x = 0;
+	_y = 0;
+	_x2 = 0;
+	_y2 = 0;
+	_start = 0;
+	_end = 0;
+	_loopCount = 0;
+	_mask = 0;
+	_framerate = 0;
+
 	char fileName[25];
 
 	// The two %*u are always 0 and dont seem to have a use
diff --git a/engines/zvision/scripting/actions.h b/engines/zvision/scripting/actions.h
index d859b1d..ee761c4 100644
--- a/engines/zvision/scripting/actions.h
+++ b/engines/zvision/scripting/actions.h
@@ -266,7 +266,6 @@ public:
 	bool execute();
 
 private:
-	uint32 _key;
 	Common::String _fileName;
 	uint32 _x;
 	uint32 _y;


Commit: dae76a76c788950a05b827cb58cf3bd3f4bb8c32
    https://github.com/scummvm/scummvm/commit/dae76a76c788950a05b827cb58cf3bd3f4bb8c32
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:34:11+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257068)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index a030f6c..31ba2cc 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -239,6 +239,8 @@ bool ActionDisableControl::execute() {
 
 ActionDisableVenus::ActionDisableVenus(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_key = 0;
+
 	sscanf(line.c_str(), "%d", &_key);
 }
 


Commit: 9c2782a6800ada4330d2ae4f4087c7b13fbf851b
    https://github.com/scummvm/scummvm/commit/9c2782a6800ada4330d2ae4f4087c7b13fbf851b
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:35:15+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257069)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 31ba2cc..5689f3e 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -119,6 +119,12 @@ bool ActionAttenuate::execute() {
 
 ActionChangeLocation::ActionChangeLocation(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_world = 'g';
+	_room = 'a';
+	_node = 'r';
+	_view = 'y';
+	_offset = 0;
+
 	sscanf(line.c_str(), "%c, %c, %c%c, %u", &_world, &_room, &_node, &_view, &_offset);
 }
 


Commit: ea2ad625ff780750213821d25aedfe4e46027755
    https://github.com/scummvm/scummvm/commit/ea2ad625ff780750213821d25aedfe4e46027755
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:36:54+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257070)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 5689f3e..b569b13 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -973,8 +973,10 @@ bool ActionStreamVideo::execute() {
 
 ActionSyncSound::ActionSyncSound(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_syncto = 0;
+
 	char fileName[25];
-	int notUsed;
+	int notUsed = 0;
 
 	sscanf(line.c_str(), "%d %d %25s", &_syncto, &notUsed, fileName);
 


Commit: 8278ed6022f4b172c6173866224071f381a12bd5
    https://github.com/scummvm/scummvm/commit/8278ed6022f4b172c6173866224071f381a12bd5
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:38:34+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257071)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index b569b13..a14fa37 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -319,6 +319,8 @@ bool ActionDistort::execute() {
 
 ActionEnableControl::ActionEnableControl(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_key = 0;
+
 	sscanf(line.c_str(), "%u", &_key);
 }
 


Commit: 704a4b3400e07ce5d86e7db7e63c3cc89da383e9
    https://github.com/scummvm/scummvm/commit/704a4b3400e07ce5d86e7db7e63c3cc89da383e9
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:39:21+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257072)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index a14fa37..a5cc37a 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -217,6 +217,7 @@ bool ActionCursor::execute() {
 
 ActionDelayRender::ActionDelayRender(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_framesToDelay = 0;
 	sscanf(line.c_str(), "%u", &_framesToDelay);
 }
 


Commit: edf35284977d0b666eb796d028ea54278c9736c9
    https://github.com/scummvm/scummvm/commit/edf35284977d0b666eb796d028ea54278c9736c9
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:41:00+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257073)

Changed paths:
    engines/zvision/graphics/cursors/cursor_manager.cpp



diff --git a/engines/zvision/graphics/cursors/cursor_manager.cpp b/engines/zvision/graphics/cursors/cursor_manager.cpp
index a20deb2..ae13c9f 100644
--- a/engines/zvision/graphics/cursors/cursor_manager.cpp
+++ b/engines/zvision/graphics/cursors/cursor_manager.cpp
@@ -50,7 +50,8 @@ CursorManager::CursorManager(ZVision *engine, const Graphics::PixelFormat *pixel
 	  _pixelFormat(pixelFormat),
 	  _cursorIsPushed(false),
 	  _item(0),
-	  _lastitem(0) {
+	  _lastitem(0),
+	  _currentCursor(CursorIndex_Idle) {
 	for (int i = 0; i < NUM_CURSORS; i++) {
 		if (_engine->getGameId() == GID_NEMESIS) {
 			Common::String name;


Commit: 897ecc190fc7233fa45082e24b97ff37bab1bc0c
    https://github.com/scummvm/scummvm/commit/897ecc190fc7233fa45082e24b97ff37bab1bc0c
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:41:51+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257074)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index a5cc37a..7e3a066 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -594,6 +594,7 @@ bool ActionPreloadAnimation::execute() {
 
 ActionUnloadAnimation::ActionUnloadAnimation(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_key = 0;
 
 	sscanf(line.c_str(), "%u", &_key);
 }


Commit: 7055ee77552f9126be095aac83ecfcef425f4dd3
    https://github.com/scummvm/scummvm/commit/7055ee77552f9126be095aac83ecfcef425f4dd3
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:44:18+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257075)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 7e3a066..68e9b04 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -298,6 +298,13 @@ bool ActionDissolve::execute() {
 
 ActionDistort::ActionDistort(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_distSlot = 0;
+	_speed = 0;
+	_startAngle = 60.0;
+	_endAngle = 60.0;
+	_startLineScale = 1.0;
+	_endLineScale = 1.0;
+
 	sscanf(line.c_str(), "%hd %hd %f %f %f %f", &_distSlot, &_speed, &_startAngle, &_endAngle, &_startLineScale, &_endLineScale);
 }
 


Commit: fb0872e40be6cc9c04efdb61dea91e914b02b529
    https://github.com/scummvm/scummvm/commit/fb0872e40be6cc9c04efdb61dea91e914b02b529
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:48:36+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257076)

Changed paths:
    engines/zvision/scripting/controls/slot_control.cpp



diff --git a/engines/zvision/scripting/controls/slot_control.cpp b/engines/zvision/scripting/controls/slot_control.cpp
index 292a2b4..5228ba5 100644
--- a/engines/zvision/scripting/controls/slot_control.cpp
+++ b/engines/zvision/scripting/controls/slot_control.cpp
@@ -34,7 +34,9 @@
 namespace ZVision {
 
 SlotControl::SlotControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream)
-	: Control(engine, key, CONTROL_SLOT) {
+	: Control(engine, key, CONTROL_SLOT),
+	  _cursor(CursorIndex_Active),
+	  _distanceId('0') {
 
 	_renderedItem = 0;
 	_bkg = NULL;


Commit: ea3ddd148f88d3aca21a0626ba4700873324897d
    https://github.com/scummvm/scummvm/commit/ea3ddd148f88d3aca21a0626ba4700873324897d
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:49:36+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257077)

Changed paths:
    engines/zvision/scripting/sidefx/music_node.h



diff --git a/engines/zvision/scripting/sidefx/music_node.h b/engines/zvision/scripting/sidefx/music_node.h
index b460958..c8077c7 100644
--- a/engines/zvision/scripting/sidefx/music_node.h
+++ b/engines/zvision/scripting/sidefx/music_node.h
@@ -77,7 +77,6 @@ public:
 	void setFade(int32 time, uint8 target);
 
 private:
-	int32 _timeLeft;
 	bool _pantrack;
 	int32 _pantrackPosition;
 	int32 _attenuate;


Commit: 1078d0c19311b82db00d4524f5f29e7f2ca52795
    https://github.com/scummvm/scummvm/commit/1078d0c19311b82db00d4524f5f29e7f2ca52795
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:51:01+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257079)

Changed paths:
    engines/zvision/scripting/actions.cpp
    engines/zvision/scripting/actions.h



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 68e9b04..6e6674d 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -565,6 +565,9 @@ bool ActionPreferences::execute() {
 
 ActionPreloadAnimation::ActionPreloadAnimation(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_mask = 0;
+	_framerate = 0;
+
 	char fileName[25];
 
 	// The two %*u are always 0 and dont seem to have a use
diff --git a/engines/zvision/scripting/actions.h b/engines/zvision/scripting/actions.h
index ee761c4..18757e0 100644
--- a/engines/zvision/scripting/actions.h
+++ b/engines/zvision/scripting/actions.h
@@ -302,7 +302,6 @@ public:
 	bool execute();
 
 private:
-	uint32 _key;
 	Common::String _fileName;
 	int32 _mask;
 	int32 _framerate;


Commit: abf37ebbf3e678181731a8eb77d69bdf6c51685a
    https://github.com/scummvm/scummvm/commit/abf37ebbf3e678181731a8eb77d69bdf6c51685a
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:51:43+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257080)

Changed paths:
    engines/zvision/scripting/controls/push_toggle_control.cpp



diff --git a/engines/zvision/scripting/controls/push_toggle_control.cpp b/engines/zvision/scripting/controls/push_toggle_control.cpp
index 3811498..f51a28d 100644
--- a/engines/zvision/scripting/controls/push_toggle_control.cpp
+++ b/engines/zvision/scripting/controls/push_toggle_control.cpp
@@ -35,6 +35,7 @@ namespace ZVision {
 PushToggleControl::PushToggleControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream)
 	: Control(engine, key, CONTROL_PUSHTGL),
 	  _countTo(2),
+	  _cursor(CursorIndex_Active),
 	  _event(Common::EVENT_LBUTTONUP) {
 
 	_hotspots.clear();


Commit: ed66fbefdf0bb6428ea82c64e9dece0559132f4a
    https://github.com/scummvm/scummvm/commit/ed66fbefdf0bb6428ea82c64e9dece0559132f4a
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T16:52:26+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257081)

Changed paths:
    engines/zvision/scripting/actions.h



diff --git a/engines/zvision/scripting/actions.h b/engines/zvision/scripting/actions.h
index 18757e0..523890e 100644
--- a/engines/zvision/scripting/actions.h
+++ b/engines/zvision/scripting/actions.h
@@ -354,7 +354,6 @@ public:
 	bool execute();
 
 private:
-	uint32 _key;
 	ValueSlot *_max;
 };
 


Commit: 5db4e02f9a5bc756807102e76374c493b80cc028
    https://github.com/scummvm/scummvm/commit/5db4e02f9a5bc756807102e76374c493b80cc028
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:02:22+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257082)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 6e6674d..b08a7f3 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -938,8 +938,14 @@ bool ActionStop::execute() {
 
 ActionStreamVideo::ActionStreamVideo(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_x1 = 0;
+	_x2 = 0;
+	_y1 = 0;
+	_y2 = 0;
+	_flags = 0;
+
 	char fileName[25];
-	uint skipline;    //skipline - render video with skip every second line, not skippable.
+	uint skipline = 0;    //skipline - render video with skip every second line, not skippable.
 
 	sscanf(line.c_str(), "%25s %u %u %u %u %u %u", fileName, &_x1, &_y1, &_x2, &_y2, &_flags, &skipline);
 


Commit: d6e3cea087bd10619f9bad305a03f1517d714687
    https://github.com/scummvm/scummvm/commit/d6e3cea087bd10619f9bad305a03f1517d714687
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:03:07+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257083)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index b08a7f3..dbbb605 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -1050,9 +1050,11 @@ bool ActionTimer::execute() {
 
 ActionTtyText::ActionTtyText(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_delay = 0;
+
 	char filename[64];
-	int32 x1, y1, x2, y2;
-	sscanf(line.c_str(), "%d %d %d %d %s %u", &x1, &y1, &x2, &y2, filename, &_delay);
+	int32 x1 = 0, y1 = 0, x2 = 0, y2 = 0;
+	sscanf(line.c_str(), "%d %d %d %d %64s %u", &x1, &y1, &x2, &y2, filename, &_delay);
 	_r = Common::Rect(x1, y1, x2, y2);
 	_filename = Common::String(filename);
 }


Commit: 7e3c270e49c36cb7290955ded4dc4588f763797a
    https://github.com/scummvm/scummvm/commit/7e3c270e49c36cb7290955ded4dc4588f763797a
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:03:39+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257084)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index dbbb605..6303388 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -675,6 +675,15 @@ bool ActionPlayAnimation::execute() {
 
 ActionPlayPreloadAnimation::ActionPlayPreloadAnimation(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_controlKey = 0;
+	_x1 = 0;
+	_y1 = 0;
+	_x2 = 0;
+	_y2 = 0;
+	_startFrame = 0;
+	_endFrame = 0;
+	_loopCount = 0;
+
 	sscanf(line.c_str(),
 	       "%u %u %u %u %u %u %u %u",
 	       &_controlKey, &_x1, &_y1, &_x2, &_y2, &_startFrame, &_endFrame, &_loopCount);


Commit: 7a0b5982b133c8ef5ed87cd1418ea28cf7da96fb
    https://github.com/scummvm/scummvm/commit/7a0b5982b133c8ef5ed87cd1418ea28cf7da96fb
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:04:04+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257085)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 6303388..60d05fb 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -832,6 +832,9 @@ bool ActionRestoreGame::execute() {
 
 ActionRotateTo::ActionRotateTo(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_time = 0;
+	_toPos = 0;
+
 	sscanf(line.c_str(), "%d, %d", &_toPos, &_time);
 }
 


Commit: 7609b6d866576de9a70aadfb17895cfd30393eb8
    https://github.com/scummvm/scummvm/commit/7609b6d866576de9a70aadfb17895cfd30393eb8
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:04:26+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257086)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 60d05fb..5274637 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -232,6 +232,8 @@ bool ActionDelayRender::execute() {
 
 ActionDisableControl::ActionDisableControl(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_key = 0;
+
 	sscanf(line.c_str(), "%u", &_key);
 }
 


Commit: 2cb541c6511d39e7814f38c1b6e1cc64b7589671
    https://github.com/scummvm/scummvm/commit/2cb541c6511d39e7814f38c1b6e1cc64b7589671
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:05:03+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257087)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index 5274637..fd84327 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -359,6 +359,9 @@ bool ActionFlushMouseEvents::execute() {
 
 ActionInventory::ActionInventory(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_type = -1;
+	_key = 0;
+
 	char buf[25];
 	sscanf(line.c_str(), "%25s %d", buf, &_key);
 


Commit: c8f8da030845c01453652364a48ae0449d62b890
    https://github.com/scummvm/scummvm/commit/c8f8da030845c01453652364a48ae0449d62b890
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:05:31+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257088)

Changed paths:
    engines/zvision/scripting/actions.cpp



diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp
index fd84327..0422a2c 100644
--- a/engines/zvision/scripting/actions.cpp
+++ b/engines/zvision/scripting/actions.cpp
@@ -450,6 +450,8 @@ bool ActionKill::execute() {
 
 ActionMenuBarEnable::ActionMenuBarEnable(ZVision *engine, int32 slotkey, const Common::String &line) :
 	ResultAction(engine, slotkey) {
+	_menus = 0xFFFF;
+
 	sscanf(line.c_str(), "%hu", &_menus);
 }
 


Commit: e934ffdd5e7719f80703d6874bbdb8618f1606ea
    https://github.com/scummvm/scummvm/commit/e934ffdd5e7719f80703d6874bbdb8618f1606ea
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:06:47+06:00

Commit Message:
ZVISION: Fix uninitialized scalar field (CID 1257089)

Changed paths:
    engines/zvision/scripting/puzzle.h
    engines/zvision/scripting/scr_file_handling.cpp
    engines/zvision/scripting/script_manager.cpp



diff --git a/engines/zvision/scripting/puzzle.h b/engines/zvision/scripting/puzzle.h
index 4123880..7d64357 100644
--- a/engines/zvision/scripting/puzzle.h
+++ b/engines/zvision/scripting/puzzle.h
@@ -31,7 +31,7 @@
 namespace ZVision {
 
 struct Puzzle {
-	Puzzle() : key(0) {}
+	Puzzle() : key(0), addedBySetState(false) {}
 
 	~Puzzle() {
 		for (Common::List<ResultAction *>::iterator iter = resultActions.begin(); iter != resultActions.end(); ++iter) {
diff --git a/engines/zvision/scripting/scr_file_handling.cpp b/engines/zvision/scripting/scr_file_handling.cpp
index 56d0c3b..c117da5 100644
--- a/engines/zvision/scripting/scr_file_handling.cpp
+++ b/engines/zvision/scripting/scr_file_handling.cpp
@@ -96,7 +96,7 @@ void ScriptManager::parsePuzzle(Puzzle *puzzle, Common::SeekableReadStream &stre
 		trimCommentsAndWhiteSpace(&line);
 	}
 
-	puzzle->addedBySetState = 0;
+	puzzle->addedBySetState = false;
 }
 
 bool ScriptManager::parseCriteria(Common::SeekableReadStream &stream, Common::List<Common::List<Puzzle::CriteriaEntry> > &criteriaList) const {
diff --git a/engines/zvision/scripting/script_manager.cpp b/engines/zvision/scripting/script_manager.cpp
index 65077df..4c1e690 100644
--- a/engines/zvision/scripting/script_manager.cpp
+++ b/engines/zvision/scripting/script_manager.cpp
@@ -97,7 +97,7 @@ bool ScriptManager::execScope(ScriptScope &scope) {
 	scope.scopeQueue->clear();
 
 	for (PuzzleList::iterator PuzzleIter = scope.puzzles.begin(); PuzzleIter != scope.puzzles.end(); ++PuzzleIter)
-		(*PuzzleIter)->addedBySetState = 0;
+		(*PuzzleIter)->addedBySetState = false;
 
 	if (scope.procCount < 2 || getStateValue(StateKey_ExecScopeStyle)) {
 		for (PuzzleList::iterator PuzzleIter = scope.puzzles.begin(); PuzzleIter != scope.puzzles.end(); ++PuzzleIter)


Commit: 617623e9bff85f2fc0dd75509dfb93e95e366c8e
    https://github.com/scummvm/scummvm/commit/617623e9bff85f2fc0dd75509dfb93e95e366c8e
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:07:28+06:00

Commit Message:
ZVISION: Fix unchecked return value (CID 1257090)

Changed paths:
    engines/zvision/sound/midi.cpp



diff --git a/engines/zvision/sound/midi.cpp b/engines/zvision/sound/midi.cpp
index 920002c..3dd66ff 100644
--- a/engines/zvision/sound/midi.cpp
+++ b/engines/zvision/sound/midi.cpp
@@ -21,6 +21,7 @@
  */
 
 #include "common/scummsys.h"
+#include "common/textconsole.h"
 
 #include "zvision/sound/midi.h"
 
@@ -29,7 +30,8 @@ namespace ZVision {
 MidiManager::MidiManager() {
 	MidiDriver::DeviceHandle dev = MidiDriver::detectDevice(MDT_MIDI | MDT_ADLIB);
 	_driver = MidiDriver::createMidi(dev);
-	_driver->open();
+	if (_driver->open())
+		warning("Can't open MIDI, no MIDI output!");
 }
 
 MidiManager::~MidiManager() {


Commit: 169bed1e5e8364875f68a66e7576c6947a11903b
    https://github.com/scummvm/scummvm/commit/169bed1e5e8364875f68a66e7576c6947a11903b
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:11:26+06:00

Commit Message:
ZVISION: Fix dereference after null check (CID 1257091)

Changed paths:
    engines/zvision/sound/zork_raw.cpp



diff --git a/engines/zvision/sound/zork_raw.cpp b/engines/zvision/sound/zork_raw.cpp
index 78c851e..393f2eb 100644
--- a/engines/zvision/sound/zork_raw.cpp
+++ b/engines/zvision/sound/zork_raw.cpp
@@ -73,6 +73,9 @@ RawChunkStream::RawChunk RawChunkStream::readNextChunk(Common::SeekableReadStrea
 	tmp.size = 0;
 	tmp.data = NULL;
 
+	if (!stream)
+		return tmp;
+
 	if (stream && (stream->size() == 0 || stream->eos()))
 		return tmp;
 


Commit: ee7ba1bbaf4a17104f8a61be0218f9793b0b9cf6
    https://github.com/scummvm/scummvm/commit/ee7ba1bbaf4a17104f8a61be0218f9793b0b9cf6
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:14:13+06:00

Commit Message:
ZVISION: Fix zork raw soundParams handling

Changed paths:
    engines/zvision/sound/zork_raw.cpp



diff --git a/engines/zvision/sound/zork_raw.cpp b/engines/zvision/sound/zork_raw.cpp
index 393f2eb..8688039 100644
--- a/engines/zvision/sound/zork_raw.cpp
+++ b/engines/zvision/sound/zork_raw.cpp
@@ -264,30 +264,33 @@ Audio::RewindableAudioStream *makeRawZorkStream(const Common::String &filePath,
 
 	fileName.toLowercase();
 
-	SoundParams soundParams = {};
+	const SoundParams *soundParams = NULL;
 
 	if (engine->getGameId() == GID_NEMESIS) {
 		for (int i = 0; i < 32; ++i) {
 			if (RawZorkStream::_zNemSoundParamLookupTable[i].identifier == (fileName[6]))
-				soundParams = RawZorkStream::_zNemSoundParamLookupTable[i];
+				soundParams = &RawZorkStream::_zNemSoundParamLookupTable[i];
 		}
 	} else if (engine->getGameId() == GID_GRANDINQUISITOR) {
 		for (int i = 0; i < 24; ++i) {
 			if (RawZorkStream::_zgiSoundParamLookupTable[i].identifier == (fileName[7]))
-				soundParams = RawZorkStream::_zgiSoundParamLookupTable[i];
+				soundParams = &RawZorkStream::_zgiSoundParamLookupTable[i];
 		}
 	}
 
-	if (soundParams.packed) {
-		return makeRawZorkStream(wrapBufferedSeekableReadStream(file, 2048, DisposeAfterUse::YES), soundParams.rate, soundParams.stereo, DisposeAfterUse::YES);
+	if (soundParams == NULL)
+		return NULL;
+
+	if (soundParams->packed) {
+		return makeRawZorkStream(wrapBufferedSeekableReadStream(file, 2048, DisposeAfterUse::YES), soundParams->rate, soundParams->stereo, DisposeAfterUse::YES);
 	} else {
 		byte flags = 0;
-		if (soundParams.bits16)
+		if (soundParams->bits16)
 			flags |= Audio::FLAG_16BITS | Audio::FLAG_LITTLE_ENDIAN;
-		if (soundParams.stereo)
+		if (soundParams->stereo)
 			flags |= Audio::FLAG_STEREO;
 
-		return Audio::makeRawStream(file, soundParams.rate, flags, DisposeAfterUse::YES);
+		return Audio::makeRawStream(file, soundParams->rate, flags, DisposeAfterUse::YES);
 	}
 }
 


Commit: 6c5c1828e1e7ed28865093de12156f6b99fdd40f
    https://github.com/scummvm/scummvm/commit/6c5c1828e1e7ed28865093de12156f6b99fdd40f
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:15:21+06:00

Commit Message:
ZVISION: Fix unchecked return value (CID 1257092)

Changed paths:
    engines/zvision/file/search_manager.cpp



diff --git a/engines/zvision/file/search_manager.cpp b/engines/zvision/file/search_manager.cpp
index 1a6a96e..30c269c 100644
--- a/engines/zvision/file/search_manager.cpp
+++ b/engines/zvision/file/search_manager.cpp
@@ -265,13 +265,14 @@ void SearchManager::addDir(const Common::String &name) {
 
 void SearchManager::listDirRecursive(Common::List<Common::String> &_list, const Common::FSNode &fsNode, int depth) {
 	Common::FSList fsList;
-	fsNode.getChildren(fsList);
+	if ( fsNode.getChildren(fsList) ) {
 
-	_list.push_back(fsNode.getPath());
+		_list.push_back(fsNode.getPath());
 
-	if (depth > 1)
-		for (Common::FSList::const_iterator it = fsList.begin(); it != fsList.end(); ++it)
-			listDirRecursive(_list, *it, depth - 1);
+		if (depth > 1)
+			for (Common::FSList::const_iterator it = fsList.begin(); it != fsList.end(); ++it)
+				listDirRecursive(_list, *it, depth - 1);
+	}
 }
 
 } // End of namespace ZVision


Commit: 6d1fcdbdbdf72d69eda6f458ff859bed7257410b
    https://github.com/scummvm/scummvm/commit/6d1fcdbdbdf72d69eda6f458ff859bed7257410b
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:15:48+06:00

Commit Message:
ZVISION: Fix copy into fixed size buffer (CID 1257093)

Changed paths:
    engines/zvision/graphics/cursors/cursor_manager.cpp



diff --git a/engines/zvision/graphics/cursors/cursor_manager.cpp b/engines/zvision/graphics/cursors/cursor_manager.cpp
index ae13c9f..92fd461 100644
--- a/engines/zvision/graphics/cursors/cursor_manager.cpp
+++ b/engines/zvision/graphics/cursors/cursor_manager.cpp
@@ -62,7 +62,8 @@ CursorManager::CursorManager(ZVision *engine, const Graphics::PixelFormat *pixel
 		} else if (_engine->getGameId() == GID_GRANDINQUISITOR) {
 			_cursors[i][0] = ZorkCursor(_engine, _zgiCursorFileNames[i]); // Up cursor
 			char buffer[25];
-			strcpy(buffer, _zgiCursorFileNames[i]);
+			memset(buffer, 0, 25);
+			strncpy(buffer, _zgiCursorFileNames[i], 24);
 			buffer[3] += 2;
 			_cursors[i][1] = ZorkCursor(_engine, buffer); // Down cursor
 		}


Commit: 3806aa44186e4ce383697f6cb2fed8a23042020b
    https://github.com/scummvm/scummvm/commit/3806aa44186e4ce383697f6cb2fed8a23042020b
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:17:33+06:00

Commit Message:
ZVISION: Fix explicit null dereferenced (CID 1257094)

Changed paths:
    engines/zvision/scripting/sidefx/music_node.cpp
    engines/zvision/scripting/sidefx/music_node.h



diff --git a/engines/zvision/scripting/sidefx/music_node.cpp b/engines/zvision/scripting/sidefx/music_node.cpp
index c79dd02..5659818 100644
--- a/engines/zvision/scripting/sidefx/music_node.cpp
+++ b/engines/zvision/scripting/sidefx/music_node.cpp
@@ -47,6 +47,8 @@ MusicNode::MusicNode(ZVision *engine, uint32 key, Common::String &filename, bool
 	_pantrack = false;
 	_pantrackPosition = 0;
 	_sub = NULL;
+	_stereo = false;
+	_loaded = false;
 
 	Audio::RewindableAudioStream *audioStream = NULL;
 
@@ -59,30 +61,35 @@ MusicNode::MusicNode(ZVision *engine, uint32 key, Common::String &filename, bool
 		audioStream = makeRawZorkStream(filename, _engine);
 	}
 
-	_stereo = audioStream->isStereo();
+	if (audioStream) {
+		_stereo = audioStream->isStereo();
 
-	if (_loop) {
-		Audio::LoopingAudioStream *loopingAudioStream = new Audio::LoopingAudioStream(audioStream, 0, DisposeAfterUse::YES);
-		_engine->_mixer->playStream(Audio::Mixer::kPlainSoundType, &_handle, loopingAudioStream, -1, _volume);
-	} else {
-		_engine->_mixer->playStream(Audio::Mixer::kPlainSoundType, &_handle, audioStream, -1, _volume);
-	}
+		if (_loop) {
+			Audio::LoopingAudioStream *loopingAudioStream = new Audio::LoopingAudioStream(audioStream, 0, DisposeAfterUse::YES);
+			_engine->_mixer->playStream(Audio::Mixer::kPlainSoundType, &_handle, loopingAudioStream, -1, _volume);
+		} else {
+			_engine->_mixer->playStream(Audio::Mixer::kPlainSoundType, &_handle, audioStream, -1, _volume);
+		}
 
-	if (_key != StateKey_NotSet)
-		_engine->getScriptManager()->setStateValue(_key, 1);
+		if (_key != StateKey_NotSet)
+			_engine->getScriptManager()->setStateValue(_key, 1);
+
+		// Change filename.raw into filename.sub
+		Common::String subname = filename;
+		subname.setChar('s', subname.size() - 3);
+		subname.setChar('u', subname.size() - 2);
+		subname.setChar('b', subname.size() - 1);
 
-	// Change filename.raw into filename.sub
-	Common::String subname = filename;
-	subname.setChar('s', subname.size() - 3);
-	subname.setChar('u', subname.size() - 2);
-	subname.setChar('b', subname.size() - 1);
+		if (_engine->getSearchManager()->hasFile(subname))
+			_sub = new Subtitle(_engine, subname);
 
-	if (_engine->getSearchManager()->hasFile(subname))
-		_sub = new Subtitle(_engine, subname);
+		_loaded = true;
+	}
 }
 
 MusicNode::~MusicNode() {
-	_engine->_mixer->stopHandle(_handle);
+	if (!_loaded)
+		_engine->_mixer->stopHandle(_handle);
 	if (_key != StateKey_NotSet)
 		_engine->getScriptManager()->setStateValue(_key, 2);
 	if (_sub)
@@ -110,7 +117,7 @@ void MusicNode::setFade(int32 time, uint8 target) {
 }
 
 bool MusicNode::process(uint32 deltaTimeInMillis) {
-	if (! _engine->_mixer->isSoundHandleActive(_handle))
+	if (!_loaded || ! _engine->_mixer->isSoundHandleActive(_handle))
 		return stop();
 	else {
 		uint8 _newvol = _volume;
@@ -137,6 +144,8 @@ bool MusicNode::process(uint32 deltaTimeInMillis) {
 }
 
 void MusicNode::setVolume(uint8 newVolume) {
+	if (!_loaded)
+		return;
 	if (_pantrack) {
 		int curX = _engine->getScriptManager()->getStateValue(StateKey_ViewPos);
 		curX -= _pantrackPosition;
diff --git a/engines/zvision/scripting/sidefx/music_node.h b/engines/zvision/scripting/sidefx/music_node.h
index c8077c7..09bdc37 100644
--- a/engines/zvision/scripting/sidefx/music_node.h
+++ b/engines/zvision/scripting/sidefx/music_node.h
@@ -88,6 +88,7 @@ private:
 	bool _stereo;
 	Audio::SoundHandle _handle;
 	Subtitle *_sub;
+	bool _loaded;
 };
 
 class MusicMidiNode : public MusicNodeBASE {


Commit: fafbd425dc9f85e524a8222facdb0067632add84
    https://github.com/scummvm/scummvm/commit/fafbd425dc9f85e524a8222facdb0067632add84
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:18:11+06:00

Commit Message:
ZVISION: Fix copy into fixed size buffer (CID 1257095)

Changed paths:
    engines/zvision/scripting/controls/slot_control.cpp



diff --git a/engines/zvision/scripting/controls/slot_control.cpp b/engines/zvision/scripting/controls/slot_control.cpp
index 5228ba5..42b54a9 100644
--- a/engines/zvision/scripting/controls/slot_control.cpp
+++ b/engines/zvision/scripting/controls/slot_control.cpp
@@ -76,7 +76,7 @@ SlotControl::SlotControl(ZVision *engine, uint32 key, Common::SeekableReadStream
 		} else if (param.matchString("eligible_objects", true)) {
 			char buf[256];
 			memset(buf, 0, 256);
-			strcpy(buf, values.c_str());
+			strncpy(buf, values.c_str(), 255);
 
 			char *curpos = buf;
 			char *strend = buf + strlen(buf);


Commit: 79f75059de9ef2530f8d1c043d97dafe8b8ffec8
    https://github.com/scummvm/scummvm/commit/79f75059de9ef2530f8d1c043d97dafe8b8ffec8
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:18:46+06:00

Commit Message:
ZVISION: Fix copy into fixed size buffer (CID 1257096)

Changed paths:
    engines/zvision/scripting/controls/paint_control.cpp



diff --git a/engines/zvision/scripting/controls/paint_control.cpp b/engines/zvision/scripting/controls/paint_control.cpp
index f06dee2..df06bb8 100644
--- a/engines/zvision/scripting/controls/paint_control.cpp
+++ b/engines/zvision/scripting/controls/paint_control.cpp
@@ -69,7 +69,7 @@ PaintControl::PaintControl(ZVision *engine, uint32 key, Common::SeekableReadStre
 		} else if (param.matchString("eligible_objects", true)) {
 			char buf[256];
 			memset(buf, 0, 256);
-			strcpy(buf, values.c_str());
+			strncpy(buf, values.c_str(), 255);
 
 			char *curpos = buf;
 			char *strend = buf + strlen(buf);


Commit: 5fb33ee5e7c99f76ba9560b56177041d19fb602e
    https://github.com/scummvm/scummvm/commit/5fb33ee5e7c99f76ba9560b56177041d19fb602e
Author: Marisa-Chan (thunder_8888 at mail.ru)
Date: 2014-12-19T17:19:12+06:00

Commit Message:
ZVISION: Fix unchecked return value (CID 1257098)

Changed paths:
    engines/zvision/scripting/controls/save_control.cpp



diff --git a/engines/zvision/scripting/controls/save_control.cpp b/engines/zvision/scripting/controls/save_control.cpp
index e27faa5..b35611f 100644
--- a/engines/zvision/scripting/controls/save_control.cpp
+++ b/engines/zvision/scripting/controls/save_control.cpp
@@ -77,10 +77,11 @@ SaveControl::SaveControl(ZVision *engine, uint32 key, Common::SeekableReadStream
 			Common::SeekableReadStream *save = _engine->getSaveManager()->getSlotFile(iter->saveId);
 			if (save) {
 				SaveGameHeader header;
-				_engine->getSaveManager()->readSaveGameHeader(save, header);
+				if (_engine->getSaveManager()->readSaveGameHeader(save, header)) {
+					inp->setText(header.saveName);
+					iter->exist = true;
+				}
 				delete save;
-				inp->setText(header.saveName);
-				iter->exist = true;
 			}
 		}
 	}


Commit: a4c5e140e20a9dd1f23ca19c7449395726b7ec3b
    https://github.com/scummvm/scummvm/commit/a4c5e140e20a9dd1f23ca19c7449395726b7ec3b
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2014-12-19T13:32:51+02:00

Commit Message:
Merge pull request #549 from Marisa-Chan/master

ZVISION: Delete unused code

Changed paths:
    engines/zvision/core/menu.cpp
    engines/zvision/file/search_manager.cpp
    engines/zvision/file/zfs_archive.cpp
    engines/zvision/file/zfs_archive.h
    engines/zvision/graphics/cursors/cursor_manager.cpp
    engines/zvision/graphics/render_table.cpp
    engines/zvision/graphics/truetype_font.cpp
    engines/zvision/graphics/truetype_font.h
    engines/zvision/scripting/actions.cpp
    engines/zvision/scripting/actions.h
    engines/zvision/scripting/controls/input_control.cpp
    engines/zvision/scripting/controls/lever_control.cpp
    engines/zvision/scripting/controls/paint_control.cpp
    engines/zvision/scripting/controls/push_toggle_control.cpp
    engines/zvision/scripting/controls/save_control.cpp
    engines/zvision/scripting/controls/slot_control.cpp
    engines/zvision/scripting/puzzle.h
    engines/zvision/scripting/scr_file_handling.cpp
    engines/zvision/scripting/script_manager.cpp
    engines/zvision/scripting/sidefx/music_node.cpp
    engines/zvision/scripting/sidefx/music_node.h
    engines/zvision/scripting/sidefx/timer_node.cpp
    engines/zvision/sound/midi.cpp
    engines/zvision/sound/zork_raw.cpp
    engines/zvision/text/string_manager.cpp
    engines/zvision/text/string_manager.h
    engines/zvision/text/text.h
    engines/zvision/zvision.cpp









More information about the Scummvm-git-logs mailing list