aboutsummaryrefslogtreecommitdiff
path: root/saga/sndres.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2004-08-01 23:24:22 +0000
committerEugene Sandulenko2004-08-01 23:24:22 +0000
commit873c886910f43cce67cfaf25e671c4adc70ebb7b (patch)
tree5cd67ab3b5ea52aacb0ea0700db008fc29272a2a /saga/sndres.cpp
parent936142bf40a75e61e629fa5370f5b83be97d62ca (diff)
downloadscummvm-rg350-873c886910f43cce67cfaf25e671c4adc70ebb7b.tar.gz
scummvm-rg350-873c886910f43cce67cfaf25e671c4adc70ebb7b.tar.bz2
scummvm-rg350-873c886910f43cce67cfaf25e671c4adc70ebb7b.zip
Made all MemoryReadStream local variables. This plugged a giantic constant
leakage in the engine. svn-id: r14427
Diffstat (limited to 'saga/sndres.cpp')
-rw-r--r--saga/sndres.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/saga/sndres.cpp b/saga/sndres.cpp
index 3df489c2fe..d964ec738d 100644
--- a/saga/sndres.cpp
+++ b/saga/sndres.cpp
@@ -141,45 +141,45 @@ int SndRes::loadVocSound(byte *snd_res, size_t snd_res_len, R_SOUNDBUFFER *snd_b
return R_FAILURE;
}
- MemoryReadStream *readS = new MemoryReadStream(snd_res, snd_res_len);
+ MemoryReadStream readS(snd_res, snd_res_len);
for (i = 0; i < R_VOC_FILE_DESC_LEN; i++)
- voc_hb.ft_desc[i] = readS->readByte();
+ voc_hb.ft_desc[i] = readS.readByte();
if (memcmp(voc_hb.ft_desc, R_VOC_FILE_DESC, R_VOC_FILE_DESC_LEN) != 0) {
/* Voc file desc string not found */
return R_FAILURE;
}
- voc_hb.db_offset = readS->readUint16LE();
- voc_hb.voc_version = readS->readUint16LE();
- voc_hb.voc_fileid = readS->readUint16LE();
+ voc_hb.db_offset = readS.readUint16LE();
+ voc_hb.voc_version = readS.readUint16LE();
+ voc_hb.voc_fileid = readS.readUint16LE();
- if ((int32)(snd_res_len - readS->pos()) < (int32)(voc_hb.db_offset + R_VOC_GENBLOCK_LEN)) {
+ if ((int32)(snd_res_len - readS.pos()) < (int32)(voc_hb.db_offset + R_VOC_GENBLOCK_LEN)) {
return R_FAILURE;
}
- while (readS->pos() < voc_hb.db_offset)
- readS->readByte();
+ while (readS.pos() < voc_hb.db_offset)
+ readS.readByte();
for (;;) {
/* Read generic block header */
- if (snd_res_len - readS->pos() < R_VOC_GENBLOCK_LEN) {
+ if (snd_res_len - readS.pos() < R_VOC_GENBLOCK_LEN) {
return R_FAILURE;
}
- voc_gb.block_id = readS->readByte();
+ voc_gb.block_id = readS.readByte();
if (voc_gb.block_id == 0) {
return R_FAILURE;
}
- voc_gb.block_len = readS->readUint24LE();
+ voc_gb.block_len = readS.readUint24LE();
/* Process block */
switch (voc_gb.block_id) {
case 1: /* Sound data block */
- voc_b1.time_constant = readS->readByte();
- voc_b1.pack_method = readS->readByte();
+ voc_b1.time_constant = readS.readByte();
+ voc_b1.pack_method = readS.readByte();
if (voc_b1.pack_method != 0) {
debug(0, "Packed VOC files not supported");
@@ -195,15 +195,15 @@ int SndRes::loadVocSound(byte *snd_res, size_t snd_res_len, R_SOUNDBUFFER *snd_b
snd_buf_i->res_data = snd_res;
snd_buf_i->res_len = snd_res_len;
- snd_buf_i->s_buf = snd_res + readS->pos();
- snd_buf_i->s_buf_len = snd_res_len - readS->pos() - 1; /* -1 for end block */
+ snd_buf_i->s_buf = snd_res + readS.pos();
+ snd_buf_i->s_buf_len = snd_res_len - readS.pos() - 1; /* -1 for end block */
snd_buf_i->s_signed = 0;
return R_SUCCESS;
break;
default:
for (i = 0; i < voc_gb.block_len; i++)
- readS->readByte();
+ readS.readByte();
break;
}
}