diff options
author | Torbjörn Andersson | 2003-09-24 06:33:59 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2003-09-24 06:33:59 +0000 |
commit | 570e60a48797efa08ae5a6c7102f16678704bae8 (patch) | |
tree | f7fe3554f78b9c5e70ba4391eeedb69a5f0911ea /scumm | |
parent | 3854ce8f3d060f5bb4c1e248d846f73a7fe2942c (diff) | |
download | scummvm-rg350-570e60a48797efa08ae5a6c7102f16678704bae8.tar.gz scummvm-rg350-570e60a48797efa08ae5a6c7102f16678704bae8.tar.bz2 scummvm-rg350-570e60a48797efa08ae5a6c7102f16678704bae8.zip |
Whitespace changes
svn-id: r10390
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/debugger.cpp | 93 | ||||
-rw-r--r-- | scumm/imuse_digi.cpp | 90 | ||||
-rw-r--r-- | scumm/object.cpp | 48 | ||||
-rw-r--r-- | scumm/script.cpp | 2 | ||||
-rw-r--r-- | scumm/script_v2.cpp | 54 | ||||
-rw-r--r-- | scumm/script_v5.cpp | 160 | ||||
-rw-r--r-- | scumm/script_v6.cpp | 16 | ||||
-rw-r--r-- | scumm/script_v8.cpp | 26 | ||||
-rw-r--r-- | scumm/smush/chunk.cpp | 30 | ||||
-rw-r--r-- | scumm/smush/imuse_channel.cpp | 84 | ||||
-rw-r--r-- | scumm/smush/saud_channel.cpp | 63 | ||||
-rw-r--r-- | scumm/smush/smush_player.cpp | 130 | ||||
-rw-r--r-- | scumm/sound.cpp | 136 |
13 files changed, 457 insertions, 475 deletions
diff --git a/scumm/debugger.cpp b/scumm/debugger.cpp index fefe6e2700..ea35395804 100644 --- a/scumm/debugger.cpp +++ b/scumm/debugger.cpp @@ -278,68 +278,61 @@ bool ScummDebugger::RunCommand(const char *inputOrig) { if (num_params > 1) { // Alright, we need to check the TYPE of the variable to deref and stuff... the array stuff is a bit ugly :) switch(_dvars[i].type) { - // Integer - case DVAR_INT: - *(int *)_dvars[i].variable = atoi(param[1]); - Debug_Printf("(int)%s = %d\n", param[0], *(int *)_dvars[i].variable); - break; - - // Integer Array - case DVAR_INTARRAY: { - char *chr = strchr(param[0], '['); - if (!chr) { - Debug_Printf("You must access this array as %s[element]\n", param[0]); + // Integer + case DVAR_INT: + *(int *)_dvars[i].variable = atoi(param[1]); + Debug_Printf("(int)%s = %d\n", param[0], *(int *)_dvars[i].variable); + break; + // Integer Array + case DVAR_INTARRAY: { + char *chr = strchr(param[0], '['); + if (!chr) { + Debug_Printf("You must access this array as %s[element]\n", param[0]); + } else { + int element = atoi(chr+1); + int32 *var = *(int32 **)_dvars[i].variable; + if (element > _dvars[i].optional) { + Debug_Printf("%s is out of range (array is %d elements big)\n", param[0], _dvars[i].optional); } else { - int element = atoi(chr+1); - int32 *var = *(int32 **)_dvars[i].variable; - if (element > _dvars[i].optional) { - Debug_Printf("%s is out of range (array is %d elements big)\n", param[0], _dvars[i].optional); - } else { - var[element] = atoi(param[1]); - Debug_Printf("(int)%s = %d\n", param[0], var[element]); - - } + var[element] = atoi(param[1]); + Debug_Printf("(int)%s = %d\n", param[0], var[element]); } } - break; - - default: - Debug_Printf("Failed to set variable %s to %s - unknown type\n", _dvars[i].name, param[1]); + } + break; + default: + Debug_Printf("Failed to set variable %s to %s - unknown type\n", _dvars[i].name, param[1]); break; } } else { // And again, type-dependent prints/defrefs. The array one is still ugly. switch(_dvars[i].type) { - // Integer - case DVAR_INT: - Debug_Printf("(int)%s = %d\n", param[0], *(int *)_dvars[i].variable); - break; - - // Integer array - case DVAR_INTARRAY: { - char *chr = strchr(param[0], '['); - if (!chr) { - Debug_Printf("You must access this array as %s[element]\n", param[0]); + // Integer + case DVAR_INT: + Debug_Printf("(int)%s = %d\n", param[0], *(int *)_dvars[i].variable); + break; + // Integer array + case DVAR_INTARRAY: { + char *chr = strchr(param[0], '['); + if (!chr) { + Debug_Printf("You must access this array as %s[element]\n", param[0]); + } else { + int element = atoi(chr+1); + int16 *var = *(int16 **)_dvars[i].variable; + if (element > _dvars[i].optional) { + Debug_Printf("%s is out of range (array is %d elements big)\n", param[0], _dvars[i].optional); } else { - int element = atoi(chr+1); - int16 *var = *(int16 **)_dvars[i].variable; - if (element > _dvars[i].optional) { - Debug_Printf("%s is out of range (array is %d elements big)\n", param[0], _dvars[i].optional); - } else { - Debug_Printf("(int)%s = %d\n", param[0], var[element]); - - } + Debug_Printf("(int)%s = %d\n", param[0], var[element]); } } + } + break; + // String + case DVAR_STRING: + Debug_Printf("(string)%s = %s\n", param[0], *(char **)_dvars[i].variable); break; - - // String - case DVAR_STRING: - Debug_Printf("(string)%s = %s\n", param[0], *(char **)_dvars[i].variable); - break; - - default: - Debug_Printf("%s = (unknown type)\n", param[0]); + default: + Debug_Printf("%s = (unknown type)\n", param[0]); break; } } diff --git a/scumm/imuse_digi.cpp b/scumm/imuse_digi.cpp index 5330289f18..7fb38a7b92 100644 --- a/scumm/imuse_digi.cpp +++ b/scumm/imuse_digi.cpp @@ -653,34 +653,34 @@ static byte *readCreativeVocFile(byte *ptr, int32 &size, int &rate) { code = len & 0xFF; len >>= 8; switch(code) { - case 0: quit = 1; break; - case 1: { - int time_constant = ptr[offset++]; - int packing = ptr[offset++]; - len -= 2; - rate = getSampleRateFromVOCRate(time_constant); - debug(9, "VOC Data Bloc : %d, %d, %d", rate, packing, len); - if (packing == 0) { - if (size) { - ret_sound = (byte *)realloc(ret_sound, size + len); - } else { - ret_sound = (byte *)malloc(len); - } - memcpy(ret_sound + size, ptr + offset, len); - size += len; + case 0: quit = 1; break; + case 1: { + int time_constant = ptr[offset++]; + int packing = ptr[offset++]; + len -= 2; + rate = getSampleRateFromVOCRate(time_constant); + debug(9, "VOC Data Bloc : %d, %d, %d", rate, packing, len); + if (packing == 0) { + if (size) { + ret_sound = (byte *)realloc(ret_sound, size + len); } else { - warning("VOC file packing %d unsupported", packing); + ret_sound = (byte *)malloc(len); } - } break; - case 6: // begin of loop - loops = len + 1; - break; - case 7: // end of loop - break; - default: - warning("Invalid code in VOC file : %d", code); - quit = 1; - break; + memcpy(ret_sound + size, ptr + offset, len); + size += len; + } else { + warning("VOC file packing %d unsupported", packing); + } + } break; + case 6: // begin of loop + loops = len + 1; + break; + case 7: // end of loop + break; + default: + warning("Invalid code in VOC file : %d", code); + quit = 1; + break; } // FIXME some FT samples (ex. 362) has bad length, 2 bytes too short offset += len; @@ -848,30 +848,30 @@ void IMuseDigital::startSound(int sound) { for (;;) { tag = READ_BE_UINT32(ptr); ptr += 4; switch(tag) { - case MKID_BE('FRMT'): - ptr += 12; - _channel[l]._bits = READ_BE_UINT32(ptr); ptr += 4; - _channel[l]._freq = READ_BE_UINT32(ptr); ptr += 4; - _channel[l]._channels = READ_BE_UINT32(ptr); ptr += 4; - break; - case MKID_BE('TEXT'): - size = READ_BE_UINT32(ptr); ptr += size + 4; + case MKID_BE('FRMT'): + ptr += 12; + _channel[l]._bits = READ_BE_UINT32(ptr); ptr += 4; + _channel[l]._freq = READ_BE_UINT32(ptr); ptr += 4; + _channel[l]._channels = READ_BE_UINT32(ptr); ptr += 4; + break; + case MKID_BE('TEXT'): + size = READ_BE_UINT32(ptr); ptr += size + 4; break; - case MKID_BE('REGN'): - ptr += 12; + case MKID_BE('REGN'): + ptr += 12; break; - case MKID_BE('STOP'): - ptr += 4; - _channel[l]._offsetStop = READ_BE_UINT32(ptr); ptr += 4; + case MKID_BE('STOP'): + ptr += 4; + _channel[l]._offsetStop = READ_BE_UINT32(ptr); ptr += 4; break; - case MKID_BE('JUMP'): - ptr += 20; + case MKID_BE('JUMP'): + ptr += 20; break; - case MKID_BE('DATA'): - size = READ_BE_UINT32(ptr); ptr += 4; + case MKID_BE('DATA'): + size = READ_BE_UINT32(ptr); ptr += 4; break; - default: - error("IMuseDigital::startSound(%d) Unknown sfx header %c%c%c%c", sound, (byte)(tag >> 24), (byte)(tag >> 16), (byte)(tag >> 8), (byte)tag); + default: + error("IMuseDigital::startSound(%d) Unknown sfx header %c%c%c%c", sound, (byte)(tag >> 24), (byte)(tag >> 16), (byte)(tag >> 8), (byte)tag); } if (tag == MKID_BE('DATA')) break; } diff --git a/scumm/object.cpp b/scumm/object.cpp index 847441c58e..5e1c5b737e 100644 --- a/scumm/object.cpp +++ b/scumm/object.cpp @@ -59,18 +59,18 @@ bool Scumm::getClass(int obj, int cls) const { // Translate the new (V5) object classes to the old classes // (for those which differ). switch (cls) { - case kObjectClassUntouchable: - cls = 24; - break; - case kObjectClassPlayer: - cls = 23; - break; - case kObjectClassXFlip: - cls = 19; - break; - case kObjectClassYFlip: - cls = 18; - break; + case kObjectClassUntouchable: + cls = 24; + break; + case kObjectClassPlayer: + cls = 23; + break; + case kObjectClassXFlip: + cls = 19; + break; + case kObjectClassYFlip: + cls = 18; + break; } } @@ -86,18 +86,18 @@ void Scumm::putClass(int obj, int cls, bool set) { // Translate the new (V5) object classes to the old classes // (for those which differ). switch (cls) { - case kObjectClassUntouchable: - cls = 24; - break; - case kObjectClassPlayer: - cls = 23; - break; - case kObjectClassXFlip: - cls = 19; - break; - case kObjectClassYFlip: - cls = 18; - break; + case kObjectClassUntouchable: + cls = 24; + break; + case kObjectClassPlayer: + cls = 23; + break; + case kObjectClassXFlip: + cls = 19; + break; + case kObjectClassYFlip: + cls = 18; + break; } } diff --git a/scumm/script.cpp b/scumm/script.cpp index 060bda73af..29c94efd21 100644 --- a/scumm/script.cpp +++ b/scumm/script.cpp @@ -907,7 +907,7 @@ void Scumm::runInputScript(int a, int cmd, int mode) { if (_version <= 2) { verbScript = 4; _scummVars[VAR_CLICK_AREA] = a; - switch(a) { + switch (a) { case 1: // Verb clicked _scummVars[33] = cmd; break; diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp index 267ac2a096..6b688bfdf9 100644 --- a/scumm/script_v2.cpp +++ b/scumm/script_v2.cpp @@ -692,36 +692,32 @@ void Scumm_v2::o2_actorSet() { a = derefActor(act, "actorSet"); switch (_opcode) { - case 1: // Actor Sound - a->sound[0] = arg; - break; - - case 2: // Actor Set Color - if (_version == 1) - i = act; - else - i = fetchScriptByte(); - - a->palette[i] = arg; - a->needRedraw = true; - break; - - case 3: // Actor Name - loadPtrToResource(rtActorName, a->number, NULL); - break; - - case 4: // Actor Costume - a->setActorCostume(arg); - break; + case 1: // Actor Sound + a->sound[0] = arg; + break; + case 2: // Actor Set Color + if (_version == 1) + i = act; + else + i = fetchScriptByte(); - case 5: // Talk Color - if ((_gameId == GID_MANIAC) && (_version == 1)) - v1_mm_actor_speech_color[act] = arg; - else - a->talkColor = arg; - break; - default: - warning("o2_actorSet: opcode %d not yet supported", _opcode); + a->palette[i] = arg; + a->needRedraw = true; + break; + case 3: // Actor Name + loadPtrToResource(rtActorName, a->number, NULL); + break; + case 4: // Actor Costume + a->setActorCostume(arg); + break; + case 5: // Talk Color + if ((_gameId == GID_MANIAC) && (_version == 1)) + v1_mm_actor_speech_color[act] = arg; + else + a->talkColor = arg; + break; + default: + warning("o2_actorSet: opcode %d not yet supported", _opcode); } } diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp index 484102519f..b8560154d9 100644 --- a/scumm/script_v5.cpp +++ b/scumm/script_v5.cpp @@ -874,33 +874,31 @@ void Scumm_v5::saveVars() { while ((_opcode = fetchScriptByte()) != 0) { switch (_opcode & 0x1F) { - case 0x01: // write a range of variables - getResultPos(); - a = _resultVarNumber; - getResultPos(); - b = _resultVarNumber; - warning("stub saveVars: vars %d -> %d", a, b); - break; - - case 0x02: // write a range of string variables - a = getVarOrDirectByte(0x80); - b = getVarOrDirectByte(0x40); - warning("stub saveVars: strings %d -> %d", a, b); - break; - case 0x03: // open file - a = resStrLen(_scriptPointer); - warning("stub saveVars to %s", _scriptPointer); - _scriptPointer += a + 1; - break; - case 0x04: - return; - break; - case 0x1F: // close file - warning("stub saveVars close file"); - return; - break; + case 0x01: // write a range of variables + getResultPos(); + a = _resultVarNumber; + getResultPos(); + b = _resultVarNumber; + warning("stub saveVars: vars %d -> %d", a, b); + break; + case 0x02: // write a range of string variables + a = getVarOrDirectByte(0x80); + b = getVarOrDirectByte(0x40); + warning("stub saveVars: strings %d -> %d", a, b); + break; + case 0x03: // open file + a = resStrLen(_scriptPointer); + warning("stub saveVars to %s", _scriptPointer); + _scriptPointer += a + 1; + break; + case 0x04: + return; + break; + case 0x1F: // close file + warning("stub saveVars close file"); + return; + break; } - } } @@ -910,34 +908,32 @@ void Scumm_v5::loadVars() { hexdump(_scriptPointer, 64); while ((_opcode = fetchScriptByte()) != 0) { switch (_opcode & 0x1F) { - case 0x01: // read a range of variables - getResultPos(); - a = _resultVarNumber; - getResultPos(); - b = _resultVarNumber; - warning("stub loadVars: vars %d -> %d", a, b); - break; - case 0x02: // read a range of string variables - a = getVarOrDirectByte(0x80); - b = getVarOrDirectByte(0x40); - warning("stub loadVars: strings %d -> %d", a, b); - break; - case 0x03: // open file - a = resStrLen(_scriptPointer); - warning("stub loadVars from %s", _scriptPointer); - _scriptPointer += a + 1; - break; - case 0x04: - return; - break; - case 0x1F: // close file - warning("stub loadVars close file"); - return; - break; + case 0x01: // read a range of variables + getResultPos(); + a = _resultVarNumber; + getResultPos(); + b = _resultVarNumber; + warning("stub loadVars: vars %d -> %d", a, b); + break; + case 0x02: // read a range of string variables + a = getVarOrDirectByte(0x80); + b = getVarOrDirectByte(0x40); + warning("stub loadVars: strings %d -> %d", a, b); + break; + case 0x03: // open file + a = resStrLen(_scriptPointer); + warning("stub loadVars from %s", _scriptPointer); + _scriptPointer += a + 1; + break; + case 0x04: + return; + break; + case 0x1F: // close file + warning("stub loadVars close file"); + return; + break; } - } - } void Scumm_v5::o5_expression() { @@ -1142,37 +1138,37 @@ void Scumm_v5::o5_saveLoadGame() { _opcode = a & 0xE0; switch (_opcode) { - case 0x00: // num slots available - result = 100; - break; - case 0x20: // drive - // 0 = hard drive - // 1 = disk drive + case 0x00: // num slots available + result = 100; + break; + case 0x20: // drive + // 0 = hard drive + // 1 = disk drive + result = 0; + break; + case 0x40: // load + if (loadState(slot, _saveLoadCompatible)) + result = 3; // sucess + else + result = 5; // failed to load + break; + case 0x80: // save + if (saveState(slot, _saveLoadCompatible)) result = 0; - break; - case 0x40: // load - if (loadState(slot, _saveLoadCompatible)) - result = 3; // sucess - else - result = 5; // failed to load - break; - case 0x80: // save - if (saveState(slot, _saveLoadCompatible)) - result = 0; - else - result = 2; - break; - case 0xC0: // test if save exists - bool avail_saves[100]; - char filename[256]; - SaveFileManager *mgr = _system->get_savefile_manager(); - listSavegames(avail_saves, ARRAYSIZE(avail_saves), mgr); - makeSavegameName(filename, slot, false); - if (avail_saves[slot] && (mgr->open_savefile(filename, getSavePath(), false))) - result = 6; // save file exists - else - result = 7; // save file does not exist - break; + else + result = 2; + break; + case 0xC0: // test if save exists + bool avail_saves[100]; + char filename[256]; + SaveFileManager *mgr = _system->get_savefile_manager(); + listSavegames(avail_saves, ARRAYSIZE(avail_saves), mgr); + makeSavegameName(filename, slot, false); + if (avail_saves[slot] && (mgr->open_savefile(filename, getSavePath(), false))) + result = 6; // save file exists + else + result = 7; // save file does not exist + break; } setResult(result); } diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp index 7d4be06aea..297ab95d3e 100644 --- a/scumm/script_v6.cpp +++ b/scumm/script_v6.cpp @@ -3116,14 +3116,14 @@ void Scumm_v6::o6_unknownEA() { eax = fetchScriptByte(); switch (eax) { - case 197: - unknownEA_func(5, esi, edi, fetchScriptWord(), eax); - break; - case 202: - unknownEA_func(3, esi, edi, fetchScriptWord(), eax); - break; - default: - break; + case 197: + unknownEA_func(5, esi, edi, fetchScriptWord(), eax); + break; + case 202: + unknownEA_func(3, esi, edi, fetchScriptWord(), eax); + break; + default: + break; } } diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp index e502faa9df..82a4763306 100644 --- a/scumm/script_v8.cpp +++ b/scumm/script_v8.cpp @@ -1401,19 +1401,19 @@ void Scumm_v8::o8_kernelGetFunctions() { break; case 0xD3: // getKeyState switch(args[1]) { - // Stub out a few specific cases, just to make things less noisy - - // To actually implement this, we may need a new OSystem call to do - // asyncronous keyboard state checking... - case 0x14B: // Left Arrow depressed? - case 0x14D: // Right Arrow depressed? - case 0x09: // Tab depressed (fire in ship combat) - push(0); - break; - default: - warning("getKeyState(0x%X)", args[1]); - push(0); - break; + // Stub out a few specific cases, just to make things less noisy + + // To actually implement this, we may need a new OSystem call to do + // asyncronous keyboard state checking... + case 0x14B: // Left Arrow depressed? + case 0x14D: // Right Arrow depressed? + case 0x09: // Tab depressed (fire in ship combat) + push(0); + break; + default: + warning("getKeyState(0x%X)", args[1]); + push(0); + break; } break; case 0xCE: // getRGBSlot diff --git a/scumm/smush/chunk.cpp b/scumm/smush/chunk.cpp index d737d41f49..d55629ef56 100644 --- a/scumm/smush/chunk.cpp +++ b/scumm/smush/chunk.cpp @@ -87,21 +87,21 @@ uint32 BaseChunk::getSize() const { bool BaseChunk::seek(int32 delta, seek_type dir) { switch(dir) { - case seek_cur: - _curPos += delta; - break; - case seek_start: - if (delta < 0) - error("invalid seek request"); - - _curPos = (uint32)delta; - break; - case seek_end: - if (delta > 0 || _size < (uint32)-delta) - error("invalid seek request"); - - _curPos = (uint32)(_size + delta); - break; + case seek_cur: + _curPos += delta; + break; + case seek_start: + if (delta < 0) + error("invalid seek request"); + + _curPos = (uint32)delta; + break; + case seek_end: + if (delta > 0 || _size < (uint32)-delta) + error("invalid seek request"); + + _curPos = (uint32)(_size + delta); + break; } if (_curPos > _size) { error("invalid seek request : %d > %d (delta == %d)", _curPos, _size, delta); diff --git a/scumm/smush/imuse_channel.cpp b/scumm/smush/imuse_channel.cpp index e4c0000a06..45a475f30a 100644 --- a/scumm/smush/imuse_channel.cpp +++ b/scumm/smush/imuse_channel.cpp @@ -141,20 +141,20 @@ bool ImuseChannel::handleMap(Chunk &map) { while (!map.eof()) { Chunk *sub = map.subBlock(); switch(sub->getType()) { - case TYPE_FRMT: - handleFormat(*sub); - break; - case TYPE_TEXT: - handleText(*sub); - break; - case TYPE_REGN: - handleRegion(*sub); - break; - case TYPE_STOP: - handleStop(*sub); - break; - default: - error("Unknown iMUS subChunk found : %s, %d", Chunk::ChunkString(sub->getType()), sub->getSize()); + case TYPE_FRMT: + handleFormat(*sub); + break; + case TYPE_TEXT: + handleText(*sub); + break; + case TYPE_REGN: + handleRegion(*sub); + break; + case TYPE_STOP: + handleStop(*sub); + break; + default: + error("Unknown iMUS subChunk found : %s, %d", Chunk::ChunkString(sub->getType()), sub->getSize()); } delete sub; } @@ -213,36 +213,36 @@ bool ImuseChannel::handleSubTags(int32 &offset) { uint32 size = READ_BE_UINT32(_tbuffer + offset + 4); uint32 available_size = _tbufferSize - offset; switch(type) { - case TYPE_MAP_: - _inData = false; - if (available_size >= (size + 8)) { - MemoryChunk c((byte *)_tbuffer + offset); - handleMap(c); + case TYPE_MAP_: + _inData = false; + if (available_size >= (size + 8)) { + MemoryChunk c((byte *)_tbuffer + offset); + handleMap(c); + } + break; + case TYPE_DATA: + _inData = true; + _dataSize = size; + offset += 8; + { + int reqsize = 1; + if (_channels == 2) + reqsize *= 2; + if (_bitsize == 16) + reqsize *= 2; + else if (_bitsize == 12) { + if (reqsize > 1) + reqsize = reqsize * 3 / 2; + else reqsize = 3; } - break; - case TYPE_DATA: - _inData = true; - _dataSize = size; - offset += 8; - { - int reqsize = 1; - if (_channels == 2) - reqsize *= 2; - if (_bitsize == 16) - reqsize *= 2; - else if (_bitsize == 12) { - if (reqsize > 1) - reqsize = reqsize * 3 / 2; - else reqsize = 3; - } - if ((size % reqsize) != 0) { - debug(2, "Invalid iMUS sound data size : (%d %% %d) != 0, correcting...", size, reqsize); - size += 3 - (size % reqsize); - } + if ((size % reqsize) != 0) { + debug(2, "Invalid iMUS sound data size : (%d %% %d) != 0, correcting...", size, reqsize); + size += 3 - (size % reqsize); } - return false; - default: - error("unknown Chunk in iMUS track : %s ", Chunk::ChunkString(type)); + } + return false; + default: + error("unknown Chunk in iMUS track : %s ", Chunk::ChunkString(type)); } offset += size + 8; return true; diff --git a/scumm/smush/saud_channel.cpp b/scumm/smush/saud_channel.cpp index d6a495950f..1c5030974d 100644 --- a/scumm/smush/saud_channel.cpp +++ b/scumm/smush/saud_channel.cpp @@ -49,40 +49,37 @@ bool SaudChannel::handleSubTags(int32 &offset) { uint32 available_size = _tbufferSize - offset; switch(type) { - case TYPE_STRK: - _inData = false; - if (available_size >= (size + 8)) { - MemoryChunk c((byte *)_tbuffer + offset); - handleStrk(c); - } - else - return false; - break; - case TYPE_SMRK: - _inData = false; - if (available_size >= (size + 8)) { - MemoryChunk c((byte *)_tbuffer + offset); - handleSmrk(c); - } - else - return false; - break; - case TYPE_SHDR: - _inData = false; - if (available_size >= (size + 8)) { - MemoryChunk c((byte *)_tbuffer + offset); - handleShdr(c); - } - else - return false; - break; - case TYPE_SDAT: - _inData = true; - _dataSize = size; - offset += 8; + case TYPE_STRK: + _inData = false; + if (available_size >= (size + 8)) { + MemoryChunk c((byte *)_tbuffer + offset); + handleStrk(c); + } else return false; - default: - error("unknown Chunk in SAUD track : %s ", Chunk::ChunkString(type)); + break; + case TYPE_SMRK: + _inData = false; + if (available_size >= (size + 8)) { + MemoryChunk c((byte *)_tbuffer + offset); + handleSmrk(c); + } else + return false; + break; + case TYPE_SHDR: + _inData = false; + if (available_size >= (size + 8)) { + MemoryChunk c((byte *)_tbuffer + offset); + handleShdr(c); + } else + return false; + break; + case TYPE_SDAT: + _inData = true; + _dataSize = size; + offset += 8; + return false; + default: + error("unknown Chunk in SAUD track : %s ", Chunk::ChunkString(type)); } offset += size + 8; return true; diff --git a/scumm/smush/smush_player.cpp b/scumm/smush/smush_player.cpp index e317e7a903..549cafb539 100644 --- a/scumm/smush/smush_player.cpp +++ b/scumm/smush/smush_player.cpp @@ -542,7 +542,7 @@ void SmushPlayer::handleTextResource(Chunk &b) { } while (str[0] == '^') { - switch(str[1]) { + switch (str[1]) { case 'f': { int id = str[3] - '0'; @@ -574,31 +574,31 @@ void SmushPlayer::handleTextResource(Chunk &b) { // bit 2 - ??? 4 // bit 3 - wrap around 8 switch (flags & 9) { - case 0: - sf->drawStringAbsolute(str, _dst, _width, pos_x, pos_y); - break; - case 1: - sf->drawStringCentered(str, _dst, _width, _height, pos_x, MAX(pos_y, top)); - break; - case 8: - // FIXME: Is 'right' the maximum line width here, just - // as it is in the next case? It's used several times - // in The Dig's intro, where 'left' and 'right' are - // always 0 and 321 respectively, and apparently we - // handle that correctly. - sf->drawStringWrap(str, _dst, _width, _height, pos_x, MAX(pos_y, top), left, right); - break; - case 9: - // In this case, the 'right' parameter is actually the - // maximum line width. This explains why it's sometimes - // smaller than 'left'. - // - // Note that in The Dig's "Spacetime Six" movie it's - // 621. I have no idea what that means. - sf->drawStringWrapCentered(str, _dst, _width, _height, pos_x, MAX(pos_y, top), left, MIN(left + right, _width)); - break; - default: - warning("SmushPlayer::handleTextResource. Not handled flags: %d", flags); + case 0: + sf->drawStringAbsolute(str, _dst, _width, pos_x, pos_y); + break; + case 1: + sf->drawStringCentered(str, _dst, _width, _height, pos_x, MAX(pos_y, top)); + break; + case 8: + // FIXME: Is 'right' the maximum line width here, just + // as it is in the next case? It's used several times + // in The Dig's intro, where 'left' and 'right' are + // always 0 and 321 respectively, and apparently we + // handle that correctly. + sf->drawStringWrap(str, _dst, _width, _height, pos_x, MAX(pos_y, top), left, right); + break; + case 9: + // In this case, the 'right' parameter is actually the + // maximum line width. This explains why it's sometimes + // smaller than 'left'. + // + // Note that in The Dig's "Spacetime Six" movie it's + // 621. I have no idea what that means. + sf->drawStringWrapCentered(str, _dst, _width, _height, pos_x, MAX(pos_y, top), left, MIN(left + right, _width)); + break; + default: + warning("SmushPlayer::handleTextResource. Not handled flags: %d", flags); } if (string != NULL) { @@ -753,39 +753,39 @@ void SmushPlayer::handleFrame(Chunk &b) { while (!b.eof()) { Chunk *sub = b.subBlock(); if (sub->getSize() & 1) b.seek(1); - switch(sub->getType()) { - case TYPE_NPAL: - handleNewPalette(*sub); - break; - case TYPE_FOBJ: - handleFrameObject(*sub); - break; - case TYPE_PSAD: - handleSoundFrame(*sub); - break; - case TYPE_TRES: - handleTextResource(*sub); - break; - case TYPE_XPAL: - handleDeltaPalette(*sub); - break; - case TYPE_IACT: - handleImuseAction(*sub); - break; - case TYPE_STOR: - handleStore(*sub); - break; - case TYPE_FTCH: - handleFetch(*sub); - break; - case TYPE_SKIP: - handleSkip(*sub); - break; - case TYPE_TEXT: - handleTextResource(*sub); - break; - default: - error("Unknown frame subChunk found : %s, %d", Chunk::ChunkString(sub->getType()), sub->getSize()); + switch (sub->getType()) { + case TYPE_NPAL: + handleNewPalette(*sub); + break; + case TYPE_FOBJ: + handleFrameObject(*sub); + break; + case TYPE_PSAD: + handleSoundFrame(*sub); + break; + case TYPE_TRES: + handleTextResource(*sub); + break; + case TYPE_XPAL: + handleDeltaPalette(*sub); + break; + case TYPE_IACT: + handleImuseAction(*sub); + break; + case TYPE_STOR: + handleStore(*sub); + break; + case TYPE_FTCH: + handleFetch(*sub); + break; + case TYPE_SKIP: + handleSkip(*sub); + break; + case TYPE_TEXT: + handleTextResource(*sub); + break; + default: + error("Unknown frame subChunk found : %s, %d", Chunk::ChunkString(sub->getType()), sub->getSize()); } delete sub; } @@ -854,12 +854,12 @@ void SmushPlayer::parseNextFrame() { } Chunk *sub = _base->subBlock(); - switch(sub->getType()) { - case TYPE_FRME: - handleFrame(*sub); - break; - default: - error("Unknown Chunk found : %d, %d", sub->getType(), sub->getSize()); + switch (sub->getType()) { + case TYPE_FRME: + handleFrame(*sub); + break; + default: + error("Unknown Chunk found : %d, %d", sub->getType(), sub->getSize()); } delete sub; } diff --git a/scumm/sound.cpp b/scumm/sound.cpp index 9138ce1a99..ef6219e20a 100644 --- a/scumm/sound.cpp +++ b/scumm/sound.cpp @@ -347,63 +347,65 @@ void Sound::playSound(int soundID) { rate = 11025; int type = *(ptr + 0x0D); + int numInstruments; + switch(type) { - case 0: { // Sound effect - int numInstruments = *(ptr + 0x14); - ptr += 0x16; - size -= 0x16; - while (numInstruments--) { - int waveSize = READ_LE_UINT32(ptr + 0x0C); - int loopStart = READ_LE_UINT32(ptr + 0x10); - int loopEnd = READ_LE_UINT32(ptr + 0x14); - // it's not exactly * 10, maybe it's not even linear, but * 10 sounds ok. - rate = READ_LE_UINT32(ptr + 0x18) * 10; - - ptr += 0x20; - size -= 0x20; - if (size < waveSize) { - warning("Wrong wave size in sound #%i: %i", soundID, waveSize); - waveSize = size; - } - sound = (char *)malloc(waveSize); - for (int x = 0; x < waveSize; x++) { - int bit = *ptr++; - if (bit < 0x80) - sound[x] = 0x7F - bit; - else - sound[x] = bit; - } - size -= waveSize; - - if (loopEnd > 0) - flags |= SoundMixer::FLAG_LOOP; - - _scumm->_mixer->playRaw(NULL, sound, waveSize, rate, flags, soundID, 255, 0, loopStart, loopEnd); + case 0: // Sound effect + numInstruments = *(ptr + 0x14); + ptr += 0x16; + size -= 0x16; + while (numInstruments--) { + int waveSize = READ_LE_UINT32(ptr + 0x0C); + int loopStart = READ_LE_UINT32(ptr + 0x10); + int loopEnd = READ_LE_UINT32(ptr + 0x14); + // it's not exactly * 10, maybe it's not even linear, but * 10 sounds ok. + rate = READ_LE_UINT32(ptr + 0x18) * 10; + + ptr += 0x20; + size -= 0x20; + if (size < waveSize) { + warning("Wrong wave size in sound #%i: %i", soundID, waveSize); + waveSize = size; } - break; - } + sound = (char *)malloc(waveSize); + for (int x = 0; x < waveSize; x++) { + int bit = *ptr++; + if (bit < 0x80) + sound[x] = 0x7F - bit; + else + sound[x] = bit; + } + size -= waveSize; - case 1: { // Music (Euphony format) - if (_scumm->_musicEngine) - _scumm->_musicEngine->startSound (soundID); - break; + if (loopEnd > 0) + flags |= SoundMixer::FLAG_LOOP; + + _scumm->_mixer->playRaw(NULL, sound, waveSize, rate, flags, soundID, 255, 0, loopStart, loopEnd); } - - case 2: { // CD track resource - ptr += 0x16; + break; + case 1: + // Music (Euphony format) + if (_scumm->_musicEngine) + _scumm->_musicEngine->startSound (soundID); + break; + case 2: // CD track resource + ptr += 0x16; + + if (soundID == _currentCDSound) + if (pollCD() == 1) + return; + + { int track = ptr[0]; int loops = ptr[1]; int start = (ptr[2] * 60 + ptr[3]) * 75 + ptr[4]; int end = (ptr[5] * 60 + ptr[6]) * 75 + ptr[7]; - if (soundID == _currentCDSound) - if (pollCD() == 1) - return; - playCDTrack(track, loops == 0xff ? -1 : loops, start, end - start); - _currentCDSound = soundID; - break; - } + } + + _currentCDSound = soundID; + break; } } else if ((_scumm->_gameId == GID_LOOM) && (_scumm->_features & GF_MACINTOSH)) { @@ -1277,30 +1279,28 @@ void Sound::playBundleSound(char *sound, PlayingSoundHandle *handle) { while (tag != MKID_BE('DATA')) { tag = READ_BE_UINT32(ptr); ptr += 4; switch(tag) { - case MKID_BE('FRMT'): - ptr += 12; - bits = READ_BE_UINT32(ptr); ptr += 4; - rate = READ_BE_UINT32(ptr); ptr += 4; - channels = READ_BE_UINT32(ptr); ptr += 4; + case MKID_BE('FRMT'): + ptr += 12; + bits = READ_BE_UINT32(ptr); ptr += 4; + rate = READ_BE_UINT32(ptr); ptr += 4; + channels = READ_BE_UINT32(ptr); ptr += 4; break; - case MKID_BE('TEXT'): - case MKID_BE('REGN'): - case MKID_BE('STOP'): - case MKID_BE('JUMP'): - case MKID_BE('SYNC'): - size = READ_BE_UINT32(ptr); ptr += size + 4; + case MKID_BE('TEXT'): + case MKID_BE('REGN'): + case MKID_BE('STOP'): + case MKID_BE('JUMP'): + case MKID_BE('SYNC'): + size = READ_BE_UINT32(ptr); ptr += size + 4; break; - - case MKID_BE('DATA'): - size = READ_BE_UINT32(ptr); ptr += 4; + case MKID_BE('DATA'): + size = READ_BE_UINT32(ptr); ptr += 4; break; - - default: - error("Unknown sound header %c%c%c%c", - (byte)(tag >> 24), - (byte)(tag >> 16), - (byte)(tag >> 8), - (byte)tag); + default: + error("Unknown sound header %c%c%c%c", + (byte)(tag >> 24), + (byte)(tag >> 16), + (byte)(tag >> 8), + (byte)tag); } } |