From f827234dc87c918d85e8392d39f0ee94e43aa979 Mon Sep 17 00:00:00 2001 From: IntelOrca Date: Tue, 2 Jun 2015 00:53:51 +0100 Subject: [PATCH] fix sprite compile issue, entry offsets were not updated when data was reallocated. --- src/cmdline_sprite.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/cmdline_sprite.c b/src/cmdline_sprite.c index 3bc2808b69..e6e1cf14b3 100644 --- a/src/cmdline_sprite.c +++ b/src/cmdline_sprite.c @@ -500,7 +500,11 @@ int cmdline_for_sprite(const char **argv, int argc) spriteFileHeader.num_entries++; spriteFileHeader.total_size += bufferLength; spriteFileEntries = realloc(spriteFileEntries, spriteFileHeader.num_entries * sizeof(rct_g1_element)); + + sprite_entries_make_relative(); spriteFileData = realloc(spriteFileData, spriteFileHeader.total_size); + sprite_entries_make_absolute(); + spriteFileEntries[spriteFileHeader.num_entries - 1] = spriteElement; memcpy(spriteFileData + (spriteFileHeader.total_size - bufferLength), buffer, bufferLength); spriteFileEntries[spriteFileHeader.num_entries - 1].offset = spriteFileData + (spriteFileHeader.total_size - bufferLength); @@ -556,7 +560,11 @@ int cmdline_for_sprite(const char **argv, int argc) spriteFileHeader.num_entries++; spriteFileHeader.total_size += bufferLength; spriteFileEntries = realloc(spriteFileEntries, spriteFileHeader.num_entries * sizeof(rct_g1_element)); + + sprite_entries_make_relative(); spriteFileData = realloc(spriteFileData, spriteFileHeader.total_size); + sprite_entries_make_absolute(); + spriteFileEntries[spriteFileHeader.num_entries - 1] = spriteElement; memcpy(spriteFileData + (spriteFileHeader.total_size - bufferLength), buffer, bufferLength); spriteFileEntries[spriteFileHeader.num_entries - 1].offset = spriteFileData + (spriteFileHeader.total_size - bufferLength);