diff options
author | Alejandro Marzini | 2010-08-16 00:21:07 +0000 |
---|---|---|
committer | Alejandro Marzini | 2010-08-16 00:21:07 +0000 |
commit | b0409d673921163085d2e2fa440911080a7cf884 (patch) | |
tree | 81b1bb895db6baed7881ca5cbc7ff3a830286189 /engines/kyra | |
parent | 503578ac1087b91dcb912fd7918454de73538b34 (diff) | |
parent | b49761b6eae3a0aadefef4c4ffee6a7b583cc3ac (diff) | |
download | scummvm-rg350-b0409d673921163085d2e2fa440911080a7cf884.tar.gz scummvm-rg350-b0409d673921163085d2e2fa440911080a7cf884.tar.bz2 scummvm-rg350-b0409d673921163085d2e2fa440911080a7cf884.zip |
Merge trunk, from r51777 to r52105
svn-id: r52108
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/detection_tables.h | 21 | ||||
-rw-r--r-- | engines/kyra/lol.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/lol.h | 2 | ||||
-rw-r--r-- | engines/kyra/sound_towns.cpp | 20 | ||||
-rw-r--r-- | engines/kyra/staticres.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/staticres_lol.cpp | 23 |
6 files changed, 45 insertions, 25 deletions
diff --git a/engines/kyra/detection_tables.h b/engines/kyra/detection_tables.h index fe4cc7298f..2e1d5afc17 100644 --- a/engines/kyra/detection_tables.h +++ b/engines/kyra/detection_tables.h @@ -194,7 +194,7 @@ const KYRAGameDescription adGameDescs[] = { Common::EN_ANY, Common::kPlatformAmiga, ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH + Common::GUIO_NOSPEECH | Common::GUIO_MIDIAMIGA }, KYRA1_AMIGA_FLAGS }, @@ -211,7 +211,7 @@ const KYRAGameDescription adGameDescs[] = { Common::DE_DEU, Common::kPlatformAmiga, ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH + Common::GUIO_NOSPEECH | Common::GUIO_MIDIAMIGA }, KYRA1_AMIGA_FLAGS }, @@ -1113,6 +1113,23 @@ const KYRAGameDescription adGameDescs[] = { "lol", "Extracted", { + { "GENERAL.PAK", 0, "0f1fabc1f67b772a30d8e05ece720ac5", -1 }, + { "CHAPTER7.PAK", 0, "482308aba1c40ee32449b91b0c63b990", -1 }, + { 0, 0, 0, 0 } + }, + Common::EN_ANY, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH | Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM | Common::GUIO_MIDIPCSPK + }, + LOL_FLOPPY_FLAGS + }, + + { + { + "lol", + "Extracted", + { { "GENERAL.PAK", 0, "996e66e81054d36249907a1d8158da3d", -1 }, { "CHAPTER7.PAK", 0, "cabee57f00d6d84b65a732b6868a4959", -1 }, { 0, 0, 0, 0 } diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp index 98f0e31b69..03d52ec4ac 100644 --- a/engines/kyra/lol.cpp +++ b/engines/kyra/lol.cpp @@ -4291,7 +4291,7 @@ void LoLEngine::drawMapPage(int pageNum) { if (!_defaultLegendData[ii].enable) continue; _screen->copyBlockAndApplyOverlay(_screen->_curPage, 235, (tY << 3) + 21 + yOffset, _screen->_curPage, 235 + xOffset, (tY << 3) + 21 + yOffset, 7, 6, 0, _mapOverlay); - _screen->drawShape(_screen->_curPage, _automapShapes[_defaultLegendData[ii].shapeIndex << 2], 232 + xOffset, (tY << 3) + 18 + yOffset + _defaultLegendData[ii].x, 0, 0); + _screen->drawShape(_screen->_curPage, _automapShapes[_defaultLegendData[ii].shapeIndex << 2], 232 + xOffset, (tY << 3) + 18 + yOffset + _defaultLegendData[ii].y, 0, 0); printMapText(_defaultLegendData[ii].stringId, 244 + xOffset, (tY << 3) + 22 + yOffset); tY++; } diff --git a/engines/kyra/lol.h b/engines/kyra/lol.h index b5a657ac15..57c127a94f 100644 --- a/engines/kyra/lol.h +++ b/engines/kyra/lol.h @@ -256,7 +256,7 @@ struct LevelTempData { struct MapLegendData { uint8 shapeIndex; bool enable; - int8 x; + int8 y; uint16 stringId; }; diff --git a/engines/kyra/sound_towns.cpp b/engines/kyra/sound_towns.cpp index 8d01d47262..d27b075906 100644 --- a/engines/kyra/sound_towns.cpp +++ b/engines/kyra/sound_towns.cpp @@ -65,7 +65,9 @@ bool SoundTowns::init() { if (!loadInstruments()) return false; - _driver->cdaSetVolume(1, 118, 118); + _driver->intf()->callback(68); + _driver->intf()->callback(70, 0x33); + _driver->setOutputVolume(1, 118, 118); return true; } @@ -91,7 +93,7 @@ void SoundTowns::playTrack(uint8 track) { beginFadeOut(); if (_musicEnabled == 2 && trackNum != -1) { - _driver->cdaSetVolume(1, 118, 118); + _driver->setOutputVolume(1, 118, 118); g_system->getAudioCDManager()->play(trackNum + 1, loop ? -1 : 1, 0, 0); g_system->getAudioCDManager()->updateCD(); _cdaPlaying = true; @@ -229,24 +231,24 @@ void SoundTowns::stopAllSoundEffects() { void SoundTowns::beginFadeOut() { if (_cdaPlaying) { for (int i = 118; i > 103; i--) { - _driver->cdaSetVolume(1, i, i); + _driver->setOutputVolume(1, i, i); _vm->delay(2 * _vm->tickLength()); } for (int i = 103; i > 83; i -= 2) { - _driver->cdaSetVolume(1, i, i); + _driver->setOutputVolume(1, i, i); _vm->delay(2 * _vm->tickLength()); } for (int i = 83; i > 58; i -= 2) { - _driver->cdaSetVolume(1, i, i); + _driver->setOutputVolume(1, i, i); _vm->delay(_vm->tickLength()); } for (int i = 58; i > 0; i--) - _driver->cdaSetVolume(1, i, i); + _driver->setOutputVolume(1, i, i); - _driver->cdaSetVolume(1, 0, 0); + _driver->setOutputVolume(1, 0, 0); } else { if (_lastTrack == -1) @@ -335,9 +337,9 @@ void SoundTowns::playEuphonyTrack(uint32 offset, int loop) { for (int i = 0; i < 32; i++) _driver->chanOrdr(i, *src++); for (int i = 0; i < 32; i++) - _driver->chanLevel(i, *src++); + _driver->chanVolumeShift(i, *src++); for (int i = 0; i < 32; i++) - _driver->chanTranspose(i, *src++); + _driver->chanNoteShift(i, *src++); src = _musicTrackData + 1748; for (int i = 0; i < 6; i++) diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp index 274acae22c..4b71b1d69d 100644 --- a/engines/kyra/staticres.cpp +++ b/engines/kyra/staticres.cpp @@ -42,7 +42,7 @@ namespace Kyra { -#define RESFILE_VERSION 71 +#define RESFILE_VERSION 72 namespace { bool checkKyraDat(Common::SeekableReadStream *file) { diff --git a/engines/kyra/staticres_lol.cpp b/engines/kyra/staticres_lol.cpp index dbf6808e37..3287ee37d6 100644 --- a/engines/kyra/staticres_lol.cpp +++ b/engines/kyra/staticres_lol.cpp @@ -372,31 +372,32 @@ void LoLEngine::initStaticResource() { _autoMapStrings = _staticres->loadRawDataBe16(kLolMapStringId, _autoMapStringsSize); - int tmpSize = 0; - const uint8 *tmp = _staticres->loadRawData(kLolLegendData, tmpSize); - tmpSize /= 5; - if (tmp) { - _defaultLegendData = new MapLegendData[tmpSize]; - for (int i = 0; i < tmpSize; i++) { + int tempSize; + const uint8 *tmp = _staticres->loadRawData(kLolLegendData, tempSize); + uint8 entrySize = tempSize / 12; + tempSize /= entrySize; + if (tempSize) { + _defaultLegendData = new MapLegendData[tempSize]; + for (int i = 0; i < tempSize; i++) { _defaultLegendData[i].shapeIndex = *tmp++; _defaultLegendData[i].enable = *tmp++ ? true : false; - _defaultLegendData[i].x = (int8)*tmp++; + _defaultLegendData[i].y = (entrySize == 5) ? (int8)*tmp++ : (i == 10 ? -5 : 0); _defaultLegendData[i].stringId = READ_LE_UINT16(tmp); tmp += 2; } _staticres->unloadId(kLolLegendData); } - tmp = _staticres->loadRawData(kLolMapCursorOvl, tmpSize); - _mapCursorOverlay = new uint8[tmpSize]; - memcpy(_mapCursorOverlay, tmp, tmpSize); + tmp = _staticres->loadRawData(kLolMapCursorOvl, tempSize); + _mapCursorOverlay = new uint8[tempSize]; + memcpy(_mapCursorOverlay, tmp, tempSize); _staticres->unloadId(kLolMapCursorOvl); _updateSpellBookCoords = _staticres->loadRawData(kLolSpellbookCoords, _updateSpellBookCoordsSize); _updateSpellBookAnimData = _staticres->loadRawData(kLolSpellbookAnim, _updateSpellBookAnimDataSize); _healShapeFrames = _staticres->loadRawData(kLolHealShapeFrames, _healShapeFramesSize); - tmp = _staticres->loadRawData(kLolLightningDefs, tmpSize); + tmp = _staticres->loadRawData(kLolLightningDefs, tempSize); if (tmp) { _lightningProps = new LightningProperty[5]; for (int i = 0; i < 5; i++) { |