From bd050d73b2a1e79087cd6f1ef5f8c4e2a3a8e95d Mon Sep 17 00:00:00 2001 From: Kp Date: Sat, 20 May 2023 16:37:26 +0000 Subject: [PATCH] Shrink a_gamefont_conf::name Callers always load a DOS 8.3 filename into name, so shrink it from 64 characters to 16 characters. --- similar/main/gamefont.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/similar/main/gamefont.cpp b/similar/main/gamefont.cpp index b7d06c303..62977070f 100644 --- a/similar/main/gamefont.cpp +++ b/similar/main/gamefont.cpp @@ -73,9 +73,7 @@ struct a_gamefont_conf { int x; int y; - union{ - char name[64];//hrm. - } f; + std::array name; }; struct gamefont_conf @@ -96,9 +94,10 @@ static void gamefont_unloadfont(int gf) static void gamefont_loadfont(grs_canvas &canvas, int gf, int fi) { - if (PHYSFSX_exists(font_conf[gf].font[fi].f.name,1)){ + if (PHYSFS_exists(font_conf[gf].font[fi].name.data())) + { gamefont_unloadfont(gf); - Gamefonts[gf] = gr_init_font(canvas, font_conf[gf].font[fi].f.name); + Gamefonts[gf] = gr_init_font(canvas, font_conf[gf].font[fi].name.data()); }else { if (!Gamefonts[gf]){ font_conf[gf].cur=-1; @@ -160,16 +159,16 @@ void gamefont_choose_game_font(int scrx,int scry){ namespace { -static void addfontconf(int gf, int x, int y, const char *const fn) +static void addfontconf(int gf, int x, int y, const std::span fn) { - if (!PHYSFSX_exists(fn,1)) + if (!PHYSFS_exists(fn.data())) return; for (int i=0;i