diff options
Diffstat (limited to 'scumm/imuse_digi')
-rw-r--r-- | scumm/imuse_digi/dimuse_sndmgr.cpp | 21 | ||||
-rw-r--r-- | scumm/imuse_digi/dimuse_sndmgr.h | 26 |
2 files changed, 10 insertions, 37 deletions
diff --git a/scumm/imuse_digi/dimuse_sndmgr.cpp b/scumm/imuse_digi/dimuse_sndmgr.cpp index 5b492bf636..6ea582b5c5 100644 --- a/scumm/imuse_digi/dimuse_sndmgr.cpp +++ b/scumm/imuse_digi/dimuse_sndmgr.cpp @@ -75,15 +75,7 @@ void ImuseDigiSndMgr::prepareSound(byte *ptr, int slot) { _sounds[slot].channels = READ_BE_UINT32(ptr); ptr += 4; break; case MKID_BE('TEXT'): - size = READ_BE_UINT32(ptr); ptr += 4; - if (_sounds[slot].numMarkers >= MAX_IMUSE_MARKERS) { - warning("ImuseDigiSndMgr::prepareSound(%s) Not enough space for Marker", _sounds[slot].name); - ptr += size; - break; - } - strcpy(_sounds[slot].marker[_sounds[slot].numMarkers].name, (char *)ptr + 4); - _sounds[slot].numMarkers++; - ptr += size; + size = READ_BE_UINT32(ptr); ptr += size + 4; break; case MKID_BE('REGN'): size = READ_BE_UINT32(ptr); ptr += 4; @@ -328,11 +320,6 @@ int ImuseDigiSndMgr::getNumJumps(soundStruct *soundHandle) { return soundHandle->numJumps; } -int ImuseDigiSndMgr::getNumMarkers(soundStruct *soundHandle) { - assert(soundHandle && checkForProperHandle(soundHandle)); - return soundHandle->numMarkers; -} - int ImuseDigiSndMgr::getRegionOffset(soundStruct *soundHandle, int region) { assert(soundHandle && checkForProperHandle(soundHandle)); assert(region >= 0 && region < soundHandle->numRegions); @@ -388,12 +375,6 @@ int ImuseDigiSndMgr::getJumpFade(soundStruct *soundHandle, int number) { return soundHandle->jump[number].fadeDelay; } -char *ImuseDigiSndMgr::getMarker(soundStruct *soundHandle, int number) { - assert(soundHandle && checkForProperHandle(soundHandle)); - assert(number >= 0 && number < soundHandle->numMarkers); - return (char *)(soundHandle->marker[number].name); -} - int32 ImuseDigiSndMgr::getDataFromRegion(soundStruct *soundHandle, int region, byte **buf, int32 offset, int32 size) { assert(soundHandle && checkForProperHandle(soundHandle)); assert(buf && offset >= 0 && size >= 0); diff --git a/scumm/imuse_digi/dimuse_sndmgr.h b/scumm/imuse_digi/dimuse_sndmgr.h index 146d3c93db..481b8747dd 100644 --- a/scumm/imuse_digi/dimuse_sndmgr.h +++ b/scumm/imuse_digi/dimuse_sndmgr.h @@ -55,12 +55,8 @@ private: struct _jump { int32 offset; // jump offset position int32 dest; // jump to dest position - int hookId; // id of hook - int fadeDelay; // fade delay in ms - }; - - struct _marker { - char name[256]; // name of marker + byte hookId; // id of hook + int16 fadeDelay; // fade delay in ms }; struct _sync { @@ -71,13 +67,12 @@ private: public: struct soundStruct { - int freq; // frequency - int channels; // stereo or mono - int bits; // 8, 12, 16 - int numJumps; // number of Jumps - int numRegions; // number of Regions - int numMarkers; // number of Markers - int numSyncs; // number of Syncs + int16 freq; // frequency + byte channels; // stereo or mono + byte bits; // 8, 12, 16 + int8 numJumps; // number of Jumps + int8 numRegions; // number of Regions + int8 numSyncs; // number of Syncs int32 offsetStop; // end offset in source data bool endFlag; bool inUse; @@ -85,11 +80,10 @@ public: int32 offsetData; byte *resPtr; char name[15]; - int soundId; + int16 soundId; bool freeResPtr; BundleMgr *_bundle; _region region[MAX_IMUSE_REGIONS]; - _marker marker[MAX_IMUSE_MARKERS]; _jump jump[MAX_IMUSE_JUMPS]; _sync sync[MAX_IMUSE_SYNCS]; }; @@ -123,13 +117,11 @@ public: bool isEndOfRegion(soundStruct *soundHandle, int region); int getNumRegions(soundStruct *soundHandle); int getNumJumps(soundStruct *soundHandle); - int getNumMarkers(soundStruct *soundHandle); int getRegionOffset(soundStruct *soundHandle, int region); int getJumpIdByRegionAndHookId(soundStruct *soundHandle, int region, int hookId); int getRegionIdByJumpId(soundStruct *soundHandle, int jumpId); int getJumpHookId(soundStruct *soundHandle, int number); int getJumpFade(soundStruct *soundHandle, int number); - char *getMarker(soundStruct *soundHandle, int number); void getSyncSizeAndPtrById(soundStruct *soundHandle, int number, int32 &sync_size, byte **sync_ptr); int32 getDataFromRegion(soundStruct *soundHandle, int region, byte **buf, int32 offset, int32 size); |