aboutsummaryrefslogtreecommitdiff
path: root/saga/image.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'saga/image.cpp')
-rw-r--r--saga/image.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/saga/image.cpp b/saga/image.cpp
index 1db32b7bcc..9b6200dbaa 100644
--- a/saga/image.cpp
+++ b/saga/image.cpp
@@ -62,17 +62,18 @@ int IMG_DecodeBGImage(const byte * image_data, size_t image_size,
size_t decode_buf_len;
byte *out_buf;
size_t out_buf_len;
- const byte *read_p = image_data;
if (image_size <= SAGA_IMAGE_DATA_OFFSET) {
/* Image size is way too small */
return R_FAILURE;
}
- hdr.width = ys_read_u16_le(read_p, &read_p);
- hdr.height = ys_read_u16_le(read_p, &read_p);
- hdr.unknown4 = ys_read_u16_le(read_p, &read_p);
- hdr.unknown6 = ys_read_u16_le(read_p, &read_p);
+ MemoryReadStream *readS = new MemoryReadStream(image_data, image_size);
+
+ hdr.width = readS->readUint16LE();
+ hdr.height = readS->readUint16LE();
+ hdr.unknown4 = readS->readUint16LE();
+ hdr.unknown6 = readS->readUint16LE();
RLE_data_ptr = image_data + SAGA_IMAGE_DATA_OFFSET;
RLE_data_len = image_size - SAGA_IMAGE_DATA_OFFSET;