mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-20 00:45:10 +00:00
LOL: add support for pc speaker sfx
svn-id: r45992
This commit is contained in:
parent
34dd625228
commit
1a984d8e7d
Binary file not shown.
@ -106,7 +106,7 @@ LoLEngine::LoLEngine(OSystem *system, const GameFlags &flags) : KyraEngine_v1(sy
|
||||
_healOverlay = 0;
|
||||
_swarmSpellStatus = 0;
|
||||
|
||||
_ingameMT32SoundIndex = _ingameGMSoundIndex = /*_ingameADLSoundIndex =*/ 0;
|
||||
_ingameMT32SoundIndex = _ingameGMSoundIndex = _ingamePCSpeakerSoundIndex = 0;
|
||||
|
||||
_charSelection = -1;
|
||||
_characters = 0;
|
||||
|
@ -503,6 +503,8 @@ private:
|
||||
int _ingameGMSoundIndexSize;
|
||||
const uint8 *_ingameMT32SoundIndex;
|
||||
int _ingameMT32SoundIndexSize;
|
||||
const uint8 *_ingamePCSpeakerSoundIndex;
|
||||
int _ingamePCSpeakerSoundIndexSize;
|
||||
|
||||
AudioDataStruct _soundData[3];
|
||||
|
||||
|
@ -226,7 +226,7 @@ enum KyraResources {
|
||||
kLolMusicTrackMap,
|
||||
kLolIngameGMSfxIndex,
|
||||
kLolIngameMT32SfxIndex,
|
||||
//kLolIngameADLSfxIndex,
|
||||
kLolIngamePcSpkSfxIndex,
|
||||
kLolSpellProperties,
|
||||
kLolGameShapeMap,
|
||||
kLolSceneItemOffs,
|
||||
@ -235,7 +235,6 @@ enum KyraResources {
|
||||
kLolCharDefsMan,
|
||||
kLolCharDefsWoman,
|
||||
kLolCharDefsKieran,
|
||||
//kLolCharDefsUnk,
|
||||
kLolCharDefsAkshel,
|
||||
kLolExpRequirements,
|
||||
kLolMonsterModifiers,
|
||||
@ -293,7 +292,6 @@ enum KyraResources {
|
||||
kLolLegendData,
|
||||
kLolMapCursorOvl,
|
||||
kLolMapStringId,
|
||||
//kLolMapPal,
|
||||
|
||||
kLolSpellbookAnim,
|
||||
kLolSpellbookCoords,
|
||||
|
@ -189,6 +189,8 @@ void LoLEngine::snd_playSoundEffect(int track, int volume) {
|
||||
track = (track < _ingameMT32SoundIndexSize) ? (_ingameMT32SoundIndex[track] - 1) : -1;
|
||||
else if (_sound->getSfxType() == Sound::kMidiGM)
|
||||
track = (track < _ingameGMSoundIndexSize) ? (_ingameGMSoundIndex[track] - 1) : -1;
|
||||
else if (_sound->getSfxType() == Sound::kPCSpkr)
|
||||
track = (track < _ingamePCSpeakerSoundIndexSize) ? (_ingamePCSpeakerSoundIndex[track] - 1) : -1;
|
||||
|
||||
if (track == 168)
|
||||
track = 167;
|
||||
|
@ -45,7 +45,7 @@
|
||||
|
||||
namespace Kyra {
|
||||
|
||||
#define RESFILE_VERSION 62
|
||||
#define RESFILE_VERSION 63
|
||||
|
||||
namespace {
|
||||
bool checkKyraDat(Common::SeekableReadStream *file) {
|
||||
@ -397,6 +397,7 @@ bool StaticResource::init() {
|
||||
{ kLolMusicTrackMap, kRawData, "MUSIC.MAP" },
|
||||
{ kLolIngameGMSfxIndex, kRawData, "SFX_GM.MAP" },
|
||||
{ kLolIngameMT32SfxIndex, kRawData, "SFX_MT32.MAP" },
|
||||
{ kLolIngamePcSpkSfxIndex, kRawData, "SFX_PCS.MAP" },
|
||||
{ kLolSpellProperties, kLolSpellData, "SPELLS.DEF" },
|
||||
{ kLolGameShapeMap, kRawData, "GAMESHP.MAP" },
|
||||
{ kLolSceneItemOffs, kRawData, "ITEMOFFS.DEF" },
|
||||
@ -1867,7 +1868,7 @@ void LoLEngine::initStaticResource() {
|
||||
_musicTrackMap = _staticres->loadRawData(kLolMusicTrackMap, _musicTrackMapSize);
|
||||
_ingameGMSoundIndex = _staticres->loadRawData(kLolIngameGMSfxIndex, _ingameGMSoundIndexSize);
|
||||
_ingameMT32SoundIndex = _staticres->loadRawData(kLolIngameMT32SfxIndex, _ingameMT32SoundIndexSize);
|
||||
//_ingameADLSoundIndex = _staticres->loadRawData(kLolIngameADLSfxIndex, _ingameADLSoundIndexSize);
|
||||
_ingamePCSpeakerSoundIndex = _staticres->loadRawData(kLolIngamePcSpkSfxIndex, _ingamePCSpeakerSoundIndexSize);
|
||||
_spellProperties = _staticres->loadSpellData(kLolSpellProperties, _spellPropertiesSize);
|
||||
_gameShapeMap = (const int8 *)_staticres->loadRawData(kLolGameShapeMap, _gameShapeMapSize);
|
||||
_sceneItemOffs = (const int8 *)_staticres->loadRawData(kLolSceneItemOffs, _sceneItemOffsSize);
|
||||
|
@ -37,7 +37,7 @@
|
||||
#include "md5.h"
|
||||
|
||||
enum {
|
||||
kKyraDatVersion = 62,
|
||||
kKyraDatVersion = 63,
|
||||
kIndexSize = 12
|
||||
};
|
||||
|
||||
@ -218,7 +218,7 @@ const ExtractFilename extractFilenames[] = {
|
||||
{ kLolMusicTrackMap, kTypeRawData, "MUSIC.MAP" },
|
||||
{ kLolGMSfxIndex, kTypeRawData, "SFX_GM.MAP" },
|
||||
{ kLolMT32SfxIndex, kTypeRawData, "SFX_MT32.MAP" },
|
||||
//{ kLolADLSfxIndex, kTypeRawData, "SFX_ADL.MAP" },
|
||||
{ kLolPcSpkSfxIndex, kTypeRawData, "SFX_PCS.MAP" },
|
||||
{ kLolSpellProperties, kTypeRawData, "SPELLS.DEF" },
|
||||
{ kLolGameShapeMap, kTypeRawData, "GAMESHP.MAP" },
|
||||
{ kLolSceneItemOffs, kTypeRawData, "ITEMOFFS.DEF" },
|
||||
@ -881,6 +881,8 @@ const char *getIdString(const int id) {
|
||||
return "kLolGMSfxIndex";
|
||||
case kLolMT32SfxIndex:
|
||||
return "kLolMT32SfxIndex";
|
||||
case kLolPcSpkSfxIndex:
|
||||
return "kLolPcSpkSfxIndex";
|
||||
case kLolSpellProperties:
|
||||
return "kLolSpellProperties";
|
||||
case kLolGameShapeMap:
|
||||
|
@ -197,7 +197,7 @@ enum kExtractID {
|
||||
kLolMusicTrackMap,
|
||||
kLolGMSfxIndex,
|
||||
kLolMT32SfxIndex,
|
||||
//lolADLSfxIndex,
|
||||
kLolPcSpkSfxIndex,
|
||||
kLolSpellProperties,
|
||||
kLolGameShapeMap,
|
||||
kLolSceneItemOffs,
|
||||
@ -206,7 +206,6 @@ enum kExtractID {
|
||||
kLolCharDefsMan,
|
||||
kLolCharDefsWoman,
|
||||
kLolCharDefsKieran,
|
||||
//lolCharDefsUnk,
|
||||
kLolCharDefsAkshel,
|
||||
kLolExpRequirements,
|
||||
kLolMonsterModifiers,
|
||||
@ -264,7 +263,6 @@ enum kExtractID {
|
||||
kLolLegendData,
|
||||
kLolMapCursorOvl,
|
||||
kLolMapStringId,
|
||||
//lolMapPal,
|
||||
|
||||
kLolSpellbookAnim,
|
||||
kLolSpellbookCoords,
|
||||
|
@ -683,6 +683,7 @@ const int lolFloppyNeed[] = {
|
||||
kLolMusicTrackMap,
|
||||
kLolGMSfxIndex,
|
||||
kLolMT32SfxIndex,
|
||||
kLolPcSpkSfxIndex,
|
||||
kLolSpellProperties,
|
||||
kLolGameShapeMap,
|
||||
kLolSceneItemOffs,
|
||||
@ -854,6 +855,7 @@ const int lolCDFile2Need[] = {
|
||||
kLolMusicTrackMap,
|
||||
kLolGMSfxIndex,
|
||||
kLolMT32SfxIndex,
|
||||
kLolPcSpkSfxIndex,
|
||||
kLolSpellProperties,
|
||||
kLolGameShapeMap,
|
||||
kLolSceneItemOffs,
|
||||
|
@ -1308,6 +1308,12 @@ const ExtractEntrySearchData kLolMT32SfxIndexProvider[] = {
|
||||
EXTRACT_END_ENTRY
|
||||
};
|
||||
|
||||
const ExtractEntrySearchData kLolPcSpkSfxIndexProvider[] = {
|
||||
{ UNK_LANG, kPlatformPC, { 0x000000FA, 0x00005EFC, { { 0xA3, 0x5C, 0x69, 0xED, 0x13, 0xEC, 0x08, 0x0E, 0xFA, 0x72, 0x83, 0x0D, 0xD7, 0x8D, 0x9C, 0x70 } } } },
|
||||
|
||||
EXTRACT_END_ENTRY
|
||||
};
|
||||
|
||||
const ExtractEntrySearchData kLolSpellPropertiesProvider[] = {
|
||||
{ UNK_LANG, kPlatformPC, { 0x00000118, 0x00000B06, { { 0x27, 0x69, 0x53, 0x01, 0xA0, 0xE3, 0x76, 0xAA, 0x33, 0xA4, 0x52, 0x11, 0x52, 0xB1, 0x0E, 0xDA } } } },
|
||||
|
||||
@ -1857,6 +1863,7 @@ const ExtractEntry extractProviders[] = {
|
||||
{ kLolMusicTrackMap, kLolMusicTrackMapProvider },
|
||||
{ kLolGMSfxIndex, kLolGMSfxIndexProvider },
|
||||
{ kLolMT32SfxIndex, kLolMT32SfxIndexProvider },
|
||||
{ kLolPcSpkSfxIndex, kLolPcSpkSfxIndexProvider },
|
||||
{ kLolSpellProperties, kLolSpellPropertiesProvider },
|
||||
{ kLolGameShapeMap, kLolGameShapeMapProvider },
|
||||
{ kLolSceneItemOffs, kLolSceneItemOffsProvider },
|
||||
|
Loading…
x
Reference in New Issue
Block a user