From 2a4817b29bfbbada9168a2531f443f5d50d6bcba Mon Sep 17 00:00:00 2001 From: MysterD Date: Mon, 28 Jun 2021 18:08:24 -0700 Subject: [PATCH] DJUI: Adjusted normal font, added missing characters --- bin/custom_font_title.c | 209 ++++++++++-------- bin/segment2.c | 197 +++++++++++++++++ src/pc/djui/djui_font.c | 36 +-- .../custom_font_normal_char_03.ia4.png | Bin 0 -> 110 bytes .../custom_font_normal_char_04.ia4.png | Bin 0 -> 108 bytes .../custom_font_normal_char_10.ia4.png | Bin 0 -> 106 bytes .../custom_font_normal_char_11.ia4.png | Bin 0 -> 101 bytes .../custom_font_normal_char_15.ia4.png | Bin 0 -> 108 bytes .../custom_font_normal_char_26.ia4.png | Bin 0 -> 93 bytes .../custom_font_normal_char_27.ia4.png | Bin 0 -> 97 bytes .../custom_font_normal_char_28.ia4.png | Bin 0 -> 97 bytes .../custom_font_normal_char_29.ia4.png | Bin 0 -> 95 bytes .../custom_font_normal_char_30.ia4.png | Bin 0 -> 97 bytes .../custom_font_normal_char_32.ia4.png | Bin 0 -> 131 bytes .../custom_font_normal_char_59.ia4.png | Bin 0 -> 95 bytes .../custom_font_normal_char_60.ia4.png | Bin 0 -> 112 bytes .../custom_font_normal_char_61.ia4.png | Bin 0 -> 103 bytes .../custom_font_normal_char_62.ia4.png | Bin 0 -> 89 bytes .../custom_font_normal_char_63.ia4.png | Bin 0 -> 92 bytes .../custom_font_normal_char_64.ia4.png | Bin 0 -> 106 bytes .../custom_font_normal_char_91.ia4.png | Bin 0 -> 101 bytes .../custom_font_normal_char_92.ia4.png | Bin 0 -> 96 bytes .../custom_font_normal_char_93.ia4.png | Bin 0 -> 109 bytes 23 files changed, 319 insertions(+), 123 deletions(-) create mode 100644 textures/segment2/custom_font_normal_char_03.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_04.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_10.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_11.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_15.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_26.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_27.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_28.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_29.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_30.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_32.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_59.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_60.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_61.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_62.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_63.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_64.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_91.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_92.ia4.png create mode 100644 textures/segment2/custom_font_normal_char_93.ia4.png diff --git a/bin/custom_font_title.c b/bin/custom_font_title.c index 2b259d7c..614781b2 100644 --- a/bin/custom_font_title.c +++ b/bin/custom_font_title.c @@ -383,100 +383,117 @@ ALIGNED8 static const u8 texture_font_title_char_95[] = { #include "textures/custom_font_title/custom_font_title_95.rgba32.inc.c" }; -const u8 *const font_title_chars[] = { - texture_font_title_char_01, - texture_font_title_char_02, - texture_font_title_char_03, - texture_font_title_char_04, - texture_font_title_char_05, - texture_font_title_char_06, - texture_font_title_char_07, - texture_font_title_char_08, - texture_font_title_char_09, - texture_font_title_char_10, - texture_font_title_char_11, - texture_font_title_char_12, - texture_font_title_char_13, - texture_font_title_char_14, - texture_font_title_char_15, - texture_font_title_char_16, - texture_font_title_char_17, - texture_font_title_char_18, - texture_font_title_char_19, - texture_font_title_char_20, - texture_font_title_char_21, - texture_font_title_char_22, - texture_font_title_char_23, - texture_font_title_char_24, - texture_font_title_char_25, - texture_font_title_char_26, - texture_font_title_char_27, - texture_font_title_char_28, - texture_font_title_char_29, - texture_font_title_char_30, - texture_font_title_char_31, - texture_font_title_char_32, - texture_font_title_char_33, - texture_font_title_char_34, - texture_font_title_char_35, - texture_font_title_char_36, - texture_font_title_char_37, - texture_font_title_char_38, - texture_font_title_char_39, - texture_font_title_char_40, - texture_font_title_char_41, - texture_font_title_char_42, - texture_font_title_char_43, - texture_font_title_char_44, - texture_font_title_char_45, - texture_font_title_char_46, - texture_font_title_char_47, - texture_font_title_char_48, - texture_font_title_char_49, - texture_font_title_char_50, - texture_font_title_char_51, - texture_font_title_char_52, - texture_font_title_char_53, - texture_font_title_char_54, - texture_font_title_char_55, - texture_font_title_char_56, - texture_font_title_char_57, - texture_font_title_char_58, - texture_font_title_char_59, - texture_font_title_char_60, - texture_font_title_char_61, - texture_font_title_char_62, - texture_font_title_char_63, - texture_font_title_char_64, - texture_font_title_char_65, - texture_font_title_char_66, - texture_font_title_char_67, - texture_font_title_char_68, - texture_font_title_char_69, - texture_font_title_char_70, - texture_font_title_char_71, - texture_font_title_char_72, - texture_font_title_char_73, - texture_font_title_char_74, - texture_font_title_char_75, - texture_font_title_char_76, - texture_font_title_char_77, - texture_font_title_char_78, - texture_font_title_char_79, - texture_font_title_char_80, - texture_font_title_char_81, - texture_font_title_char_82, - texture_font_title_char_83, - texture_font_title_char_84, - texture_font_title_char_85, - texture_font_title_char_86, - texture_font_title_char_87, - texture_font_title_char_88, - texture_font_title_char_89, - texture_font_title_char_90, - texture_font_title_char_91, - texture_font_title_char_92, - texture_font_title_char_93, - texture_font_title_char_94, - texture_font_title_char_95, +const u8* const font_title_chars[] = { + texture_font_title_char_01, // ! + texture_font_title_char_02, // " + texture_font_title_char_03, // # + texture_font_title_char_04, // $ + texture_font_title_char_05, // % + texture_font_title_char_06, // & + texture_font_title_char_07, // ' + texture_font_title_char_08, // ( + texture_font_title_char_09, // ) + texture_font_title_char_10, // * + texture_font_title_char_11, // + + texture_font_title_char_12, // , + texture_font_title_char_13, // - + texture_font_title_char_14, // . + texture_font_title_char_15, // / + texture_font_title_char_16, // 0 + texture_font_title_char_17, // 1 + texture_font_title_char_18, // 2 + texture_font_title_char_19, // 3 + texture_font_title_char_20, // 4 + texture_font_title_char_21, // 5 + texture_font_title_char_22, // 6 + texture_font_title_char_23, // 7 + texture_font_title_char_24, // 8 + texture_font_title_char_25, // 9 + texture_font_title_char_26, // : + texture_font_title_char_27, // ; + texture_font_title_char_28, // < + texture_font_title_char_29, // = + texture_font_title_char_30, // > + texture_font_title_char_31, // ? + texture_font_title_char_32, // @ + texture_font_title_char_33, // A + texture_font_title_char_34, // B + texture_font_title_char_35, // C + texture_font_title_char_36, // D + texture_font_title_char_37, // E + texture_font_title_char_38, // F + texture_font_title_char_39, // G + texture_font_title_char_40, // H + texture_font_title_char_41, // I + texture_font_title_char_42, // J + texture_font_title_char_43, // K + texture_font_title_char_44, // L + texture_font_title_char_45, // M + texture_font_title_char_46, // N + texture_font_title_char_47, // O + texture_font_title_char_48, // P + texture_font_title_char_49, // Q + texture_font_title_char_50, // R + texture_font_title_char_51, // S + texture_font_title_char_52, // T + texture_font_title_char_53, // U + texture_font_title_char_54, // V + texture_font_title_char_55, // W + texture_font_title_char_56, // X + texture_font_title_char_57, // Y + texture_font_title_char_58, // Z + texture_font_title_char_59, // [ + texture_font_title_char_60, // \ // + texture_font_title_char_61, // ] + texture_font_title_char_62, // ^ + texture_font_title_char_63, // _ + texture_font_title_char_64, // ` + texture_font_title_char_65, // a + texture_font_title_char_66, // b + texture_font_title_char_67, // c + texture_font_title_char_68, // d + texture_font_title_char_69, // e + texture_font_title_char_70, // f + texture_font_title_char_71, // g + texture_font_title_char_72, // h + texture_font_title_char_73, // i + texture_font_title_char_74, // j + texture_font_title_char_75, // k + texture_font_title_char_76, // l + texture_font_title_char_77, // m + texture_font_title_char_78, // n + texture_font_title_char_79, // o + texture_font_title_char_80, // p + texture_font_title_char_81, // q + texture_font_title_char_82, // r + texture_font_title_char_83, // s + texture_font_title_char_84, // t + texture_font_title_char_85, // u + texture_font_title_char_86, // v + texture_font_title_char_87, // w + texture_font_title_char_88, // x + texture_font_title_char_89, // y + texture_font_title_char_90, // z + texture_font_title_char_91, // { + texture_font_title_char_92, // | + texture_font_title_char_93, // } + texture_font_title_char_94, // ~ + texture_font_title_char_95, // DEL +}; + +const f32 font_title_widths[] = { +/* ! " # $ % & ' ( ) * + , - . / */ + 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, +/* 0 1 2 3 4 5 6 7 8 9 */ + 0.45f, 0.35f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, +/* : ; < = > ? @ */ + 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, +/* A B C D E F G H I J K L M N O P Q R S T U V W X Y Z */ + 0.55f, 0.50f, 0.50f, 0.50f, 0.45f, 0.45f, 0.50f, 0.55f, 0.28f, 0.60f, 0.50f, 0.45f, 0.55f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.55f, 0.50f, 0.50f, 0.50f, 0.60f, 0.52f, 0.60f, 0.45f, +/* [ \ ] ^ _ ` */ + 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, +/* a b c d e f g h i j k l m n o p q r s t u v w x y z */ + 0.45f, 0.45f, 0.40f, 0.40f, 0.45f, 0.37f, 0.40f, 0.40f, 0.20f, 0.45f, 0.40f, 0.30f, 0.50f, 0.40f, 0.40f, 0.40f, 0.45f, 0.40f, 0.50f, 0.45f, 0.50f, 0.40f, 0.50f, 0.50f, 0.45f, 0.45f, +/* { | } ~ DEL */ + 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, }; diff --git a/bin/segment2.c b/bin/segment2.c index 652bffa9..afaf6f87 100644 --- a/bin/segment2.c +++ b/bin/segment2.c @@ -3372,3 +3372,200 @@ const s16 seg2_painting_mesh_neighbor_tris[] = { 3, 240, 242, 244, 1, 243, }; + +////////////////////////////////////////////////////////// + +ALIGNED8 static const u8 texture_font_normal_char_03[] = { +#include "textures/segment2/custom_font_normal_char_03.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_04[] = { +#include "textures/segment2/custom_font_normal_char_04.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_10[] = { +#include "textures/segment2/custom_font_normal_char_10.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_11[] = { +#include "textures/segment2/custom_font_normal_char_11.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_15[] = { +#include "textures/segment2/custom_font_normal_char_15.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_26[] = { +#include "textures/segment2/custom_font_normal_char_26.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_27[] = { +#include "textures/segment2/custom_font_normal_char_27.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_28[] = { +#include "textures/segment2/custom_font_normal_char_28.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_29[] = { +#include "textures/segment2/custom_font_normal_char_29.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_30[] = { +#include "textures/segment2/custom_font_normal_char_30.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_32[] = { +#include "textures/segment2/custom_font_normal_char_32.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_59[] = { +#include "textures/segment2/custom_font_normal_char_59.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_60[] = { +#include "textures/segment2/custom_font_normal_char_60.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_61[] = { +#include "textures/segment2/custom_font_normal_char_61.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_62[] = { +#include "textures/segment2/custom_font_normal_char_62.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_63[] = { +#include "textures/segment2/custom_font_normal_char_63.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_64[] = { +#include "textures/segment2/custom_font_normal_char_64.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_91[] = { +#include "textures/segment2/custom_font_normal_char_91.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_92[] = { +#include "textures/segment2/custom_font_normal_char_92.ia4.inc.c" +}; + +ALIGNED8 static const u8 texture_font_normal_char_93[] = { +#include "textures/segment2/custom_font_normal_char_93.ia4.inc.c" +}; + +const u8* const font_normal_chars[] = { + texture_font_char_us_exclamation, // ! + texture_font_char_us_double_quote_open, // " + texture_font_normal_char_03, // # + texture_font_normal_char_04, // $ + texture_font_char_us_percent, // % + texture_font_char_us_ampersand, // & + texture_font_char_us_apostrophe, // ' + texture_font_char_us_open_parentheses, // ( + texture_font_char_us_close_parentheses, // ) + texture_font_normal_char_10, // * + texture_font_normal_char_11, // + + texture_font_char_us_comma, // , + texture_font_char_us_slash, // - + texture_font_char_us_period, // . + texture_font_normal_char_15, // / + texture_font_char_us_0, // 0 + texture_font_char_us_1, // 1 + texture_font_char_us_2, // 2 + texture_font_char_us_3, // 3 + texture_font_char_us_4, // 4 + texture_font_char_us_5, // 5 + texture_font_char_us_6, // 6 + texture_font_char_us_7, // 7 + texture_font_char_us_8, // 8 + texture_font_char_us_9, // 9 + texture_font_normal_char_26, // : + texture_font_normal_char_27, // ; + texture_font_normal_char_28, // < + texture_font_normal_char_29, // = + texture_font_normal_char_30, // > + texture_font_char_us_question, // ? + texture_font_normal_char_32, // @ + texture_font_char_us_A, // A + texture_font_char_us_B, // B + texture_font_char_us_C, // C + texture_font_char_us_D, // D + texture_font_char_us_E, // E + texture_font_char_us_F, // F + texture_font_char_us_G, // G + texture_font_char_us_H, // H + texture_font_char_us_I, // I + texture_font_char_us_J, // J + texture_font_char_us_K, // K + texture_font_char_us_L, // L + texture_font_char_us_M, // M + texture_font_char_us_N, // N + texture_font_char_us_O, // O + texture_font_char_us_P, // P + texture_font_char_us_Q, // Q + texture_font_char_us_R, // R + texture_font_char_us_S, // S + texture_font_char_us_T, // T + texture_font_char_us_U, // U + texture_font_char_us_V, // V + texture_font_char_us_W, // W + texture_font_char_us_X, // X + texture_font_char_us_Y, // Y + texture_font_char_us_Z, // Z + texture_font_normal_char_59, // [ + texture_font_normal_char_60, // \ // + texture_font_normal_char_61, // ] + texture_font_normal_char_62, // ^ + texture_font_normal_char_63, // _ + texture_font_normal_char_64, // ` + texture_font_char_us_a, // a + texture_font_char_us_b, // b + texture_font_char_us_c, // c + texture_font_char_us_d, // d + texture_font_char_us_e, // e + texture_font_char_us_f, // f + texture_font_char_us_g, // g + texture_font_char_us_h, // h + texture_font_char_us_i, // i + texture_font_char_us_j, // j + texture_font_char_us_k, // k + texture_font_char_us_l, // l + texture_font_char_us_m, // m + texture_font_char_us_n, // n + texture_font_char_us_o, // o + texture_font_char_us_p, // p + texture_font_char_us_q, // q + texture_font_char_us_r, // r + texture_font_char_us_s, // s + texture_font_char_us_t, // t + texture_font_char_us_u, // u + texture_font_char_us_v, // v + texture_font_char_us_w, // w + texture_font_char_us_x, // x + texture_font_char_us_y, // y + texture_font_char_us_z, // z + texture_font_normal_char_91, // { + texture_font_normal_char_92, // | + texture_font_normal_char_93, // } + texture_font_char_us_tilde, // ~ + texture_font_char_us_interpunct, // DEL +}; + +const f32 font_normal_widths[] = { +/* ! " # $ % & ' ( ) * + , - . / */ + 0.3125f, 0.3750f, 0.4375f, 0.3750f, 0.4375f, 0.5000f, 0.2500f, 0.3125f, 0.3125f, 0.3750f, 0.4375f, 0.2500f, 0.3750f, 0.2500f, 0.3125f, +/* 0 1 2 3 4 5 6 7 8 9 */ + 0.4375f, 0.4375f, 0.4375f, 0.4375f, 0.4375f, 0.4375f, 0.4375f, 0.4375f, 0.4375f, 0.4375f, +/* : ; < = > ? @ */ + 0.2500f, 0.2500f, 0.3125f, 0.3750f, 0.3125f, 0.4375f, 0.5750f, +/* A B C D E F G H I J K L M N O P Q R S T U V W X Y Z */ + 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3125f, 0.3750f, 0.3750f, 0.3125f, 0.5000f, 0.5000f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3125f, 0.3750f, 0.3750f, 0.5000f, 0.4375f, 0.3750f, 0.3750f, +/* [ \ ] ^ _ ` */ + 0.3125f, 0.3125f, 0.3125f, 0.3750f, 0.3750f, 0.2500f, +/* a b c d e f g h i j k l m n o p q r s t u v w x y z */ + 0.3750f, 0.3125f, 0.3125f, 0.3750f, 0.3125f, 0.3125f, 0.3750f, 0.3125f, 0.2500f, 0.3125f, 0.3125f, 0.1875f, 0.4375f, 0.3125f, 0.3125f, 0.3125f, 0.3750f, 0.3125f, 0.3125f, 0.3125f, 0.3125f, 0.3125f, 0.4375f, 0.4375f, 0.3125f, 0.3125f, +/* { | } ~ DEL */ + 0.3125f, 0.2500f, 0.3125f, 0.5000f, 0.4375f +}; \ No newline at end of file diff --git a/src/pc/djui/djui_font.c b/src/pc/djui/djui_font.c index d5d61505..0acdda32 100644 --- a/src/pc/djui/djui_font.c +++ b/src/pc/djui/djui_font.c @@ -36,21 +36,19 @@ static const Gfx djui_font_normal_text_settings[] = { }; static void djui_font_normal_render_char(char c) { - void** fontLUT; - void* packedTexture; - - u8 d = str_ascii_char_to_dialog(c); - fontLUT = segmented_to_virtual(main_font_lut); - packedTexture = segmented_to_virtual(fontLUT[d]); + extern const u8* const font_normal_chars[]; + void* fontChar = (void*)font_normal_chars[c - '!']; + if (fontChar == NULL) { fontChar = (void*)font_normal_chars[94]; } gDPPipeSync(gDisplayListHead++); - gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, VIRTUAL_TO_PHYSICAL(packedTexture)); + gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, (void*)fontChar); gSPDisplayList(gDisplayListHead++, djui_font_normal_text_settings); } static f32 djui_font_normal_char_width(char c) { - u8 d = str_ascii_char_to_dialog(c); - return gDialogCharWidths[d] / 16.0f; + if (c == ' ') { return 0.30f; } + extern const f32 font_normal_widths[]; + return font_normal_widths[c - '!']; } static const struct DjuiFont sDjuiFontNormal = { @@ -68,23 +66,6 @@ static const struct DjuiFont sDjuiFontNormal = { // font 1 (custom title font) // //////////////////////////////// -static f32 sDjuiFontTitleCharWidths[] = { -/* ! " # $ % & ' ( ) * + , - . / */ - 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, -/* 0 1 2 3 4 5 6 7 8 9 */ - 0.45f, 0.35f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, -/* : ; < = > ? @ */ - 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, -/* A B C D E F G H I J K L M N O P Q R S T U V W X Y Z */ - 0.55f, 0.50f, 0.50f, 0.50f, 0.45f, 0.45f, 0.50f, 0.55f, 0.28f, 0.60f, 0.50f, 0.45f, 0.55f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.55f, 0.50f, 0.50f, 0.50f, 0.60f, 0.52f, 0.60f, 0.45f, -/* [ \ ] ^ _ ` */ - 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, -/* a b c d e f g h i j k l m n o p q r s t u v w x y z */ - 0.45f, 0.45f, 0.40f, 0.40f, 0.45f, 0.37f, 0.40f, 0.40f, 0.20f, 0.45f, 0.40f, 0.30f, 0.50f, 0.40f, 0.40f, 0.40f, 0.45f, 0.40f, 0.50f, 0.45f, 0.50f, 0.40f, 0.50f, 0.50f, 0.45f, 0.45f, -/* { | } ~ ! */ - 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, -}; - static void djui_font_title_render_char(char c) { extern const u8* const font_title_chars[]; djui_gfx_render_texture(font_title_chars[c - '!'], 64, 64, 32); @@ -92,7 +73,8 @@ static void djui_font_title_render_char(char c) { static f32 djui_font_title_char_width(char c) { if (c == ' ') { return 0.30f; } - return sDjuiFontTitleCharWidths[c - '!']; + extern const f32 font_title_widths[]; + return font_title_widths[c - '!']; } static const struct DjuiFont sDjuiFontTitle = { diff --git a/textures/segment2/custom_font_normal_char_03.ia4.png b/textures/segment2/custom_font_normal_char_03.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..83f5e9e04cc047c40bbe2bb50c19ce96be20e303 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2IU1fWjv*3L zlM@yg{rD{J=)|DBOND2Hfl&gJ&tD!MpB9}~X_sZJJUk2y*8I;;X)N0c)WhKE>gTe~ HDWM4fD484# literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_04.ia4.png b/textures/segment2/custom_font_normal_char_04.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..df39f225da005be2f8d953a01da3fe09a78a54ac GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2IclCRjv*3L zlM@!G|M>j>e7ywsYLiVOPMpelwmLl#J`U!b?LsM;42j~B$He(Krvr5`c)I$ztaD0e F0stRb8)g6i literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_10.ia4.png b/textures/segment2/custom_font_normal_char_10.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..46931ec9deca9a3ca3e8d935e238a58cb715646d GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2IVzqmjv*3L zlM^I3K0LQ)GBz-H6m;mofkPe6j4o2kS{87!++|>h&=Gv*@xDYBsGh;o)z4*}Q$iB} D>)sqn literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_11.ia4.png b/textures/segment2/custom_font_normal_char_11.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..abf6f5f8af44aa4f4a47b9fe36a56416968fc635 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2Ir5$^jv*3L ylM@yg{rD^&+tN8f%q?eEq{K!|)$3eM3=GT)tbeBe-R2Hd%HZkh=d#Wzp$PzPcN+l! literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_15.ia4.png b/textures/segment2/custom_font_normal_char_15.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..0488c28af4b5387364f450412593c52532512945 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2IclCRjv*3L zlM@zLCLGcG^W2^p2)LESSUEI#gfA?eAd)a$Nr-_#tDA$>(}39msDr`N)z4*}Q$iB} Do%R>h literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_26.ia4.png b/textures/segment2/custom_font_normal_char_26.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..43149dfde4b565566e0f195a2316b7ee7ff987fe GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2IpUr!jv*3L qlM^JY9-RMg|Nmm7zyX(yHyM_FV}EbwT&V(7!rbJ`PDaPU;cPEB*=VV?2Intgkjv*3L ulM^JY9-RMg|Nmm7zyTIPl^}C728RBvybsQ7nH>&P#^CAd=d#Wzp$Py6)*0{s literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_28.ia4.png b/textures/segment2/custom_font_normal_char_28.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..f03c311f4ac444e69a891fb8d37e855fb08acbcb GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2Intgkjv*3L ulM^IN9-Oa#lcVER;Bk1#2am^>cp2m`^WJN75dRNU#^CAd=d#Wzp$PycksCJv literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_29.ia4.png b/textures/segment2/custom_font_normal_char_29.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..8d2efa278df8432f7aa84cfd7321463b5be87501 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2Ig*|(jv*3L rlM^ID9-Oad>16O}*&-O?0MvB(IP>qLVjngF6)||a`njxgN@xNAvr-t3 literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_30.ia4.png b/textures/segment2/custom_font_normal_char_30.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..493fd04eeb4ba6d54c7f8dd50b3d42dc98d52227 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2Intgkjv*3L ulM^IT9-Oalx>Pacz>)$DM=`fhCWh$Ey!V2cTG)Wf7(8A5T-G@yGywnr9~kcd literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_32.ia4.png b/textures/segment2/custom_font_normal_char_32.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..d74a007da79d816fc5c5e0bab993e0d6320351f5 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2IkuiIjv*3L zOZ`rBF(~lNy70e#V?ukx+0c1M#Fe;Kq%apgzA;s~mGOP>woPYx0`^^3;or{sD)Ybo eyUBXjtA$^MYp?$^#W(?I5QC?ypUXO@geCwrNh|>X literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_59.ia4.png b/textures/segment2/custom_font_normal_char_59.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..0855e3ed9ec6c0fc57fe661d236a1f198fe11a7d GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2Ig*|(jv*3L slM^IV9-Obgv&g5#Wb*^#W(@`g2M^XCFHSb>0V-nfboFyt=akR{0Nr01>Hq)$ literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_60.ia4.png b/textures/segment2/custom_font_normal_char_60.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..e61513af4ae5936847bdd7429f707a51ac410ecd GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2Ia;1Bjv*3L zlM@zLCZr@JB>eb1zYz#p1(!2%99YNWEWXQV&9O(@MRbJ`PDaPU;cPEB*=VV?2If|Yxjv*3L zlM^H=4xBh};J}CH_GO-8ZW_$HnL0FtkLEEjxK^?LvMClY1S)3mboFyt=akR{0JG&A AH~;_u literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_62.ia4.png b/textures/segment2/custom_font_normal_char_62.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..152501c6635441c49efef013e5ae7dead3a40fd1 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2Il`VUjv*3L llM^H)K0LRVoiagzm*K-!&KJGPbJ`PDaPU;cPEB*=VV?2IbxnJjv*3L plM@#3|M)DwT}D{(Y)JqEgMAMZ%Pa5sM}R6AJYD@<);T3K0RU$g7SaF! literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_64.ia4.png b/textures/segment2/custom_font_normal_char_64.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..43739cb3cb7bfac64bb90e7a14861990de00f82e GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2IVzqmjv*3L zlM^IXJvjg0{(oYQTa1?k5JX5wO3c`xozR%g!qB>o^?&O3H}*jF44$rjF6*2UngIWG B9S;Bi literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_91.ia4.png b/textures/segment2/custom_font_normal_char_91.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..f2ca1d931f8e9a28fe81efce9594866a39333368 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2Ir5$^jv*3L ylM^IV9-Obgv&g5##CXxHgNHg!9ZS;LRmyO01NVnLHvB-93=E#GelF{r5}E+CupMLo literal 0 HcmV?d00001 diff --git a/textures/segment2/custom_font_normal_char_92.ia4.png b/textures/segment2/custom_font_normal_char_92.ia4.png new file mode 100644 index 0000000000000000000000000000000000000000..e7e031c1144de94fd7ff046a310a00dbafa7c09d GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!2%?s>bJ`PDaPU;cPEB*=VV?2IZ~c3jv*3L tlM^KP8YVV2HabJ`PDaPU;cPEB*=VV?2IqIG+jv*3L zlM^IL9-RMg|3A=GB2h?SR;%FDvkh9kc~ZmdKI;Vst E04}o|dH?_b literal 0 HcmV?d00001