diff options
author | Paweł Kołodziejski | 2004-01-07 21:02:48 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2004-01-07 21:02:48 +0000 |
commit | d1b1cbf94845c1320c4766e52fa5f6121feee96f (patch) | |
tree | b31e5e77135b3b5764346a16e60cc3d61282ef47 /scumm/imuse_digi | |
parent | 0a93e978c5d3e9a69116f9e0e010e4e76292f6ce (diff) | |
download | scummvm-rg350-d1b1cbf94845c1320c4766e52fa5f6121feee96f.tar.gz scummvm-rg350-d1b1cbf94845c1320c4766e52fa5f6121feee96f.tar.bz2 scummvm-rg350-d1b1cbf94845c1320c4766e52fa5f6121feee96f.zip |
some cleanup
svn-id: r12226
Diffstat (limited to 'scumm/imuse_digi')
-rw-r--r-- | scumm/imuse_digi/dimuse.h | 4 | ||||
-rw-r--r-- | scumm/imuse_digi/dimuse_sndmgr.cpp | 110 | ||||
-rw-r--r-- | scumm/imuse_digi/dimuse_sndmgr.h | 45 |
3 files changed, 76 insertions, 83 deletions
diff --git a/scumm/imuse_digi/dimuse.h b/scumm/imuse_digi/dimuse.h index ffb9a6704f..1fb7a977a4 100644 --- a/scumm/imuse_digi/dimuse.h +++ b/scumm/imuse_digi/dimuse.h @@ -56,9 +56,9 @@ private: int curHookId; int soundGroup; int iteration; - void *soundHandle; - int32 pullSize; int mod; + int32 pullSize; + ImuseDigiSndMgr::soundStruct *soundHandle; PlayingSoundHandle handle; AppendableAudioStream *stream; AudioStream *stream2; diff --git a/scumm/imuse_digi/dimuse_sndmgr.cpp b/scumm/imuse_digi/dimuse_sndmgr.cpp index d909e086e5..cc313d6da2 100644 --- a/scumm/imuse_digi/dimuse_sndmgr.cpp +++ b/scumm/imuse_digi/dimuse_sndmgr.cpp @@ -191,7 +191,7 @@ bool ImuseDigiSndMgr::openVoiceBundle(int slot) { return result; } -void *ImuseDigiSndMgr::openSound(int32 soundId, const char *soundName, int soundType, int soundGroup) { +ImuseDigiSndMgr::soundStruct *ImuseDigiSndMgr::openSound(int32 soundId, const char *soundName, int soundType, int soundGroup) { assert(soundId >= 0); assert(soundType); Common::StackLock tmpLock(_mutex); @@ -244,14 +244,13 @@ void *ImuseDigiSndMgr::openSound(int32 soundId, const char *soundName, int sound return NULL; } prepareSound(ptr, slot); - void *soundHandle = &_sounds[slot]; - return soundHandle; + return &_sounds[slot]; } return NULL; } -void ImuseDigiSndMgr::closeSound(void *soundHandle) { +void ImuseDigiSndMgr::closeSound(soundStruct *soundHandle) { assert(soundHandle && checkForProperHandle(soundHandle)); Common::StackLock tmpLock(_mutex); @@ -266,7 +265,7 @@ void ImuseDigiSndMgr::closeSound(void *soundHandle) { } } -bool ImuseDigiSndMgr::checkForProperHandle(void *soundHandle) { +bool ImuseDigiSndMgr::checkForProperHandle(soundStruct *soundHandle) { for (int l = 0; l < MAX_IMUSE_SOUNDS; l++) { if (soundHandle == &_sounds[l]) return true; @@ -274,62 +273,55 @@ bool ImuseDigiSndMgr::checkForProperHandle(void *soundHandle) { return false; } -int ImuseDigiSndMgr::getFreq(void *soundHandle) { +int ImuseDigiSndMgr::getFreq(soundStruct *soundHandle) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - int result = ((soundStruct *)soundHandle)->freq; - return result; + return soundHandle->freq; } -int ImuseDigiSndMgr::getBits(void *soundHandle) { +int ImuseDigiSndMgr::getBits(soundStruct *soundHandle) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - int result = ((soundStruct *)soundHandle)->bits; - return result; + return soundHandle->bits; } -int ImuseDigiSndMgr::getChannels(void *soundHandle) { +int ImuseDigiSndMgr::getChannels(soundStruct *soundHandle) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - int result = ((soundStruct *)soundHandle)->channels; - return result; + return soundHandle->channels; } -bool ImuseDigiSndMgr::isEndOfRegion(void *soundHandle, int region) { +bool ImuseDigiSndMgr::isEndOfRegion(soundStruct *soundHandle, int region) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - assert(region >= 0 && region < ((soundStruct *)soundHandle)->numRegions); - bool result = ((soundStruct *)soundHandle)->endFlag; - return result; + assert(region >= 0 && region < soundHandle->numRegions); + return soundHandle->endFlag; } -int ImuseDigiSndMgr::getNumRegions(void *soundHandle) { +int ImuseDigiSndMgr::getNumRegions(soundStruct *soundHandle) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - int result = ((soundStruct *)soundHandle)->numRegions; - return result; + return soundHandle->numRegions; } -int ImuseDigiSndMgr::getNumJumps(void *soundHandle) { +int ImuseDigiSndMgr::getNumJumps(soundStruct *soundHandle) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - int result = ((soundStruct *)soundHandle)->numJumps; - return result; + return soundHandle->numJumps; } -int ImuseDigiSndMgr::getNumMarkers(void *soundHandle) { +int ImuseDigiSndMgr::getNumMarkers(soundStruct *soundHandle) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - int result = ((soundStruct *)soundHandle)->numMarkers; - return result; + return soundHandle->numMarkers; } -int ImuseDigiSndMgr::getJumpIdByRegion(void *soundHandle, int number) { +int ImuseDigiSndMgr::getJumpIdByRegion(soundStruct *soundHandle, int number) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - assert(number >= 0 && number < ((soundStruct *)soundHandle)->numRegions); - for (int l = 0; l < ((soundStruct *)soundHandle)->numJumps; l++) { - if (((soundStruct *)soundHandle)->jump[number].offset == ((soundStruct *)soundHandle)->region[l].offset) { + assert(number >= 0 && number < soundHandle->numRegions); + for (int l = 0; l < soundHandle->numJumps; l++) { + if (soundHandle->jump[number].offset == soundHandle->region[l].offset) { return l; } } @@ -337,12 +329,12 @@ int ImuseDigiSndMgr::getJumpIdByRegion(void *soundHandle, int number) { return -1; } -int ImuseDigiSndMgr::getJumpDestRegionId(void *soundHandle, int number) { +int ImuseDigiSndMgr::getJumpDestRegionId(soundStruct *soundHandle, int number) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - assert(number >= 0 && number < ((soundStruct *)soundHandle)->numJumps); - for (int l = 0; l < ((soundStruct *)soundHandle)->numRegions; l++) { - if (((soundStruct *)soundHandle)->jump[number].dest == ((soundStruct *)soundHandle)->region[l].offset) { + assert(number >= 0 && number < soundHandle->numJumps); + for (int l = 0; l < soundHandle->numRegions; l++) { + if (soundHandle->jump[number].dest == soundHandle->region[l].offset) { return l; } } @@ -350,58 +342,52 @@ int ImuseDigiSndMgr::getJumpDestRegionId(void *soundHandle, int number) { return -1; } -int ImuseDigiSndMgr::getJumpHookId(void *soundHandle, int number) { +int ImuseDigiSndMgr::getJumpHookId(soundStruct *soundHandle, int number) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - assert(number >= 0 && number < ((soundStruct *)soundHandle)->numJumps); - int result = ((soundStruct *)soundHandle)->jump[number].hookId; - return result; + assert(number >= 0 && number < soundHandle->numJumps); + return soundHandle->jump[number].hookId; } -int ImuseDigiSndMgr::getJumpFade(void *soundHandle, int number) { +int ImuseDigiSndMgr::getJumpFade(soundStruct *soundHandle, int number) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - assert(number >= 0 && number < ((soundStruct *)soundHandle)->numJumps); - return ((soundStruct *)soundHandle)->jump[number].fadeDelay; + assert(number >= 0 && number < soundHandle->numJumps); + return soundHandle->jump[number].fadeDelay; } -char *ImuseDigiSndMgr::getMarker(void *soundHandle, int number) { +char *ImuseDigiSndMgr::getMarker(soundStruct *soundHandle, int number) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); - assert(number >= 0 && number < ((soundStruct *)soundHandle)->numMarkers); - char *result = (char *)(((soundStruct *)soundHandle)->marker[number].name); - return result; + assert(number >= 0 && number < soundHandle->numMarkers); + return (char *)(soundHandle->marker[number].name); } -int32 ImuseDigiSndMgr::getDataFromRegion(void *soundHandle, int region, byte **buf, int32 offset, int32 size) { +int32 ImuseDigiSndMgr::getDataFromRegion(soundStruct *soundHandle, int region, byte **buf, int32 offset, int32 size) { Common::StackLock tmpLock(_mutex); assert(soundHandle && checkForProperHandle(soundHandle)); assert(buf && offset >= 0 && size >= 0); - assert(region >= 0 && region < ((soundStruct *)soundHandle)->numRegions); + assert(region >= 0 && region < soundHandle->numRegions); - int32 region_offset = ((soundStruct *)soundHandle)->region[region].offset; - int32 region_length = ((soundStruct *)soundHandle)->region[region].length; - int32 offset_data = ((soundStruct *)soundHandle)->offsetData; + int32 region_offset = soundHandle->region[region].offset; + int32 region_length = soundHandle->region[region].length; + int32 offset_data = soundHandle->offsetData; int32 start = region_offset - offset_data; if (offset + size + offset_data > region_length) { size = region_length - offset; - ((soundStruct *)soundHandle)->endFlag = true; + soundHandle->endFlag = true; } else { - ((soundStruct *)soundHandle)->endFlag = false; + soundHandle->endFlag = false; } - int header_size = ((soundStruct *)soundHandle)->offsetData; + int header_size = soundHandle->offsetData; - if (((soundStruct *)soundHandle)->_bundle) { -// *buf = (byte *)malloc(size); -// memset(*buf, 0, size); - size = ((soundStruct *)soundHandle)->_bundle->decompressSampleByCurIndex(start + offset, size, buf, header_size); - } else if (((soundStruct *)soundHandle)->resPtr) { - byte *ptr = ((soundStruct *)soundHandle)->resPtr; + if (soundHandle->_bundle) { + size = soundHandle->_bundle->decompressSampleByCurIndex(start + offset, size, buf, header_size); + } else if (soundHandle->resPtr) { *buf = (byte *)malloc(size); -// warning("%d, %d, %d", start + header_size + offset, region_offset + region_length, size); - memcpy(*buf, ptr + start + offset + header_size, size); + memcpy(*buf, soundHandle->resPtr + start + offset + header_size, size); } return size; diff --git a/scumm/imuse_digi/dimuse_sndmgr.h b/scumm/imuse_digi/dimuse_sndmgr.h index 00b2f07f7c..ca972d1662 100644 --- a/scumm/imuse_digi/dimuse_sndmgr.h +++ b/scumm/imuse_digi/dimuse_sndmgr.h @@ -30,6 +30,7 @@ namespace Scumm { class ScummEngine; class BundleMgr; +class ImuseDigital; class ImuseDigiSndMgr { public: @@ -61,6 +62,8 @@ private: struct _marker { char name[256]; // name of marker }; + +public: struct soundStruct { int freq; // frequency @@ -80,9 +83,13 @@ private: _region region[MAX_IMUSE_REGIONS]; _marker marker[MAX_IMUSE_MARKERS]; _jump jump[MAX_IMUSE_JUMPS]; - } _sounds[MAX_IMUSE_SOUNDS]; + }; + +private: + + soundStruct _sounds[MAX_IMUSE_SOUNDS]; - bool checkForProperHandle(void *soundHandle); + bool checkForProperHandle(soundStruct *soundHandle); int allocSlot(); void prepareSound(byte *ptr, int slot); @@ -99,23 +106,23 @@ public: ImuseDigiSndMgr(ScummEngine *scumm); ~ImuseDigiSndMgr(); - void *openSound(int32 soundId, const char *soundName, int soundType, int soundGroup); - void closeSound(void *soundHandle); - - int getFreq(void *soundHandle); - int getBits(void *soundHandle); - int getChannels(void *soundHandle); - bool isEndOfRegion(void *soundHandle, int region); - int getNumRegions(void *soundHandle); - int getNumJumps(void *soundHandle); - int getNumMarkers(void *soundHandle); - int getJumpIdByRegion(void *soundHandle, int number); - int getJumpDestRegionId(void *soundHandle, int number); - int getJumpHookId(void *soundHandle, int number); - int getJumpFade(void *soundHandle, int number); - char *getMarker(void *soundHandle, int number); - - int32 getDataFromRegion(void *soundHandle, int region, byte **buf, int32 offset, int32 size); + soundStruct * openSound(int32 soundId, const char *soundName, int soundType, int soundGroup); + void closeSound(soundStruct *soundHandle); + + int getFreq(soundStruct *soundHandle); + int getBits(soundStruct *soundHandle); + int getChannels(soundStruct *soundHandle); + bool isEndOfRegion(soundStruct *soundHandle, int region); + int getNumRegions(soundStruct *soundHandle); + int getNumJumps(soundStruct *soundHandle); + int getNumMarkers(soundStruct *soundHandle); + int getJumpIdByRegion(soundStruct *soundHandle, int number); + int getJumpDestRegionId(soundStruct *soundHandle, int number); + int getJumpHookId(soundStruct *soundHandle, int number); + int getJumpFade(soundStruct *soundHandle, int number); + char *getMarker(soundStruct *soundHandle, int number); + + int32 getDataFromRegion(soundStruct *soundHandle, int region, byte **buf, int32 offset, int32 size); }; } // End of namespace Scumm |