From 8b233c2f794b8513db76d37e949e57887c391aba Mon Sep 17 00:00:00 2001 From: Duncan Date: Wed, 4 Jun 2014 12:30:53 +0100 Subject: [PATCH] More gfx_draw_string notes. --- src/gfx.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gfx.c b/src/gfx.c index 441a201120..850f5fffff 100644 --- a/src/gfx.c +++ b/src/gfx.c @@ -1307,13 +1307,15 @@ int gfx_get_string_width(char* buffer) uint16* current_font_sprite_base; // Width of string int width; - + rct_g1_element* g1_element; + current_font_sprite_base = RCT2_ADDRESS(RCT2_ADDRESS_CURRENT_FONT_SPRITE_BASE, uint16); width = 0; for (char* curr_char = buffer; *curr_char != NULL; curr_char++) { if (*curr_char >= 0x20) { + //Maybe global not address?? width += RCT2_ADDRESS(0x0141E9E8, uint8)[*current_font_sprite_base + (*curr_char-0x20)]; continue; } @@ -1340,7 +1342,8 @@ int gfx_get_string_width(char* buffer) *current_font_sprite_base = 0; break; case 0x17: - width = RCT2_ADDRESS(RCT2_ADDRESS_G1_ELEMENTS + 4, uint16)[(*curr_char & 0x7FFFF) << 4]; + g1_element = &(RCT2_ADDRESS(RCT2_ADDRESS_G1_ELEMENTS, rct_g1_element)[*curr_char&0x7FFFF]); + width = g1_element.width; //RCT2_ADDRESS(RCT2_ADDRESS_G1_ELEMENTS + 4, uint16)[(*curr_char & 0x7FFFF) << 4]; curr_char += 4; *curr_char = 0; break;