From 1724d009628f169ccb9bbfc94bd72e5301169fc8 Mon Sep 17 00:00:00 2001 From: Andrew Kurushin Date: Sat, 18 Dec 2004 16:08:59 +0000 Subject: sprite loading fix in win demo svn-id: r16119 --- saga/sprite.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'saga/sprite.cpp') diff --git a/saga/sprite.cpp b/saga/sprite.cpp index 0e0645d2dc..a95e61aaea 100644 --- a/saga/sprite.cpp +++ b/saga/sprite.cpp @@ -73,19 +73,22 @@ int Sprite::loadList(int resource_num, SPRITELIST **sprite_list_p) { uint16 sprite_count; uint16 i; - new_slist = (SPRITELIST *)malloc(sizeof *new_slist); - if (new_slist == NULL) { - return MEM; - } - if (RSC_LoadResource(_spriteContext, resource_num, &spritelist_data, &spritelist_len) != SUCCESS) { return FAILURE; } + if (spritelist_len == 0) + return FAILURE; + MemoryReadStreamEndian readS(spritelist_data, spritelist_len, IS_BIG_ENDIAN); sprite_count = readS.readUint16(); + new_slist = (SPRITELIST *)malloc(sizeof *new_slist); + if (new_slist == NULL) { + return MEM; + } + new_slist->sprite_count = sprite_count; new_slist->offset_list = (SPRITELIST_OFFSET *)malloc(sprite_count * sizeof *new_slist->offset_list); -- cgit v1.2.3