From d11c61db1466d79ef6253814a86b04950b499ec3 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Sun, 1 Dec 2019 05:06:31 +0000 Subject: SCI: Fix Missing Default Switch Cases These are flagged by GCC if -Wswitch-default is enabled. --- engines/sci/console.cpp | 4 ++++ engines/sci/decompressor.cpp | 7 +++++++ engines/sci/engine/guest_additions.cpp | 4 ++++ engines/sci/engine/kernel.cpp | 3 +++ engines/sci/engine/kgraphics.cpp | 2 ++ engines/sci/engine/kmisc.cpp | 4 ++++ engines/sci/engine/kmovement.cpp | 6 ++++++ engines/sci/engine/ksound.cpp | 2 ++ engines/sci/engine/kstring.cpp | 2 ++ engines/sci/engine/script_patches.cpp | 8 ++++++++ engines/sci/engine/scriptdebug.cpp | 3 +++ engines/sci/engine/segment.h | 3 +++ engines/sci/engine/state.cpp | 4 ++++ engines/sci/graphics/controls16.cpp | 2 ++ engines/sci/graphics/controls32.cpp | 2 ++ engines/sci/graphics/menu.cpp | 13 +++++++++++++ engines/sci/graphics/palette.cpp | 2 ++ engines/sci/graphics/screen.cpp | 2 ++ engines/sci/graphics/screen_item32.cpp | 10 ++++++---- engines/sci/graphics/text16.cpp | 5 +++++ engines/sci/graphics/transitions.cpp | 6 ++++++ engines/sci/graphics/transitions32.cpp | 25 +++++++++++++------------ engines/sci/graphics/view.cpp | 1 + engines/sci/parser/vocabulary.cpp | 2 ++ engines/sci/resource.cpp | 8 +++++++- engines/sci/resource_audio.cpp | 5 ++++- engines/sci/sound/audio.cpp | 2 ++ engines/sci/sound/drivers/amigamac.cpp | 2 ++ engines/sci/sound/midiparser_sci.cpp | 3 +++ 29 files changed, 124 insertions(+), 18 deletions(-) (limited to 'engines/sci') diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp index 8409ca0440..84f74d9cdf 100644 --- a/engines/sci/console.cpp +++ b/engines/sci/console.cpp @@ -3923,6 +3923,10 @@ void Console::printBreakpoint(int index, const Breakpoint &bp) { break; case BREAK_KERNEL: debugPrintf("Kernel call k%s%s\n", bp._name.c_str(), bpaction); + break; + default: + debugPrintf("UNKNOWN TYPE\n"); + break; } } diff --git a/engines/sci/decompressor.cpp b/engines/sci/decompressor.cpp index 158119fe86..d29a7dcf95 100644 --- a/engines/sci/decompressor.cpp +++ b/engines/sci/decompressor.cpp @@ -171,6 +171,8 @@ int DecompressorLZW::unpack(Common::ReadStream *src, byte *dest, uint32 nPacked, unpackLZW1(src, buffer, nPacked, nUnpacked); reorderPic(buffer, dest, nUnpacked); break; + default: + break; } delete[] buffer; return 0; @@ -334,6 +336,9 @@ int DecompressorLZW::unpackLZW1(Common::ReadStream *src, byte *dest, uint32 nPac } lastbits = bitstring; break; + + default: + break; } } @@ -367,6 +372,7 @@ void DecompressorLZW::decodeRLE(byte **rledata, byte **pixeldata, byte *outbuffe pos += nextbyte; break; case 0xC0: + default: break; case 0x80: nextbyte = *pd++; @@ -400,6 +406,7 @@ int DecompressorLZW::getRLEsize(byte *rledata, int dsize) { pos += nextbyte; break; case 0xC0: + default: break; case 0x80: pos++; diff --git a/engines/sci/engine/guest_additions.cpp b/engines/sci/engine/guest_additions.cpp index 5ed3776415..dd0448f4a0 100644 --- a/engines/sci/engine/guest_additions.cpp +++ b/engines/sci/engine/guest_additions.cpp @@ -842,6 +842,7 @@ void GuestAdditions::syncMessageTypeFromScummVM() const { break; #endif case kMessageTypeSyncStrategyNone: + default: break; } } @@ -940,6 +941,7 @@ void GuestAdditions::syncMessageTypeToScummVM(const int index, const reg_t value // LSL6hires synchronisation happens via send_selector #endif case kMessageTypeSyncStrategyNone: + default: break; } } @@ -1326,6 +1328,8 @@ void GuestAdditions::syncAudioVolumeGlobalsToScummVM(const int index, const reg_ case kGlobalVarTorinSpeechVolume: ConfMan.setInt("speech_volume", volume); break; + default: + break; } } break; diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index 3cf5fd5b79..8477b93a24 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -300,6 +300,9 @@ static uint16 *parseKernelSignature(const char *kernelName, const char *writtenS writePos++; signature = 0; } + break; + default: + break; } } switch (curChar) { diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index e6644b54bd..5562e2c45d 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -860,6 +860,8 @@ void _k_GenericDrawControl(EngineState *s, reg_t controlObject, bool hilite) { case SCI_CONTROLS_TYPE_TEXT: splitText = g_sci->strSplitLanguage(text.c_str(), &languageSplitter); break; + default: + break; } switch (type) { diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp index 43487939e5..0b5756c337 100644 --- a/engines/sci/engine/kmisc.cpp +++ b/engines/sci/engine/kmisc.cpp @@ -369,6 +369,8 @@ reg_t kMemory(EngineState *s, int argc, reg_t *argv) { } break; } + default: + break; } return s->r_acc; @@ -757,6 +759,8 @@ reg_t kKawaHacks(EngineState *s, int argc, reg_t *argv) { case 3: // IsDebug // Return 1 if running with an internal debugger, 2 if we have AddMenu support, 3 if both. return make_reg(0, 3); + default: + break; } return NULL_REG; } diff --git a/engines/sci/engine/kmovement.cpp b/engines/sci/engine/kmovement.cpp index 9b83dbc52d..7422980df8 100644 --- a/engines/sci/engine/kmovement.cpp +++ b/engines/sci/engine/kmovement.cpp @@ -476,6 +476,9 @@ reg_t kDoAvoider(EngineState *s, int argc, reg_t *argv) { case 270: case 315: newX -= clientXstep; + break; + default: + break; } switch (newHeading) { @@ -488,6 +491,9 @@ reg_t kDoAvoider(EngineState *s, int argc, reg_t *argv) { case 180: case 225: newY += clientYstep; + break; + default: + break; } writeSelectorValue(segMan, client, SELECTOR(x), newX); writeSelectorValue(segMan, client, SELECTOR(y), newY); diff --git a/engines/sci/engine/ksound.cpp b/engines/sci/engine/ksound.cpp index 1a34e82c5e..321e83d947 100644 --- a/engines/sci/engine/ksound.cpp +++ b/engines/sci/engine/ksound.cpp @@ -92,6 +92,8 @@ reg_t kDoSoundPhantasmagoriaMac(EngineState *s, int argc, reg_t *argv) { return g_sci->_soundCmd->kDoSoundSetLoop(s, argc - 1, argv + 1); case 10: return g_sci->_soundCmd->kDoSoundUpdateCues(s, argc - 1, argv + 1); + default: + break; } error("Unknown kDoSound Phantasmagoria Mac subop %d", argv[0].toUint16()); diff --git a/engines/sci/engine/kstring.cpp b/engines/sci/engine/kstring.cpp index cbe481d343..4cf12360a1 100644 --- a/engines/sci/engine/kstring.cpp +++ b/engines/sci/engine/kstring.cpp @@ -544,6 +544,8 @@ reg_t kMessage(EngineState *s, int argc, reg_t *argv) { return make_reg(0, t.verb); case K_MESSAGE_REFNOUN: return make_reg(0, t.noun); + default: + break; } } diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp index 753b25636b..7641a32528 100644 --- a/engines/sci/engine/script_patches.cpp +++ b/engines/sci/engine/script_patches.cpp @@ -17305,6 +17305,9 @@ void ScriptPatcher::applyPatch(const SciScriptPatcherEntry *patchEntry, SciSpan< case PATCH_CODE_BYTE: scriptData[offset] = patchValue & PATCH_BYTEMASK; offset++; + break; + default: + break; } patchData++; patchWord = *patchData; @@ -17383,6 +17386,9 @@ bool ScriptPatcher::verifySignature(uint32 byteOffset, const uint16 *signatureDa } else { sigWord = SIG_MISMATCH; // out of bounds } + break; + default: + break; } if (sigWord == SIG_MISMATCH) @@ -17493,6 +17499,8 @@ void ScriptPatcher::calculateMagicDWordAndVerify(const char *signatureDescriptio } break; } + default: + break; } magicOffset -= 2; if (magicDWordLeft) { diff --git a/engines/sci/engine/scriptdebug.cpp b/engines/sci/engine/scriptdebug.cpp index c579239b09..7a1fe66d35 100644 --- a/engines/sci/engine/scriptdebug.cpp +++ b/engines/sci/engine/scriptdebug.cpp @@ -1111,6 +1111,9 @@ void logBacktrace() { con->debugPrintf(" %x:[%x] vs%s %s::%s (", i, call.debugOrigin, (call.argc) ? "write" : "read", objname, g_sci->getKernel()->getSelectorName(call.debugSelector).c_str()); break; + + default: + break; } totalparamc = call.argc; diff --git a/engines/sci/engine/segment.h b/engines/sci/engine/segment.h index 8df3653434..5bc655a4bf 100644 --- a/engines/sci/engine/segment.h +++ b/engines/sci/engine/segment.h @@ -752,8 +752,11 @@ public: } break; } + case kArrayTypeInvalid: + default: error("Attempted write to uninitialized SciArray"); + break; } } diff --git a/engines/sci/engine/state.cpp b/engines/sci/engine/state.cpp index 65d5562ab9..5bb1343839 100644 --- a/engines/sci/engine/state.cpp +++ b/engines/sci/engine/state.cpp @@ -264,7 +264,11 @@ Common::String SciEngine::getSciLanguageString(const Common::String &str, kLangu fullWidth += 0x0D; // CR textPtr += 2; continue; + default: + break; } + default: + break; } textPtr++; diff --git a/engines/sci/graphics/controls16.cpp b/engines/sci/graphics/controls16.cpp index 138f49e765..08906c03a0 100644 --- a/engines/sci/graphics/controls16.cpp +++ b/engines/sci/graphics/controls16.cpp @@ -214,6 +214,8 @@ void GfxControls16::kernelTexteditChange(reg_t controlObject, reg_t eventObject) break; } break; + default: + break; } } diff --git a/engines/sci/graphics/controls32.cpp b/engines/sci/graphics/controls32.cpp index fa4396c1d8..9f0223be84 100644 --- a/engines/sci/graphics/controls32.cpp +++ b/engines/sci/graphics/controls32.cpp @@ -172,6 +172,8 @@ reg_t GfxControls32::kernelEditText(const reg_t controlObject) { case kSciKeyEnter: focused = false; break; + default: + break; } } diff --git a/engines/sci/graphics/menu.cpp b/engines/sci/graphics/menu.cpp index 25d9edabe6..b1ebbc71e5 100644 --- a/engines/sci/graphics/menu.cpp +++ b/engines/sci/graphics/menu.cpp @@ -138,6 +138,8 @@ void GfxMenu::kernelAddEntry(Common::String title, Common::String content, reg_t functionPos = curPos; } break; + default: + break; } curPos++; } @@ -205,6 +207,9 @@ void GfxMenu::kernelAddEntry(Common::String title, Common::String content, reg_t // Some multilingual sci01 games use e.g. '--!%G--!' (which doesn't really make sense) separatorCount += 2; curPos++; + break; + default: + break; } curPos++; } @@ -492,6 +497,9 @@ reg_t GfxMenu::kernelSelect(reg_t eventObject, bool pauseSound) { forceClaimed = true; } } break; + + default: + break; } if (!_menuSaveHandle.isNull()) { @@ -790,6 +798,8 @@ GuiMenuItemEntry *GfxMenu::interactiveWithKeyboard() { case kSciKeyDown: newItemId++; break; + default: + break; } if ((newMenuId != curItemEntry->menuId) || (newItemId != curItemEntry->id)) { // Selection changed, fix up new selection if required @@ -801,6 +811,9 @@ GuiMenuItemEntry *GfxMenu::interactiveWithKeyboard() { case kSciKeyLeft: case kSciKeyRight: curEvent.character = kSciKeyDown; + break; + default: + break; } } } while (newItemEntry->separatorLine); diff --git a/engines/sci/graphics/palette.cpp b/engines/sci/graphics/palette.cpp index bc0b8485d2..4b19f27f82 100644 --- a/engines/sci/graphics/palette.cpp +++ b/engines/sci/graphics/palette.cpp @@ -199,6 +199,8 @@ void GfxPalette::createFromData(const SciSpan &data, Palette *palett paletteOut->colors[colorNo].b = data[palOffset++]; } break; + default: + break; } } diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp index 4bb9f5f6f6..240fcbfd4d 100644 --- a/engines/sci/graphics/screen.cpp +++ b/engines/sci/graphics/screen.cpp @@ -724,6 +724,8 @@ void GfxScreen::debugShowMap(int mapNo) { case 3: _activeScreen = _displayScreen; break; + default: + break; } copyToScreen(); } diff --git a/engines/sci/graphics/screen_item32.cpp b/engines/sci/graphics/screen_item32.cpp index c2ee0e43ed..c7888fa872 100644 --- a/engines/sci/graphics/screen_item32.cpp +++ b/engines/sci/graphics/screen_item32.cpp @@ -473,16 +473,18 @@ CelObj &ScreenItem::getCelObj() const { switch (_celInfo.type) { case kCelTypeView: _celObj.reset(new CelObjView(_celInfo.resourceId, _celInfo.loopNo, _celInfo.celNo)); - break; + break; case kCelTypePic: error("Internal error, pic screen item with no cel."); - break; + break; case kCelTypeMem: _celObj.reset(new CelObjMem(_celInfo.bitmap)); - break; + break; case kCelTypeColor: _celObj.reset(new CelObjColor(_celInfo.color, _insetRect.width(), _insetRect.height())); - break; + break; + default: + break; } } diff --git a/engines/sci/graphics/text16.cpp b/engines/sci/graphics/text16.cpp index cdb7c260d4..8aba5587f2 100644 --- a/engines/sci/graphics/text16.cpp +++ b/engines/sci/graphics/text16.cpp @@ -138,6 +138,8 @@ int16 GfxText16::CodeProcessing(const char *&text, GuiResourceId orgFontId, int1 } } break; + default: + break; } return textCodeSize; } @@ -245,6 +247,9 @@ int16 GfxText16::GetLongest(const char *&textPtr, int16 maxWidth, GuiResourceId lastSpaceCharCount = curCharCount; // return count up to (but not including) breaking space lastSpacePtr = textPtr + 1; // remember position right after the current space break; + + default: + break; } tempWidth += _font->getCharWidth(curChar); diff --git a/engines/sci/graphics/transitions.cpp b/engines/sci/graphics/transitions.cpp index 78f465ca3a..4c8fc89fc6 100644 --- a/engines/sci/graphics/transitions.cpp +++ b/engines/sci/graphics/transitions.cpp @@ -456,6 +456,9 @@ void GfxTransitions::straight(int16 number, bool blackoutFlag) { newScreenRect.translate(0, 1); } break; + + default: + break; } } @@ -553,6 +556,9 @@ void GfxTransitions::scroll(int16 number) { } } break; + + default: + break; } // Copy over final position just in case diff --git a/engines/sci/graphics/transitions32.cpp b/engines/sci/graphics/transitions32.cpp index cb48927c52..0e00ab5ef3 100644 --- a/engines/sci/graphics/transitions32.cpp +++ b/engines/sci/graphics/transitions32.cpp @@ -133,43 +133,44 @@ void GfxTransitions32::processEffects(PlaneShowStyle &showStyle) { switch(showStyle.type) { case kShowStyleHShutterOut: processHShutterOut(showStyle); - break; + break; case kShowStyleHShutterIn: processHShutterIn(showStyle); - break; + break; case kShowStyleVShutterOut: processVShutterOut(showStyle); - break; + break; case kShowStyleVShutterIn: processVShutterIn(showStyle); - break; + break; case kShowStyleWipeLeft: processWipeLeft(showStyle); - break; + break; case kShowStyleWipeRight: processWipeRight(showStyle); - break; + break; case kShowStyleWipeUp: processWipeUp(showStyle); - break; + break; case kShowStyleWipeDown: processWipeDown(showStyle); - break; + break; case kShowStyleIrisOut: processIrisOut(showStyle); - break; + break; case kShowStyleIrisIn: processIrisIn(showStyle); - break; + break; case kShowStyleDissolveNoMorph: case kShowStyleDissolve: processPixelDissolve(showStyle); - break; + break; case kShowStyleNone: case kShowStyleFadeOut: case kShowStyleFadeIn: case kShowStyleMorph: - break; + default: + break; } } diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp index c6d7baadc1..0c7aed3917 100644 --- a/engines/sci/graphics/view.cpp +++ b/engines/sci/graphics/view.cpp @@ -601,6 +601,7 @@ void unpackCelData(const SciSpan &inBuffer, SciSpan &celBitmap memset(outPtr + pixelNr, *literalPtr++, MIN(runLength, pixelCount - pixelNr)); break; case 0xC0: // skip the next pixels (transparency) + default: break; } diff --git a/engines/sci/parser/vocabulary.cpp b/engines/sci/parser/vocabulary.cpp index 387ddef8bf..6699ed25b8 100644 --- a/engines/sci/parser/vocabulary.cpp +++ b/engines/sci/parser/vocabulary.cpp @@ -531,6 +531,8 @@ void Vocabulary::debugDecipherSaidBlock(const SciSpan &data) { case 0xf9: debugN(">"); break; + default: + break; } } } while (nextItem != 0xff && addr != data.cend()); diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp index 765747b3df..779bd0acb2 100644 --- a/engines/sci/resource.cpp +++ b/engines/sci/resource.cpp @@ -1219,6 +1219,8 @@ const char *ResourceManager::versionDescription(ResVersion version) const { return "SCI2/2.1"; case kResVersionSci3: return "SCI3"; + default: + break; } return "Version not valid"; @@ -2364,7 +2366,7 @@ ViewType ResourceManager::detectViewType() { return kViewAmiga64; return kViewVga; - case 0: + case 0: { // EGA or Amiga, try to read as Amiga view if (res->size() < 10) @@ -2412,6 +2414,10 @@ ViewType ResourceManager::detectViewType() { return kViewAmiga; } + + default: + break; + } } } diff --git a/engines/sci/resource_audio.cpp b/engines/sci/resource_audio.cpp index b3878d7a16..c825196d93 100644 --- a/engines/sci/resource_audio.cpp +++ b/engines/sci/resource_audio.cpp @@ -52,7 +52,7 @@ AudioVolumeResourceSource::AudioVolumeResourceSource(ResourceManager *resMan, co switch (compressionType) { case MKTAG('M','P','3',' '): case MKTAG('O','G','G',' '): - case MKTAG('F','L','A','C'): + case MKTAG('F','L','A','C'): { _audioCompressionType = compressionType; const uint32 numEntries = fileStream->readUint32LE(); if (!numEntries) { @@ -73,6 +73,9 @@ AudioVolumeResourceSource::AudioVolumeResourceSource(ResourceManager *resMan, co } lastEntry->size = fileStream->size() - lastEntry->offset; + } + break; + default: break; } diff --git a/engines/sci/sound/audio.cpp b/engines/sci/sound/audio.cpp index ad5dec6289..393c38724c 100644 --- a/engines/sci/sound/audio.cpp +++ b/engines/sci/sound/audio.cpp @@ -386,6 +386,8 @@ Audio::RewindableAudioStream *AudioPlayer::getAudioStream(uint32 number, uint32 audioSeekStream = Audio::makeFLACStream(compressedStream, DisposeAfterUse::YES); #endif break; + default: + break; } #else error("Compressed audio file encountered, but no appropriate decoder is compiled in"); diff --git a/engines/sci/sound/drivers/amigamac.cpp b/engines/sci/sound/drivers/amigamac.cpp index 3145af5666..70d131a25b 100644 --- a/engines/sci/sound/drivers/amigamac.cpp +++ b/engines/sci/sound/drivers/amigamac.cpp @@ -267,6 +267,8 @@ void MidiDriver_AmigaMac::playInstrument(int16 *dest, Voice *channel, int count) /* Stop envelope */ channel->envelope_samples = -1; break; + default: + break; } } else { /* We haven't reached the target yet */ diff --git a/engines/sci/sound/midiparser_sci.cpp b/engines/sci/sound/midiparser_sci.cpp index 22a5c6de9c..23fb9946f9 100644 --- a/engines/sci/sound/midiparser_sci.cpp +++ b/engines/sci/sound/midiparser_sci.cpp @@ -644,6 +644,9 @@ void MidiParser_SCI::parseNextEvent(EventInfo &info) { "MidiParser_SCI::parseNextEvent: Unsupported event code %x", info.event); } // // System Common, Meta or SysEx event + + default: + break; }// switch (info.command()) } -- cgit v1.2.3