mirror of https://github.com/OpenRCT2/OpenRCT2.git
Integrate gCommonStringFormatBuffer
This commit is contained in:
parent
b38416426f
commit
6a665330c2
|
@ -263,8 +263,6 @@
|
|||
#define RCT2_ADDRESS_CURRENT_SUPPORT_SEGMENTS 0x0141E9B4
|
||||
#define RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT 0x0141E9D8
|
||||
|
||||
#define RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER 0x0141ED68
|
||||
|
||||
// size: 500 chars
|
||||
#define RCT2_ADDRESS_TOOLTIP_TEXT_BUFFER 0x0141FE44
|
||||
#define RCT2_ADDRESS_TOOLTIP_TEXT_HEIGHT 0x01420044
|
||||
|
@ -608,6 +606,7 @@
|
|||
|
||||
#define RCT2_ADDRESS_GAME_COMMAND_ERROR_TEXT 0x0141E9AC
|
||||
#define RCT2_ADDRESS_GAME_COMMAND_ERROR_TITLE 0x0141E9AE
|
||||
#define RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER 0x0141ED68
|
||||
#define RCT2_ADDRESS_NEXT_EXPENDITURE_TYPE 0x0141F56C
|
||||
#define RCT2_ADDRESS_WATER_RAISE_COST 0x0141F738
|
||||
#define RCT2_ADDRESS_WATER_LOWER_COST 0x0141F73C
|
||||
|
|
|
@ -246,7 +246,7 @@ int gfx_wrap_string(utf8 *text, int width, int *outNumLines, int *outFontHeight)
|
|||
*/
|
||||
void gfx_draw_string_left_clipped(rct_drawpixelinfo* dpi, rct_string_id format, void* args, int colour, int x, int y, int width)
|
||||
{
|
||||
char* buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
char* buffer = gCommonStringFormatBuffer;
|
||||
format_string(buffer, format, args);
|
||||
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
|
@ -271,7 +271,7 @@ void gfx_draw_string_left_clipped(rct_drawpixelinfo* dpi, rct_string_id format,
|
|||
*/
|
||||
void gfx_draw_string_centred_clipped(rct_drawpixelinfo *dpi, rct_string_id format, void *args, int colour, int x, int y, int width)
|
||||
{
|
||||
char* buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
char* buffer = gCommonStringFormatBuffer;
|
||||
format_string(buffer, format, args);
|
||||
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
|
@ -300,7 +300,7 @@ void gfx_draw_string_centred_clipped(rct_drawpixelinfo *dpi, rct_string_id forma
|
|||
*/
|
||||
void gfx_draw_string_right(rct_drawpixelinfo* dpi, rct_string_id format, void* args, int colour, int x, int y)
|
||||
{
|
||||
char* buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
char* buffer = gCommonStringFormatBuffer;
|
||||
format_string(buffer, format, args);
|
||||
|
||||
// Measure text width
|
||||
|
@ -348,7 +348,7 @@ int gfx_draw_string_centred_wrapped(rct_drawpixelinfo *dpi, void *args, int x, i
|
|||
|
||||
gfx_draw_string(dpi, buffer, colour, dpi->x, dpi->y);
|
||||
|
||||
buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
buffer = gCommonStringFormatBuffer;
|
||||
format_string(buffer, format, args);
|
||||
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
|
@ -397,7 +397,7 @@ int gfx_draw_string_left_wrapped(rct_drawpixelinfo *dpi, void *args, int x, int
|
|||
|
||||
char* buffer = RCT2_ADDRESS(0x009C383D, char);
|
||||
gfx_draw_string(dpi, buffer, colour, dpi->x, dpi->y);
|
||||
buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
buffer = gCommonStringFormatBuffer;
|
||||
format_string(buffer, format, args);
|
||||
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
|
@ -426,7 +426,7 @@ int gfx_draw_string_left_wrapped(rct_drawpixelinfo *dpi, void *args, int x, int
|
|||
*/
|
||||
void gfx_draw_string_left(rct_drawpixelinfo *dpi, rct_string_id format, void *args, int colour, int x, int y)
|
||||
{
|
||||
char* buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
char* buffer = gCommonStringFormatBuffer;
|
||||
format_string(buffer, format, args);
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
gfx_draw_string(dpi, buffer, colour, x, y);
|
||||
|
@ -438,7 +438,7 @@ void gfx_draw_string_left(rct_drawpixelinfo *dpi, rct_string_id format, void *ar
|
|||
void gfx_draw_string_left_centred(rct_drawpixelinfo *dpi, rct_string_id format, void *args, int colour, int x, int y)
|
||||
{
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
char *buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
char *buffer = gCommonStringFormatBuffer;
|
||||
format_string(buffer, format, args);
|
||||
int height = string_get_height_raw(buffer);
|
||||
gfx_draw_string(dpi, buffer, colour, x, y - (height / 2));
|
||||
|
@ -655,7 +655,7 @@ int string_get_height_raw(char *buffer)
|
|||
void gfx_draw_string_centred_wrapped_partial(rct_drawpixelinfo *dpi, int x, int y, int width, int colour, rct_string_id format, void *args, int ticks)
|
||||
{
|
||||
int numLines, fontSpriteBase, lineHeight, lineY;
|
||||
utf8 *buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, utf8);
|
||||
utf8 *buffer = gCommonStringFormatBuffer;
|
||||
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
gfx_draw_string(dpi, RCT2_ADDRESS(0x009C383D, char), colour, dpi->x, dpi->y);
|
||||
|
|
|
@ -220,7 +220,7 @@ int chat_history_draw_string(rct_drawpixelinfo *dpi, void *args, int x, int y, i
|
|||
|
||||
char* buffer = RCT2_ADDRESS(0x009C383D, char);
|
||||
gfx_draw_string(dpi, buffer, 255, dpi->x, dpi->y);
|
||||
buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
buffer = gCommonStringFormatBuffer;
|
||||
format_string(buffer, STR_STRING, args);
|
||||
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
|
@ -252,7 +252,7 @@ int chat_string_wrapped_get_height(void *args, int width)
|
|||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
|
||||
char* buffer = RCT2_ADDRESS(0x009C383D, char);
|
||||
buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
buffer = gCommonStringFormatBuffer;
|
||||
format_string(buffer, STR_STRING, args);
|
||||
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
|
|
|
@ -538,7 +538,7 @@ static void widget_groupbox_draw(rct_drawpixelinfo *dpi, rct_window *w, int widg
|
|||
if (widget_is_disabled(w, widgetIndex))
|
||||
colour |= 0x40;
|
||||
gfx_draw_string_left(dpi, widget->text, gCommonFormatArgs, colour, l, t);
|
||||
textRight = l + gfx_get_string_width(RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char)) + 1;
|
||||
textRight = l + gfx_get_string_width(gCommonStringFormatBuffer) + 1;
|
||||
}
|
||||
|
||||
// Border
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include "localisation.h"
|
||||
#include "../management/marketing.h"
|
||||
|
||||
char gCommonStringFormatBuffer[256];
|
||||
uint8 gCommonFormatArgs[80];
|
||||
uint8 gMapTooltipFormatArgs[40];
|
||||
|
||||
|
|
|
@ -63,6 +63,7 @@ extern const char real_name_initials[16];
|
|||
extern const char *real_names[1024];
|
||||
|
||||
extern utf8 *gUserStrings;
|
||||
extern char gCommonStringFormatBuffer[256];
|
||||
extern uint8 gCommonFormatArgs[80];
|
||||
extern uint8 gMapTooltipFormatArgs[40];
|
||||
|
||||
|
|
|
@ -88,14 +88,14 @@ void banner_paint(uint8 direction, int height, rct_map_element* map_element)
|
|||
string_id = STR_BANNER_TEXT_FORMAT;
|
||||
}
|
||||
if (gConfigGeneral.upper_case_banners) {
|
||||
format_string_to_upper(RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char), string_id, gCommonFormatArgs);
|
||||
format_string_to_upper(gCommonStringFormatBuffer, string_id, gCommonFormatArgs);
|
||||
} else {
|
||||
format_string(RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char), string_id, gCommonFormatArgs);
|
||||
format_string(gCommonStringFormatBuffer, string_id, gCommonFormatArgs);
|
||||
}
|
||||
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY;
|
||||
|
||||
uint16 string_width = gfx_get_string_width(RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char));
|
||||
uint16 string_width = gfx_get_string_width(gCommonStringFormatBuffer);
|
||||
uint16 scroll = (gCurrentTicks / 2) % string_width;
|
||||
|
||||
sub_98199C(scrolling_text_setup(string_id, scroll, scrollingMode), 0, 0, 1, 1, 0x15, height + 22, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, get_current_rotation());
|
||||
|
|
|
@ -397,14 +397,14 @@ static void sub_6A4101(rct_map_element * map_element, uint16 height, uint32 ebp,
|
|||
string_id = STR_RIDE_ENTRANCE_NAME;
|
||||
}
|
||||
if (gConfigGeneral.upper_case_banners) {
|
||||
format_string_to_upper(RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char), string_id, gCommonFormatArgs);
|
||||
format_string_to_upper(gCommonStringFormatBuffer, string_id, gCommonFormatArgs);
|
||||
} else {
|
||||
format_string(RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char), string_id, gCommonFormatArgs);
|
||||
format_string(gCommonStringFormatBuffer, string_id, gCommonFormatArgs);
|
||||
}
|
||||
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_TINY;
|
||||
|
||||
uint16 string_width = gfx_get_string_width(RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char));
|
||||
uint16 string_width = gfx_get_string_width(gCommonStringFormatBuffer);
|
||||
uint16 scroll = (gCurrentTicks / 2) % string_width;
|
||||
|
||||
sub_98199C(scrolling_text_setup(string_id, scroll, scrollingMode), 0, 0, 1, 1, 21, height + 7, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z, get_current_rotation());
|
||||
|
|
|
@ -11690,7 +11690,7 @@ money32 set_peep_name(int flags, int state, uint16 sprite_index, uint8* text_1,
|
|||
|
||||
rct_peep* peep = GET_PEEP(sprite_index);
|
||||
set_format_arg(0, uint32, peep->id);
|
||||
utf8* curName = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, utf8);
|
||||
utf8* curName = gCommonStringFormatBuffer;
|
||||
rct_string_id curId = peep->name_string_idx;
|
||||
format_string(curName, curId, gCommonFormatArgs);
|
||||
|
||||
|
|
|
@ -221,7 +221,7 @@ void scenario_begin()
|
|||
} else {
|
||||
rct_stex_entry* stex = g_stexEntries[0];
|
||||
if ((intptr_t)stex != -1) {
|
||||
char *buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
char *buffer = gCommonStringFormatBuffer;
|
||||
|
||||
// Set localised park name
|
||||
format_string(buffer, stex->park_name, 0);
|
||||
|
|
|
@ -1435,7 +1435,7 @@ static void window_editor_object_selection_scrollpaint(rct_window *w, rct_drawpi
|
|||
|
||||
x = gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER ? 0 : 15;
|
||||
|
||||
char *bufferWithColour = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
char *bufferWithColour = gCommonStringFormatBuffer;
|
||||
char *buffer = utf8_write_codepoint(bufferWithColour, colour);
|
||||
if (*listItem->flags & OBJECT_SELECTION_FLAG_6) {
|
||||
colour = w->colours[1] & 0x7F;
|
||||
|
|
|
@ -734,7 +734,7 @@ static void window_ride_list_refresh_list(rct_window *w)
|
|||
int current_list_position = list_index;
|
||||
switch (w->list_information_type) {
|
||||
case INFORMATION_TYPE_STATUS:
|
||||
bufferA = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
bufferA = gCommonStringFormatBuffer;
|
||||
bufferB = RCT2_ADDRESS(0x0141EF68, char);
|
||||
format_string_to_upper(bufferA, ride->name, &ride->name_arguments);
|
||||
while (--current_list_position >= 0) {
|
||||
|
|
|
@ -527,7 +527,7 @@ static void draw_category_heading(rct_window *w, rct_drawpixelinfo *dpi, int lef
|
|||
gfx_draw_string_centred(dpi, stringId, centreX, y, baseColour, NULL);
|
||||
|
||||
// Get string dimensions
|
||||
utf8 *buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, utf8);
|
||||
utf8 *buffer = gCommonStringFormatBuffer;
|
||||
format_string(buffer, stringId, NULL);
|
||||
int categoryStringHalfWidth = (gfx_get_string_width(buffer) / 2) + 4;
|
||||
int strLeft = centreX - categoryStringHalfWidth;
|
||||
|
|
|
@ -88,14 +88,14 @@ void window_tooltip_show(rct_string_id id, int x, int y)
|
|||
return;
|
||||
|
||||
RCT2_GLOBAL(0x0142006C, sint32) = -1;
|
||||
char* buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
char* buffer = gCommonStringFormatBuffer;
|
||||
|
||||
format_string(buffer, id, gCommonFormatArgs);
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
|
||||
int tooltip_text_width;
|
||||
tooltip_text_width = gfx_get_string_width_new_lined(buffer);
|
||||
buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char);
|
||||
buffer = gCommonStringFormatBuffer;
|
||||
tooltip_text_width = min(tooltip_text_width, 196);
|
||||
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
|
|
|
@ -5273,7 +5273,7 @@ void game_command_set_banner_name(int* eax, int* ebx, int* ecx, int* edx, int* e
|
|||
return;
|
||||
}
|
||||
|
||||
utf8 *buffer = RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, utf8);
|
||||
utf8 *buffer = gCommonStringFormatBuffer;
|
||||
utf8 *dst = buffer;
|
||||
dst = utf8_write_codepoint(dst, FORMAT_COLOUR_CODE_START + banner->text_colour);
|
||||
strncpy(dst, newName, 32);
|
||||
|
|
Loading…
Reference in New Issue