[Scummvm-cvs-logs] scummvm master -> 1084fc023ccd94bec579db27115cc874b653cc24
Strangerke
Strangerke at scummvm.org
Mon Jan 4 14:14:35 CET 2016
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:
1084fc023c TONY: As suggested by LordHoto, determine codec based on container signature instead of filename
Commit: 1084fc023ccd94bec579db27115cc874b653cc24
https://github.com/scummvm/scummvm/commit/1084fc023ccd94bec579db27115cc874b653cc24
Author: Strangerke (strangerke at scummvm.org)
Date: 2016-01-04T14:07:56+01:00
Commit Message:
TONY: As suggested by LordHoto, determine codec based on container signature instead of filename
Changed paths:
engines/tony/tony.cpp
diff --git a/engines/tony/tony.cpp b/engines/tony/tony.cpp
index 08e30cd..47fd2e3 100644
--- a/engines/tony/tony.cpp
+++ b/engines/tony/tony.cpp
@@ -574,48 +574,29 @@ void TonyEngine::loadState(CORO_PARAM, int n) {
bool TonyEngine::openVoiceDatabase() {
// Open the voices database
- if (_vdbFP.open("voices.vdb"))
- _vdbCodec = FPCODEC_ADPCM;
- else if (_vdbFP.open("voices.mdb"))
- _vdbCodec = FPCODEC_MP3;
- else if (_vdbFP.open("voices.odb"))
- _vdbCodec = FPCODEC_OGG;
- else if (_vdbFP.open("voices.fdb"))
- _vdbCodec = FPCODEC_FLAC;
- else
- return false;
+ if (!_vdbFP.open("voices.vdb"))
+ if (!_vdbFP.open("voices.mdb"))
+ if (!_vdbFP.open("voices.odb"))
+ if (!_vdbFP.open("voices.fdb"))
+ return false;
_vdbFP.seek(-8, SEEK_END);
uint32 numfiles = _vdbFP.readUint32LE();
+ int32 id = _vdbFP.readUint32BE();
- switch (_vdbCodec) {
- case FPCODEC_ADPCM:
- if (_vdbFP.readUint32BE() != MKTAG('V', 'D', 'B', '1')) {
- _vdbFP.close();
- return false;
- }
- break;
- case FPCODEC_MP3:
- if (_vdbFP.readUint32BE() != MKTAG('M', 'D', 'B', '1')) {
- _vdbFP.close();
- return false;
- }
- break;
- case FPCODEC_OGG:
- if (_vdbFP.readUint32BE() != MKTAG('O', 'D', 'B', '1')) {
- _vdbFP.close();
- return false;
- }
- break;
- case FPCODEC_FLAC:
- if (_vdbFP.readUint32BE() != MKTAG('F', 'D', 'B', '1')) {
- _vdbFP.close();
- return false;
- }
- break;
- default:
+ if (id == MKTAG('V', 'D', 'B', '1'))
+ _vdbCodec = FPCODEC_ADPCM;
+ else if (id == MKTAG('M', 'D', 'B', '1'))
+ _vdbCodec = FPCODEC_MP3;
+ else if (id == MKTAG('O', 'D', 'B', '1'))
+ _vdbCodec = FPCODEC_OGG;
+ else if (id == MKTAG('F', 'D', 'B', '1'))
+ _vdbCodec = FPCODEC_FLAC;
+ else {
+ _vdbFP.close();
return false;
}
+
// Read in the index
_vdbFP.seek(-8 - (numfiles * VOICE_HEADER_SIZE), SEEK_END);
More information about the Scummvm-git-logs
mailing list