From e2f7adeed89d5cd22b0a68f5dcb483627e83ed15 Mon Sep 17 00:00:00 2001 From: Nunuhara Cabbage Date: Sun, 5 Apr 2020 13:18:04 -0700 Subject: [PATCH] SACT2: allow SP_Create with unallocated sprite nr MangaGamer version of Sengoku Rance does this. --- src/sact_graphics.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sact_graphics.c b/src/sact_graphics.c index a15b5b0..8245796 100644 --- a/src/sact_graphics.c +++ b/src/sact_graphics.c @@ -248,8 +248,11 @@ int sact_SP_SetCG(int sp_no, int cg_no) static struct sact_sprite *create_sprite(int sp_no, int width, int height, int r, int g, int b, int a) { struct sact_sprite *sp; - if (sp_no < 0 || sp_no >= nr_sprites) + if (sp_no < 0) VM_ERROR("Invalid sprite number: %d", sp_no); + if (sp_no >= nr_sprites) { + realloc_sprite_table(sp_no+256); + } if (!(sp = sact_get_sprite(sp_no))) sp = alloc_sprite(sp_no); sp->color = (SDL_Color) { .r = r, .g = g, .b = b, .a = (a >= 0 ? a : 255) };