aboutsummaryrefslogtreecommitdiff
path: root/scumm/smush/imuse_channel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/smush/imuse_channel.cpp')
-rw-r--r--scumm/smush/imuse_channel.cpp94
1 files changed, 47 insertions, 47 deletions
diff --git a/scumm/smush/imuse_channel.cpp b/scumm/smush/imuse_channel.cpp
index 113d6257c1..617932e75c 100644
--- a/scumm/smush/imuse_channel.cpp
+++ b/scumm/smush/imuse_channel.cpp
@@ -36,10 +36,10 @@ ImuseChannel::ImuseChannel(int32 track, int32 freq) :
}
ImuseChannel::~ImuseChannel() {
- if(_tbuffer) {
+ if (_tbuffer) {
delete []_tbuffer;
}
- if(_sbuffer) {
+ if (_sbuffer) {
warning("_sbuffer should be 0 !!!");
delete []_sbuffer;
}
@@ -70,26 +70,26 @@ bool ImuseChannel::checkParameters(int32 index, int32 nbframes, int32 size, int3
}
bool ImuseChannel::appendData(Chunk &b, int32 size) {
- if(_dataSize == -1) {
+ if (_dataSize == -1) {
assert(size > 8);
Chunk::type imus_type = b.getDword(); imus_type = SWAP_BYTES(imus_type);
uint32 imus_size = b.getDword(); imus_size = SWAP_BYTES(imus_size);
- if(imus_type != TYPE_iMUS)
+ if (imus_type != TYPE_iMUS)
error("Invalid Chunk for imuse_channel");
size -= 8;
_tbufferSize = size;
assert(_tbufferSize);
_tbuffer = new byte[_tbufferSize];
- if(!_tbuffer)
+ if (!_tbuffer)
error("imuse_channel failed to allocate memory");
b.read(_tbuffer, size);
_dataSize = -2;
} else {
- if(_tbuffer) {
+ if (_tbuffer) {
byte *old = _tbuffer;
int32 new_size = size + _tbufferSize;
_tbuffer = new byte[new_size];
- if(!_tbuffer)
+ if (!_tbuffer)
error("imuse_channel failed to allocate memory");
memcpy(_tbuffer, old, _tbufferSize);
delete []old;
@@ -98,7 +98,7 @@ bool ImuseChannel::appendData(Chunk &b, int32 size) {
} else {
_tbufferSize = size;
_tbuffer = new byte[_tbufferSize];
- if(!_tbuffer)
+ if (!_tbuffer)
error("imuse_channel failed to allocate memory");
b.read(_tbuffer, size);
}
@@ -107,7 +107,7 @@ bool ImuseChannel::appendData(Chunk &b, int32 size) {
}
bool ImuseChannel::handleFormat(Chunk &src) {
- if(src.getSize() != 20) error("invalid size for FRMT Chunk");
+ if (src.getSize() != 20) error("invalid size for FRMT Chunk");
uint32 imuse_start = src.getDword();
imuse_start = SWAP_BYTES(imuse_start);
src.seek(4);
@@ -126,19 +126,19 @@ bool ImuseChannel::handleText(Chunk &src) {
}
bool ImuseChannel::handleRegion(Chunk &src) {
- if(src.getSize() != 8)
+ if (src.getSize() != 8)
error("invalid size for REGN Chunk");
return true;
}
bool ImuseChannel::handleStop(Chunk &src) {
- if(src.getSize() != 4)
+ if (src.getSize() != 4)
error("invalid size for STOP Chunk");
return true;
}
bool ImuseChannel::handleMap(Chunk &map) {
- while(!map.eof()) {
+ while (!map.eof()) {
Chunk *sub = map.subBlock();
switch(sub->getType()) {
case TYPE_FRMT:
@@ -163,10 +163,10 @@ bool ImuseChannel::handleMap(Chunk &map) {
void ImuseChannel::decode() {
int remaining_size = _sbufferSize % 3;
- if(remaining_size) {
+ if (remaining_size) {
_srbufferSize -= remaining_size;
assert(_inData);
- if(_tbuffer == 0) {
+ if (_tbuffer == 0) {
_tbuffer = new byte[remaining_size];
memcpy(_tbuffer, _sbuffer + _sbufferSize - remaining_size, remaining_size);
_tbufferSize = remaining_size;
@@ -177,7 +177,7 @@ void ImuseChannel::decode() {
byte *old = _tbuffer;
int new_size = remaining_size + _tbufferSize;
_tbuffer = new byte[new_size];
- if(!_tbuffer) error("imuse_channel failed to allocate memory");
+ if (!_tbuffer) error("imuse_channel failed to allocate memory");
memcpy(_tbuffer, old, _tbufferSize);
delete []old;
memcpy(_tbuffer + _tbufferSize, _sbuffer + _sbufferSize - remaining_size, remaining_size);
@@ -191,7 +191,7 @@ void ImuseChannel::decode() {
keep = decoded = new byte[new_size * 2];
assert(keep);
unsigned char * source = _sbuffer;
- while(loop_size--) {
+ while (loop_size--) {
byte v1 = *source++;
byte v2 = *source++;
byte v3 = *source++;
@@ -208,14 +208,14 @@ void ImuseChannel::decode() {
}
bool ImuseChannel::handleSubTags(int32 &offset) {
- if(_tbufferSize - offset >= 8) {
+ if (_tbufferSize - offset >= 8) {
Chunk::type type = READ_BE_UINT32(_tbuffer + offset);
uint32 size = READ_BE_UINT32(_tbuffer + offset + 4);
uint32 available_size = _tbufferSize - offset;
switch(type) {
case TYPE_MAP_:
_inData = false;
- if(available_size >= (size + 8)) {
+ if (available_size >= (size + 8)) {
MemoryChunk c((byte *)_tbuffer + offset);
handleMap(c);
}
@@ -226,16 +226,16 @@ bool ImuseChannel::handleSubTags(int32 &offset) {
offset += 8;
{
int reqsize = 1;
- if(_channels == 2)
+ if (_channels == 2)
reqsize *= 2;
- if(_bitsize == 16)
+ if (_bitsize == 16)
reqsize *= 2;
- else if(_bitsize == 12) {
- if(reqsize > 1)
+ else if (_bitsize == 12) {
+ if (reqsize > 1)
reqsize = reqsize * 3 / 2;
else reqsize = 3;
}
- if((size % reqsize) != 0) {
+ if ((size % reqsize) != 0) {
debug(2, "Invalid iMUS sound data size : (%d %% %d) != 0, correcting...", size, reqsize);
size += 3 - (size % reqsize);
}
@@ -256,23 +256,23 @@ bool ImuseChannel::processBuffer() {
assert(_sbuffer == 0);
assert(_sbufferSize == 0);
- if(_inData) {
- if(_dataSize < _tbufferSize) {
+ if (_inData) {
+ if (_dataSize < _tbufferSize) {
int32 offset= _dataSize;
- while(handleSubTags(offset));
+ while (handleSubTags(offset));
_sbufferSize = _dataSize;
_sbuffer = _tbuffer;
- if(offset < _tbufferSize) {
+ if (offset < _tbufferSize) {
int32 new_size = _tbufferSize - offset;
_tbuffer = new byte[new_size];
- if(!_tbuffer) error("imuse_channel failed to allocate memory");
+ if (!_tbuffer) error("imuse_channel failed to allocate memory");
memcpy(_tbuffer, _sbuffer + offset, new_size);
_tbufferSize = new_size;
} else {
_tbuffer = 0;
_tbufferSize = 0;
}
- if(_sbufferSize == 0) {
+ if (_sbufferSize == 0) {
delete []_sbuffer;
_sbuffer = 0;
}
@@ -284,22 +284,22 @@ bool ImuseChannel::processBuffer() {
}
} else {
int32 offset = 0;
- while(handleSubTags(offset));
- if(_inData) {
+ while (handleSubTags(offset));
+ if (_inData) {
_sbufferSize = _tbufferSize - offset;
assert(_sbufferSize);
_sbuffer = new byte[_sbufferSize];
- if(!_sbuffer) error("imuse_channel failed to allocate memory");
+ if (!_sbuffer) error("imuse_channel failed to allocate memory");
memcpy(_sbuffer, _tbuffer + offset, _sbufferSize);
delete []_tbuffer;
_tbuffer = 0;
_tbufferSize = 0;
} else {
- if(offset) {
+ if (offset) {
byte * old = _tbuffer;
int32 new_size = _tbufferSize - offset;
_tbuffer = new byte[new_size];
- if(!_tbuffer) error("imuse_channel failed to allocate memory");
+ if (!_tbuffer) error("imuse_channel failed to allocate memory");
memcpy(_tbuffer, old + offset, new_size);
_tbufferSize = new_size;
delete []old;
@@ -307,23 +307,23 @@ bool ImuseChannel::processBuffer() {
}
}
_srbufferSize = _sbufferSize;
- if(_sbuffer && _bitsize == 12) decode();
+ if (_sbuffer && _bitsize == 12) decode();
return true;
}
int32 ImuseChannel::availableSoundData(void) const {
int32 ret = _sbufferSize;
- if(_channels == 2) ret /= 2;
- if(_bitsize > 8) ret /= 2;
+ if (_channels == 2) ret /= 2;
+ if (_bitsize > 8) ret /= 2;
return ret;
}
void ImuseChannel::getSoundData(int16 *snd, int32 size) {
- if(_dataSize <= 0 || _bitsize <= 8) error("invalid call to imuse_channel::read_sound_data()");
- if(_channels == 2) size *= 2;
+ if (_dataSize <= 0 || _bitsize <= 8) error("invalid call to imuse_channel::read_sound_data()");
+ if (_channels == 2) size *= 2;
byte * buf = (byte*)snd;
- if(_rate == 11025) {
- for(int32 i = 0; i < size; i++) {
+ if (_rate == 11025) {
+ for (int32 i = 0; i < size; i++) {
byte sample1 = *(_sbuffer + i * 2);
byte sample2 = *(_sbuffer + i * 2 + 1);
uint16 sample = (uint16)(((int16)((sample1 << 8) | sample2) * _volume) >> 8);
@@ -333,7 +333,7 @@ void ImuseChannel::getSoundData(int16 *snd, int32 size) {
buf[i * 4 + 3] = buf[i * 4 + 1];
}
} else {
- for(int32 i = 0; i < size; i++){
+ for (int32 i = 0; i < size; i++){
byte sample1 = *(_sbuffer + i * 2);
byte sample2 = *(_sbuffer + i * 2 + 1);
uint16 sample = (uint16)(((int16)((sample1 << 8) | sample2) * _volume) >> 8);
@@ -349,15 +349,15 @@ void ImuseChannel::getSoundData(int16 *snd, int32 size) {
}
void ImuseChannel::getSoundData(int8 *snd, int32 size) {
- if(_dataSize <= 0 || _bitsize > 8) error("invalid call to imuse_channel::read_sound_data()");
- if(_channels == 2) size *= 2;
- if(_rate == 11025) {
- for(int32 i = 0; i < size; i++) {
+ if (_dataSize <= 0 || _bitsize > 8) error("invalid call to imuse_channel::read_sound_data()");
+ if (_channels == 2) size *= 2;
+ if (_rate == 11025) {
+ for (int32 i = 0; i < size; i++) {
snd[i * 2] = (int8)(((int8)(_sbuffer[i] ^ 0x80) * _volume) >> 8) ^ 0x80;
snd[i * 2 + 1] = snd[i * 2];
}
} else {
- for(int32 i = 0; i < size; i++){
+ for (int32 i = 0; i < size; i++){
snd[i] = (int8)(((int8)(_sbuffer[i] ^ 0x80) * _volume) >> 8) ^ 0x80;
}
}