From cd00c0de313119962d285bc39cf96df6273d983f Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Mon, 1 Aug 2016 19:28:22 +0200 Subject: [PATCH] Identify fade sprites --- src/drawing/sprite.c | 21 ++++++++++++++++++--- src/sprites.h | 8 +++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/drawing/sprite.c b/src/drawing/sprite.c index 6400f91ecd..bb8c25e510 100644 --- a/src/drawing/sprite.c +++ b/src/drawing/sprite.c @@ -31,6 +31,17 @@ rct_gx g2; rct_g1_element *g1Elements = (rct_g1_element*)RCT2_ADDRESS_G1_ELEMENTS; #endif +static const uint32 fadeSprites[] = { + SPR_NONE, + SPR_FADE_1, + SPR_FADE_2, + SPR_FADE_3, + SPR_FADE_4, + SPR_FADE_5, + SPR_FADE_6, + SPR_FADE_7, +}; + static void read_and_convert_gxdat(SDL_RWops *file, size_t count, rct_g1_element *elements) { rct_g1_element_32bit *g1Elements32 = calloc(count, sizeof(rct_g1_element_32bit)); @@ -179,9 +190,13 @@ int gfx_load_g2() */ void sub_68371D() { - unk_9E3CE4[0] = NULL; - for (int i = 1; i < 8; i++) { - unk_9E3CE4[i] = g1Elements[23199 + i].offset; + for (int i = 0; i < countof(fadeSprites); i++) { + const uint32 spriteId = fadeSprites[i]; + if (spriteId == SPR_NONE) { + unk_9E3CE4[i] = NULL; + } else { + unk_9E3CE4[i] = g1Elements[fadeSprites[i]].offset; + } } } diff --git a/src/sprites.h b/src/sprites.h index 03c418e9ba..ea3718d803 100644 --- a/src/sprites.h +++ b/src/sprites.h @@ -665,7 +665,13 @@ enum { SPR_RATING_LOW = 23197, SPR_RATING_HIGH = 23198, SPR_MENU_CHECKMARK = 23199, - + SPR_FADE_1 = 23200, + SPR_FADE_2 = 23201, + SPR_FADE_3 = 23202, + SPR_FADE_4 = 23203, + SPR_FADE_5 = 23204, + SPR_FADE_6 = 23205, + SPR_FADE_7 = 23206, SPR_MENU_NEW_GAME = 23207, SPR_MENU_LOAD_GAME = 23208, SPR_MENU_TUTORIAL = 23209,