[Scummvm-git-logs] scummvm master -> 012949a04f006fe80902e096a48636863b26f6a4

athrxx noreply at scummvm.org
Mon Oct 10 20:45:20 UTC 2022


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

Summary:
3947df46f8 KYRA: code style fixes
cc6f904269 SCUMM: (IMS) - code style fixes
e67737a749 SCUMM: (IMS) - use short version strings for MT-32 display
012949a04f SCUMM: (FM-Towns) - code style fixes


Commit: 3947df46f85c6fd1e587ecd978917a4827db1e99
    https://github.com/scummvm/scummvm/commit/3947df46f85c6fd1e587ecd978917a4827db1e99
Author: athrxx (athrxx at scummvm.org)
Date: 2022-10-10T22:44:02+02:00

Commit Message:
KYRA: code style fixes

Changed paths:
    engines/kyra/engine/items_hof.cpp
    engines/kyra/engine/lol.cpp
    engines/kyra/graphics/animator_tim.cpp
    engines/kyra/graphics/screen_lol.cpp
    engines/kyra/gui/gui_v2.cpp
    engines/kyra/sound/drivers/halestorm.cpp


diff --git a/engines/kyra/engine/items_hof.cpp b/engines/kyra/engine/items_hof.cpp
index 230d6c0e6e4..e5a4d1e6061 100644
--- a/engines/kyra/engine/items_hof.cpp
+++ b/engines/kyra/engine/items_hof.cpp
@@ -175,11 +175,14 @@ bool KyraEngine_HoF::processItemDrop(uint16 sceneId, Item item, int x, int y, in
 	if (itemX == -1 || itemY == -1)
 		return false;
 
-	if (unk1 == 3) {
+	// Comment out dead code (verified in disasm that it is really like that in the
+	// original code: unk1 == 3 will automatically lead to freeItemSlot == -1, thus
+	// returning from this function early, never to arrive here.
+	/*if (unk1 == 3) {
 		_itemList[freeItemSlot].x = itemX;
 		_itemList[freeItemSlot].y = itemY;
 		return true;
-	} else if (unk1 == 2) {
+	} else */if (unk1 == 2) {
 		itemDropDown(x, y, itemX, itemY, freeItemSlot, item);
 	}
 
diff --git a/engines/kyra/engine/lol.cpp b/engines/kyra/engine/lol.cpp
index 35f3bde11b1..0d6bfb789bf 100644
--- a/engines/kyra/engine/lol.cpp
+++ b/engines/kyra/engine/lol.cpp
@@ -1730,8 +1730,7 @@ void LoLEngine::generateBrightnessPalette(const Palette &src, Palette &dst, int
 		modifier >>= 1;
 		if (modifier)
 			modifier--;
-		if (modifier > 3)
-			modifier = 3;
+
 		_blockBrightness = modifier << 4;
 		_sceneUpdateRequired = true;
 
@@ -3295,7 +3294,7 @@ void LoLEngine::playSpellAnimation(WSAMovie_v2 *mov, int firstFrame, int lastFra
 			fin = true;
 	}
 
-	if (restoreScreen && (mov || callback)) {
+	if (restoreScreen && mov) {
 		_screen->copyPage(12, 2);
 		_screen->copyRegion(x, y, x, y, w2, h2, 2, 0, Screen::CR_NO_P_CHECK);
 		_screen->updateScreen();
@@ -3572,14 +3571,7 @@ int LoLEngine::calcInflictableDamagePerItem(int16 attacker, int16 target, uint16
 	if (hitType == 2 || !dmg)
 		return (dmg == 1) ? 2 : dmg;
 
-
-	int p = (calculateProtection(target) << 7) / dmg;
-	if (p > 217)
-		p = 217;
-
-	d = 256 - p;
-	r = (dmg * ABS(d)) >> 8;
-	dmg = d < 0 ? -r : r;
+	dmg = (dmg * (256 - MIN<int>((calculateProtection(target) << 7) / dmg, 217))) >> 8;
 
 	return (dmg < 2) ? 2 : dmg;
 }
diff --git a/engines/kyra/graphics/animator_tim.cpp b/engines/kyra/graphics/animator_tim.cpp
index 3bc02352d80..7044e73af4a 100644
--- a/engines/kyra/graphics/animator_tim.cpp
+++ b/engines/kyra/graphics/animator_tim.cpp
@@ -39,10 +39,12 @@ TimAnimator::TimAnimator(LoLEngine *engine, Screen_v2 *screen_v2, OSystem *syste
 TimAnimator::TimAnimator(KyraEngine_v1 *engine, Screen_v2 *screen_v2, OSystem *system, bool useParts) : _vm(engine), _screen(screen_v2), _system(system), _useParts(useParts) {
 #endif
 	_animations = new Animation[TIM::kWSASlots]();
+	assert(_animations);
 
 	if (_useParts) {
 		for (int i = 0; i < TIM::kWSASlots; i++) {
 			_animations[i].parts = new AnimPart[TIM::kAnimParts]();
+			assert(_animations[i].parts);
 		}
 	}
 }
@@ -70,8 +72,6 @@ void TimAnimator::init(int animIndex, Movie *wsa, int x, int y, int wsaCopyParam
 
 void TimAnimator::reset(int animIndex, bool clearStruct) {
 	Animation *anim = &_animations[animIndex];
-	if (!anim)
-		return;
 	anim->field_D = 0;
 	anim->enable = 0;
 	delete anim->wsa;
@@ -86,6 +86,7 @@ void TimAnimator::reset(int animIndex, bool clearStruct) {
 		if (_useParts) {
 			anim->parts = new AnimPart[TIM::kAnimParts];
 			memset(anim->parts, 0, TIM::kAnimParts * sizeof(AnimPart));
+			assert(anim->parts);
 		}
 	}
 }
diff --git a/engines/kyra/graphics/screen_lol.cpp b/engines/kyra/graphics/screen_lol.cpp
index a2b4f32e75c..f4f5cb05544 100644
--- a/engines/kyra/graphics/screen_lol.cpp
+++ b/engines/kyra/graphics/screen_lol.cpp
@@ -218,7 +218,7 @@ void Screen_LoL::drawGridBox(int x, int y, int w, int h, int col) {
 
 	tmp = (y + x) & 1;
 	uint8 *p = getPagePtr(_curPage) + y * 320 + x;
-	uint8 s = (tmp >> 8) & 1;
+	bool oddWidth = w & 1;
 
 	w >>= 1;
 	int w2 = w;
@@ -231,7 +231,7 @@ void Screen_LoL::drawGridBox(int x, int y, int w, int h, int col) {
 			}
 		}
 
-		if (s == 1) {
+		if (oddWidth) {
 			if (tmp == 0)
 				*p = col;
 			p++;
diff --git a/engines/kyra/gui/gui_v2.cpp b/engines/kyra/gui/gui_v2.cpp
index a04931c34d2..2ea706002f9 100644
--- a/engines/kyra/gui/gui_v2.cpp
+++ b/engines/kyra/gui/gui_v2.cpp
@@ -846,10 +846,8 @@ bool GUI_v2::checkSavegameDescription(const char *buffer, int size) {
 	if (buffer[0] == 0)
 		return false;
 	for (int i = 0; i < size; ++i) {
-		if (buffer[i] != 0x20)
+		if (buffer[i] != ' ')
 			return true;
-		else if (buffer[i] == 0x00)
-			return false;
 	}
 	return false;
 }
diff --git a/engines/kyra/sound/drivers/halestorm.cpp b/engines/kyra/sound/drivers/halestorm.cpp
index d78324aa19d..192d3798bbd 100644
--- a/engines/kyra/sound/drivers/halestorm.cpp
+++ b/engines/kyra/sound/drivers/halestorm.cpp
@@ -88,7 +88,7 @@ public:
 	ShStBuffer(ShStBuffer &&buff) noexcept : ptr(buff.ptr), len(buff.len), lifes(buff.lifes) { buff.lifes = nullptr; }
 	ShStBuffer(const void *p, uint32 cb, bool allocate = false) : ptr((const uint8*)p), len(cb), lifes(nullptr) { if (allocate) memcpy(crtbuf(), p, cb); }
 	ShStBuffer() : ShStBuffer(nullptr, 0) {}
-	ShStBuffer(Common::SeekableReadStream *s) : len(s ? s->size() : 0), lifes(nullptr) { if (s) s->read(crtbuf(), len); }
+	ShStBuffer(Common::SeekableReadStream *s) : len(s ? s->size() : 0), lifes(nullptr), ptr(nullptr) { if (s) s->read(crtbuf(), len); }
 	~ShStBuffer() { dcrlif(); }
 	ShStBuffer &operator=(Common::SeekableReadStream *s) { return operator=(ShStBuffer(s)); }
 	ShStBuffer &operator=(ShStBuffer &&buff) noexcept {


Commit: cc6f9042697968906663f5cd48398fc611263fd4
    https://github.com/scummvm/scummvm/commit/cc6f9042697968906663f5cd48398fc611263fd4
Author: athrxx (athrxx at scummvm.org)
Date: 2022-10-10T22:44:08+02:00

Commit Message:
SCUMM: (IMS) - code style fixes

Changed paths:
    engines/scumm/imuse/drivers/mac_m68k.cpp
    engines/scumm/imuse/drivers/mac_m68k.h
    engines/scumm/imuse/drivers/midi.cpp
    engines/scumm/imuse/imuse.cpp
    engines/scumm/imuse/imuse_internal.h


diff --git a/engines/scumm/imuse/drivers/mac_m68k.cpp b/engines/scumm/imuse/drivers/mac_m68k.cpp
index 3cfbd059061..9f657cbe6ad 100644
--- a/engines/scumm/imuse/drivers/mac_m68k.cpp
+++ b/engines/scumm/imuse/drivers/mac_m68k.cpp
@@ -28,7 +28,7 @@
 namespace Scumm {
 
 IMuseDriver_MacM68k::IMuseDriver_MacM68k(Audio::Mixer *mixer)
-	: MidiDriver_Emulated(mixer), _mixBuffer(nullptr), _mixBufferLength(0), _volumeTable(nullptr), _lastUsedVoiceChannel(0) {
+	: MidiDriver_Emulated(mixer), _mixBuffer(nullptr), _mixBufferLength(0), _volumeTable(nullptr), _lastUsedVoiceChannel(0), _defaultInstrument() {
 	memset(_channels, 0, sizeof(_channels));
 	memset(_pitchTable, 0, sizeof(_pitchTable));
 	memset(_voiceChannels, 0, sizeof(_voiceChannels));
diff --git a/engines/scumm/imuse/drivers/mac_m68k.h b/engines/scumm/imuse/drivers/mac_m68k.h
index 36a4546aef5..954a3f72256 100644
--- a/engines/scumm/imuse/drivers/mac_m68k.h
+++ b/engines/scumm/imuse/drivers/mac_m68k.h
@@ -62,6 +62,7 @@ private:
 	int _mixBufferLength;
 
 	struct Instrument {
+		Instrument() : length(0), sampleRate(0), loopStart(0), loopEnd(0), baseFrequency(0), data(nullptr) {}
 		uint length;
 		uint sampleRate;
 		uint loopStart;
@@ -129,7 +130,7 @@ private:
 		friend class IMuseDriver_MacM68k;
 	public:
 		MidiChannel_MacM68k(IMuseDriver_MacM68k *driver, byte number) : MidiChannel(), _owner(driver), _number(number), _allocated(false),
-			_priority(0), _sustain(0), _pitchBend(0), _pitchBendFactor(2), _transpose(0), _detune(0), _volume(0) {}
+			_priority(0), _sustain(0), _pitchBend(0), _pitchBendFactor(2), _transpose(0), _detune(0), _volume(0), _voice(nullptr), _instrument() {}
 		MidiDriver *device() override { return _owner; }
 		byte getNumber() override { return _number; }
 		void release() override;
diff --git a/engines/scumm/imuse/drivers/midi.cpp b/engines/scumm/imuse/drivers/midi.cpp
index ccb98228ee4..7618f2b6aa8 100644
--- a/engines/scumm/imuse/drivers/midi.cpp
+++ b/engines/scumm/imuse/drivers/midi.cpp
@@ -153,7 +153,7 @@ void disconnect(ChannelNode *&chain, ChannelNode *node) {
 
 IMuseChannel_Midi::IMuseChannel_Midi(IMuseDriver_GMidi *drv, int number) :MidiChannel(), _drv(drv), _number(number), _allocated(false), _sustain(false),
 	_pitchBend(0x2000), _polyphony(1), _channelUsage(0), _exhaust(false), _prio(0x80), _detune(0), _transpose(0), _pitchBendTemp(0), _pitchBendSensitivity(2),
-	_activeChain(drv ? _drv->_activeChain : _dummyNode), _idleChain(drv ? _drv->_idleChain : _dummyNode), _newSystem(drv ? drv->_newSystem : false) {
+	_activeChain(drv ? _drv->_activeChain : _dummyNode), _idleChain(drv ? _drv->_idleChain : _dummyNode), _dummyNode(nullptr), _newSystem(drv ? drv->_newSystem : false) {
 	assert(_drv);
 }
 
diff --git a/engines/scumm/imuse/imuse.cpp b/engines/scumm/imuse/imuse.cpp
index 187ead42f6e..cc50697cc56 100644
--- a/engines/scumm/imuse/imuse.cpp
+++ b/engines/scumm/imuse/imuse.cpp
@@ -66,8 +66,8 @@ IMuseInternal::IMuseInternal(ScummEngine *vm, MidiDriverFlags sndType, uint32 in
 	_trigger_count(0),
 	_snm_trigger_index(0),
 	_soundType(sndType),
-	_game_id(vm->_game.id),
-	_mutex(vm->_mixer->mutex()) {
+	_game_id(vm ? vm->_game.id : 0),
+	_mutex(vm ? vm->_mixer->mutex() : _dummyMutex) {
 	memset(_channel_volume, 0, sizeof(_channel_volume));
 	memset(_channel_volume_eff, 0, sizeof(_channel_volume_eff));
 	memset(_volchan_table, 0, sizeof(_volchan_table));
@@ -1407,7 +1407,6 @@ IMuseInternal *IMuseInternal::create(ScummEngine *vm, MidiDriver *nativeMidiDriv
 int IMuseInternal::initialize(OSystem *syst, MidiDriver *native_midi, MidiDriver *adlib_midi) {
 	int i;
 
-	_system = syst;
 	_midi_native = native_midi;
 	_midi_adlib = adlib_midi;
 	if (native_midi != nullptr) {
diff --git a/engines/scumm/imuse/imuse_internal.h b/engines/scumm/imuse/imuse_internal.h
index 064874af264..57385062d2a 100644
--- a/engines/scumm/imuse/imuse_internal.h
+++ b/engines/scumm/imuse/imuse_internal.h
@@ -425,8 +425,8 @@ protected:
 	// SysEx handlers for client-specified manufacturer codes.
 	sysexfunc _sysex;
 
-	OSystem *_system;
 	Common::Mutex &_mutex;
+	Common::Mutex _dummyMutex;
 
 protected:
 	bool _paused;


Commit: e67737a749bedf9c3b4fa97f3ae3d048a4e35752
    https://github.com/scummvm/scummvm/commit/e67737a749bedf9c3b4fa97f3ae3d048a4e35752
Author: athrxx (athrxx at scummvm.org)
Date: 2022-10-10T22:44:13+02:00

Commit Message:
SCUMM: (IMS) - use short version strings for MT-32 display

The builds distributed over the website have long version strings
(which include the revison number) that don't fit the MT-32 display.
So we just trim them after the version number...

Changed paths:
    engines/scumm/imuse/drivers/midi.cpp


diff --git a/engines/scumm/imuse/drivers/midi.cpp b/engines/scumm/imuse/drivers/midi.cpp
index 7618f2b6aa8..cdb7d09183e 100644
--- a/engines/scumm/imuse/drivers/midi.cpp
+++ b/engines/scumm/imuse/drivers/midi.cpp
@@ -892,7 +892,9 @@ void IMuseDriver_MT32::initDevice() {
 	}
 
 	// Display a welcome message on MT-32 displays. Compute version string (truncated to 20 chars max.)
-	Common::String infoStr = Common::String("ScummVM ") + gScummVMVersion;
+	Common::String infoStr = gScummVMVersion;
+	infoStr = "ScummVM " + infoStr.substr(0, MIN<uint32>(infoStr.findFirstNotOf("0123456789."), 12));
+
 	for (int i = (20 - (int)infoStr.size()) >> 1; i > 0; --i)
 		infoStr = ' ' + infoStr + ' ';
 	sendMT32Sysex(0x80000, (const byte*)infoStr.c_str(), MIN<uint32>(infoStr.size(), 20));


Commit: 012949a04f006fe80902e096a48636863b26f6a4
    https://github.com/scummvm/scummvm/commit/012949a04f006fe80902e096a48636863b26f6a4
Author: athrxx (athrxx at scummvm.org)
Date: 2022-10-10T22:44:17+02:00

Commit Message:
SCUMM: (FM-Towns) - code style fixes

Changed paths:
    engines/scumm/gfx.h


diff --git a/engines/scumm/gfx.h b/engines/scumm/gfx.h
index 7bb1dbd5b84..b9817dfc6e8 100644
--- a/engines/scumm/gfx.h
+++ b/engines/scumm/gfx.h
@@ -495,12 +495,12 @@ public:
 	bool isScrolling(int direction, int threshold = 0) const { return (direction == 0) ? _scrollRemainder != threshold : (direction == 1 ? _scrollRemainder > threshold : _scrollRemainder < threshold); }
 
 	uint8 *getLayerPixels(int layer, int x, int y) const;
-	int getLayerPitch(int layer) const { return (layer >= 0 && layer < 2) ? _layers[layer].pitch : 0; }
-	int getLayerWidth(int layer) const { return (layer >= 0 && layer < 2) ? _layers[layer].width : 0; }
-	int getLayerHeight(int layer) const { return (layer >= 0 && layer < 2) ? _layers[layer].height : 0; }
-	int getLayerBpp(int layer) const { return (layer >= 0 && layer < 2) ? _layers[layer].bpp : 0; }
-	int getLayerScaleW(int layer) const { return (layer >= 0 && layer < 2) ? _layers[layer].scaleW : 0; }
-	int getLayerScaleH(int layer) const { return (layer >= 0 && layer < 2) ? _layers[layer].scaleH : 0; }
+	int getLayerPitch(int layer) const { assert (layer >= 0 && layer < 2); return _layers[layer].pitch; }
+	int getLayerWidth(int layer) const { assert (layer >= 0 && layer < 2); return _layers[layer].width; }
+	int getLayerHeight(int layer) const { assert (layer >= 0 && layer < 2); return _layers[layer].height; }
+	int getLayerBpp(int layer) const { assert (layer >= 0 && layer < 2); return _layers[layer].bpp; }
+	int getLayerScaleW(int layer) const { assert (layer >= 0 && layer < 2); return _layers[layer].scaleW; }
+	int getLayerScaleH(int layer) const { assert (layer >= 0 && layer < 2); return _layers[layer].scaleH; }
 
 private:
 	struct TownsScreenLayer {




More information about the Scummvm-git-logs mailing list