[Scummvm-git-logs] scummvm master -> e14afbf282595b5e6167f3aac03b0de994869b60

athrxx noreply at scummvm.org
Tue Sep 20 21:10:40 UTC 2022


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

Summary:
e14afbf282 KYRA: init non-initialized member vars


Commit: e14afbf282595b5e6167f3aac03b0de994869b60
    https://github.com/scummvm/scummvm/commit/e14afbf282595b5e6167f3aac03b0de994869b60
Author: athrxx (athrxx at scummvm.org)
Date: 2022-09-20T23:10:27+02:00

Commit Message:
KYRA: init non-initialized member vars

Changed paths:
    engines/kyra/engine/eob.cpp
    engines/kyra/engine/eobcommon.cpp
    engines/kyra/graphics/screen_eob_amiga.cpp
    engines/kyra/graphics/screen_eob_towns.cpp
    engines/kyra/sequence/sequences_darkmoon.cpp
    engines/kyra/sound/sound_pc_v1.cpp
    engines/kyra/sound/sound_towns_darkmoon.cpp


diff --git a/engines/kyra/engine/eob.cpp b/engines/kyra/engine/eob.cpp
index fc3cd2b0904..5db89d7fd43 100644
--- a/engines/kyra/engine/eob.cpp
+++ b/engines/kyra/engine/eob.cpp
@@ -56,8 +56,8 @@ EoBEngine::EoBEngine(OSystem *system, const GameFlags &flags)
 	_invSmallDigits = _weaponSlotShapes = 0;
 	_useMainMenuGUISettings = false;
 	_addrTbl1 = _textFieldPattern = 0;
-	_playFldPattern1 = _invPattern = _statsPattern;
-	_playFldPattern2 = _tempPattern = 0;
+	_playFldPattern1 = _invPattern = _statsPattern = nullptr;
+	_playFldPattern2 = _tempPattern = nullptr;
 	_ttlCfg = 0;
 	_xdth = false;
 
diff --git a/engines/kyra/engine/eobcommon.cpp b/engines/kyra/engine/eobcommon.cpp
index 1f89bc2b2cc..c96081614bd 100644
--- a/engines/kyra/engine/eobcommon.cpp
+++ b/engines/kyra/engine/eobcommon.cpp
@@ -246,6 +246,7 @@ EoBCoreEngine::EoBCoreEngine(OSystem *system, const GameFlags &flags) : KyraRpgE
 	_levelMaps = 0;
 	_closeSpellbookAfterUse = false;
 	_wndBackgrnd = 0;
+	_ascii2SjisTables = _ascii2SjisTables2 = _mageSpellList2 = _clericSpellList2 = nullptr;
 
 	memset(_cgaMappingLevel, 0, sizeof(_cgaMappingLevel));
 	memset(_expRequirementTables, 0, sizeof(_expRequirementTables));
@@ -255,6 +256,7 @@ EoBCoreEngine::EoBCoreEngine(OSystem *system, const GameFlags &flags) : KyraRpgE
 	memset(_scriptTimers, 0, sizeof(_scriptTimers));
 	memset(_monsterBlockPosArray, 0, sizeof(_monsterBlockPosArray));
 	memset(_foundMonstersArray, 0, sizeof(_foundMonstersArray));
+	memset(_palette16c, 0, sizeof(_palette16c));
 
 #define DWM0 _dscWallMapping.push_back(0)
 #define DWM(x) _dscWallMapping.push_back(&_sceneDrawVar##x)
diff --git a/engines/kyra/graphics/screen_eob_amiga.cpp b/engines/kyra/graphics/screen_eob_amiga.cpp
index 66717fa286e..d11ffab8cd7 100644
--- a/engines/kyra/graphics/screen_eob_amiga.cpp
+++ b/engines/kyra/graphics/screen_eob_amiga.cpp
@@ -162,7 +162,7 @@ void Screen_EoB::setDualPalettes(Palette &top, Palette &bottom) {
 	enableDualPaletteMode(120);
 }
 
-AmigaDOSFont::AmigaDOSFont(Resource *res, bool needsLocalizedFont) : _res(res), _needsLocalizedFont(needsLocalizedFont), _width(0), _height(0), _first(0), _last(0), _content(0), _numElements(0), _selectedElement(0), _maxPathLen(256) {
+AmigaDOSFont::AmigaDOSFont(Resource *res, bool needsLocalizedFont) : _res(res), _needsLocalizedFont(needsLocalizedFont), _width(0), _height(0), _first(0), _last(0), _content(0), _numElements(0), _selectedElement(0), _maxPathLen(256), _colorMap(nullptr) {
 	assert(_res);
 }
 
diff --git a/engines/kyra/graphics/screen_eob_towns.cpp b/engines/kyra/graphics/screen_eob_towns.cpp
index 754e83d366a..a69616c1b93 100644
--- a/engines/kyra/graphics/screen_eob_towns.cpp
+++ b/engines/kyra/graphics/screen_eob_towns.cpp
@@ -119,7 +119,7 @@ void SJISFontLarge::drawChar(uint16 c, byte *dst, int pitch, int) const {
 	_font->drawChar(dst, c, 320, 1, _colorMap[1], _colorMap[0], 320, 200);
 }
 
-SJISFont12x12::SJISFont12x12(const uint16 *searchTable) : _height(6), _width(6), _data(0) {
+SJISFont12x12::SJISFont12x12(const uint16 *searchTable) : _height(6), _width(6), _data(0), _colorMap(nullptr) {
 	assert(searchTable);
 	for (int i = 0; i < 148; i++)
 		_searchTable[searchTable[i]] = i + 1;
diff --git a/engines/kyra/sequence/sequences_darkmoon.cpp b/engines/kyra/sequence/sequences_darkmoon.cpp
index 86103823ac7..b10824b406d 100644
--- a/engines/kyra/sequence/sequences_darkmoon.cpp
+++ b/engines/kyra/sequence/sequences_darkmoon.cpp
@@ -1125,7 +1125,7 @@ void DarkMoonEngine::seq_playCredits(DarkmoonSequenceHelper *sq, const uint8 *da
 		delete[] items[i].str;
 }
 
-DarkmoonSequenceHelper::DarkmoonSequenceHelper(OSystem *system, DarkMoonEngine *vm, Screen_EoB *screen, DarkmoonSequenceHelper::Mode mode) : _system(system), _vm(vm), _screen(screen) {
+DarkmoonSequenceHelper::DarkmoonSequenceHelper(OSystem *system, DarkMoonEngine *vm, Screen_EoB *screen, DarkmoonSequenceHelper::Mode mode) : _system(system), _vm(vm), _screen(screen), _fadePalIndex(0) {
 	init(mode);
 }
 
diff --git a/engines/kyra/sound/sound_pc_v1.cpp b/engines/kyra/sound/sound_pc_v1.cpp
index 05083ded1d6..1890440cf6b 100644
--- a/engines/kyra/sound/sound_pc_v1.cpp
+++ b/engines/kyra/sound/sound_pc_v1.cpp
@@ -40,7 +40,7 @@ const int SoundPC_v1::_kyra1SoundTriggers[] = {
 const int SoundPC_v1::_kyra1NumSoundTriggers = ARRAYSIZE(SoundPC_v1::_kyra1SoundTriggers);
 
 SoundPC_v1::SoundPC_v1(KyraEngine_v1 *vm, Audio::Mixer *mixer, kType type)
-	: Sound(vm, mixer), _driver(nullptr), _trackEntries(), _soundDataPtr(nullptr), _type(type) {
+	: Sound(vm, mixer), _driver(nullptr), _trackEntries(), _soundDataPtr(nullptr), _type(type), _version(-1) {
 	memset(_trackEntries, 0, sizeof(_trackEntries));
 
 	_soundTriggers = nullptr;
@@ -76,10 +76,11 @@ SoundPC_v1::SoundPC_v1(KyraEngine_v1 *vm, Audio::Mixer *mixer, kType type)
 	// Correct the type to someting we support. NullSound is treated as a silent AdLib driver.
 	if (_type != kAdLib && _type != kPCSpkr && _type != kPCjr)
 		_type = kAdLib;
-	_driver = (type == kAdLib) ? PCSoundDriver::createAdLib(mixer, _version) : PCSoundDriver::createPCSpk(mixer, _type == kPCjr);
+	_driver = (type == kAdLib) ? (_version > 0 ? PCSoundDriver::createAdLib(mixer, _version) : nullptr) : PCSoundDriver::createPCSpk(mixer, _type == kPCjr);
 #else
 	_type = kAdLib;
-	_driver = PCSoundDriver::createAdLib(mixer, _version);
+	if (_version > 0)
+		_driver = PCSoundDriver::createAdLib(mixer, _version);
 #endif
 	assert(_driver);
 }
diff --git a/engines/kyra/sound/sound_towns_darkmoon.cpp b/engines/kyra/sound/sound_towns_darkmoon.cpp
index cbd84841bba..3c81a15a849 100644
--- a/engines/kyra/sound/sound_towns_darkmoon.cpp
+++ b/engines/kyra/sound/sound_towns_darkmoon.cpp
@@ -36,10 +36,15 @@ namespace Kyra {
 SoundTowns_Darkmoon::SoundTowns_Darkmoon(KyraEngine_v1 *vm, Audio::Mixer *mixer) : Sound(vm, mixer) {
 	_intf = new TownsAudioInterface(mixer, this);
 	_pcmData = 0;
+	_pcmDataSize = 0;
 	_pcmVol = 0;
 	_timer = 0;
 	_timerSwitch = 0;
+	_fileList = nullptr;
+	_fileListLen = 0;
+	_lastEnvChan = _lastSfxChan = 0;
 	memset(_resource, 0, sizeof(_resource));
+	memset(_soundTable, 0, sizeof(_soundTable));
 }
 
 SoundTowns_Darkmoon::~SoundTowns_Darkmoon() {




More information about the Scummvm-git-logs mailing list