diff --git a/bin/segment2.c b/bin/segment2.c index 932291a0..5f59f4b0 100644 --- a/bin/segment2.c +++ b/bin/segment2.c @@ -86,9 +86,15 @@ ALIGNED8 const Texture texture_hud_char_I[] = { #include "textures/segment2/segment2.02400.rgba16.inc.c" }; +#if defined(VERSION_JP) || defined(VERSION_SH) +ALIGNED8 const Texture texture_hud_char_J[] = { +#include "textures/segment2/segment2.02600.rgba16.inc.c" +}; +#else ALIGNED8 static const u8 texture_hud_char_J[] = { #include "textures/segment2/custom_hud_j.rgba16.inc.c" }; +#endif ALIGNED8 const Texture texture_hud_char_K[] = { #include "textures/segment2/segment2.02800.rgba16.inc.c" @@ -114,9 +120,15 @@ ALIGNED8 const Texture texture_hud_char_P[] = { #include "textures/segment2/segment2.03200.rgba16.inc.c" }; +#if defined(VERSION_JP) || defined(VERSION_SH) ALIGNED8 const Texture texture_hud_char_Q[] = { -#include "textures/segment2/custom_hud_Q.rgba16.inc.c" +#include "textures/segment2/segment2.03400.rgba16.inc.c" }; +#else +ALIGNED8 const Texture texture_hud_char_Q[] = { +#include "textures/segment2/custom_hud_q.rgba16.inc.c" +}; +#endif ALIGNED8 const Texture texture_hud_char_R[] = { #include "textures/segment2/segment2.03600.rgba16.inc.c" @@ -134,25 +146,43 @@ ALIGNED8 const Texture texture_hud_char_U[] = { #include "textures/segment2/segment2.03C00.rgba16.inc.c" }; +#if defined(VERSION_JP) || defined(VERSION_EU) || defined(VERSION_SH) +ALIGNED8 const Texture texture_hud_char_V[] = { +#include "textures/segment2/segment2.03E00.rgba16.inc.c" +} +#else ALIGNED8 const Texture texture_hud_char_V[] = { #include "textures/segment2/custom_hud_v.rgba16.inc.c" }; +#endif ALIGNED8 const Texture texture_hud_char_W[] = { #include "textures/segment2/segment2.04000.rgba16.inc.c" }; +#if defined(VERSION_JP) || defined(VERSION_SH) +ALIGNED8 const Texture texture_hud_char_X[] = { +#include "textures/segment2/segment2.04200.rgba16.inc.c" +} +#else ALIGNED8 const Texture texture_hud_char_X[] = { #include "textures/segment2/custom_hud_x.rgba16.inc.c" }; +#endif ALIGNED8 const Texture texture_hud_char_Y[] = { #include "textures/segment2/segment2.04400.rgba16.inc.c" }; +#if defined(VERSION_JP) || defined(VERSION_EU) || defined(VERSION_SH) +ALIGNED8 const Texture texture_hud_char_Z[] = { +#include "textures/segment2/segment2.04600.rgba16.inc.c" +} +#else ALIGNED8 const Texture texture_hud_char_Z[] = { #include "textures/segment2/custom_hud_z.rgba16.inc.c" }; +#endif ALIGNED8 const Texture texture_hud_char_apostrophe[] = { #include "textures/segment2/segment2.04800.rgba16.inc.c" @@ -168,27 +198,25 @@ ALIGNED8 const Texture texture_hud_char_umlaut[] = { }; #endif -#if defined(VERSION_JP) || defined(VERSION_SH) ALIGNED8 const Texture texture_hud_char_exclamation[] = { -#include "textures/segment2/segment2.04C00.rgba16.inc.c"// JP ! +#include "textures/segment2/custom_hud_exclamation.rgba16.inc.c"// JP ! (Beta ! no longer in use, new non beta ! was made for all versions.) }; -ALIGNED8 const Texture texture_hud_char_double_exclamation[] = { -#include "textures/segment2/segment2.04E00.rgba16.inc.c"// JP !! +ALIGNED8 const Texture texture_hud_char_hash[] = { +#include "textures/segment2/custom_hud_hash.rgba16.inc.c"// JP !! (No longer !!, now # for all versions.) }; ALIGNED8 const Texture texture_hud_char_question[] = { -#include "textures/segment2/segment2.05000.rgba16.inc.c"// JP ? +#include "textures/segment2/segment2.05000.rgba16.inc.c"// JP ? (Removed JP version check as ? exists in other versions.) }; ALIGNED8 const Texture texture_hud_char_ampersand[] = { -#include "textures/segment2/segment2.05200.rgba16.inc.c"// JP & +#include "textures/segment2/custom_hud_ampersand.rgba16.inc.c"// JP & (Beta & no longer in use, new non beta & was made for all versions.) }; ALIGNED8 const Texture texture_hud_char_percent[] = { -#include "textures/segment2/segment2.05400.rgba16.inc.c"// JP % +#include "textures/segment2/custom_hud_percent.rgba16.inc.c"// JP % (Beta % no longer in use, new non beta % was made for all versions.) }; -#endif ALIGNED8 const Texture texture_hud_char_slash[] = { #include "textures/segment2/custom_hud_slash.rgba16.inc.c" @@ -210,17 +238,29 @@ ALIGNED8 const Texture texture_hud_char_star[] = { #include "textures/segment2/segment2.05C00.rgba16.inc.c" }; -#if defined(VERSION_JP) || defined(VERSION_SH) ALIGNED8 const Texture texture_hud_char_decimal_point[] = { -#include "textures/segment2/segment2.05E00.rgba16.inc.c" +#include "textures/segment2/custom_hud_period.rgba16.inc.c" }; -#endif -#if defined(VERSION_JP) || defined(VERSION_SH) -ALIGNED8 const Texture texture_hud_char_beta_key[] = { -#include "textures/segment2/segment2.06000.rgba16.inc.c" +ALIGNED8 const Texture texture_hud_char_comma[] = { +#include "textures/segment2/custom_hud_comma.rgba16.inc.c" +}; + +ALIGNED8 const Texture texture_hud_char_key[] = { +#include "textures/segment2/custom_hud_key.rgba16.inc.c" +}; + +ALIGNED8 const Texture texture_hud_char_dash[] = { +#include "textures/segment2/custom_hud_dash.rgba16.inc.c" +}; + +ALIGNED8 const Texture texture_hud_char_divide[] = { +#include "textures/segment2/custom_hud_divide.rgba16.inc.c" +}; + +ALIGNED8 const Texture texture_hud_char_plus[] = { +#include "textures/segment2/custom_hud_plus.rgba16.inc.c" }; -#endif ALIGNED8 const Texture texture_credits_char_3[] = { #include "textures/segment2/segment2.06200.rgba16.inc.c" @@ -1813,15 +1853,15 @@ const Texture *const main_hud_lut[] = { texture_hud_char_C, texture_hud_char_D, texture_hud_char_E, texture_hud_char_F, texture_hud_char_G, texture_hud_char_H, texture_hud_char_I, texture_hud_char_J, texture_hud_char_K, texture_hud_char_L, texture_hud_char_M, texture_hud_char_N, - texture_hud_char_O, texture_hud_char_P, 0x0, texture_hud_char_R, + texture_hud_char_O, texture_hud_char_P, texture_hud_char_Q, texture_hud_char_R, texture_hud_char_S, texture_hud_char_T, texture_hud_char_U, texture_hud_char_V, - texture_hud_char_W, 0x0, texture_hud_char_Y, texture_hud_char_Z, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, texture_hud_char_slash, texture_hud_char_multiply, texture_hud_char_coin, - texture_hud_char_mario_head, texture_hud_char_star, texture_hud_char_luigi_head, 0x0, - texture_hud_char_apostrophe, texture_hud_char_double_quote, texture_hud_char_umlaut, + texture_hud_char_W, texture_hud_char_X, texture_hud_char_Y, texture_hud_char_Z, + texture_hud_char_exclamation, texture_hud_char_hash, texture_hud_char_question, texture_hud_char_ampersand, + texture_hud_char_percent, texture_hud_char_multiply, texture_hud_char_coin, texture_hud_char_comma, + texture_hud_char_star, texture_hud_char_decimal_point, texture_hud_char_key, texture_hud_char_apostrophe, + texture_hud_char_double_quote, texture_hud_char_slash, texture_hud_char_dash, texture_hud_char_divide, + texture_hud_char_plus, texture_hud_char_mario_head, texture_hud_char_luigi_head, texture_hud_char_wario_head, + texture_hud_char_waluigi_head, texture_hud_char_toad_head, texture_hud_char_umlaut, #elif defined(VERSION_US) texture_hud_char_0, texture_hud_char_1, texture_hud_char_2, texture_hud_char_3, texture_hud_char_4, texture_hud_char_5, texture_hud_char_6, texture_hud_char_7, @@ -1832,12 +1872,12 @@ const Texture *const main_hud_lut[] = { texture_hud_char_O, texture_hud_char_P, texture_hud_char_Q, texture_hud_char_R, texture_hud_char_S, texture_hud_char_T, texture_hud_char_U, texture_hud_char_V, texture_hud_char_W, texture_hud_char_X, texture_hud_char_Y, texture_hud_char_Z, - texture_hud_char_wario_head, 0x0, texture_hud_char_waluigi_head, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, texture_hud_char_slash, texture_hud_char_multiply, texture_hud_char_coin, - texture_hud_char_mario_head, texture_hud_char_star, texture_hud_char_luigi_head, texture_hud_char_toad_head, - texture_hud_char_apostrophe, texture_hud_char_double_quote, + texture_hud_char_exclamation, texture_hud_char_hash, texture_hud_char_question, texture_hud_char_ampersand, + texture_hud_char_percent, texture_hud_char_multiply, texture_hud_char_coin, texture_hud_char_comma, + texture_hud_char_star, texture_hud_char_decimal_point, texture_hud_char_key, texture_hud_char_apostrophe, + texture_hud_char_double_quote, texture_hud_char_slash, texture_hud_char_dash, texture_hud_char_divide, + texture_hud_char_plus, texture_hud_char_mario_head, texture_hud_char_luigi_head, texture_hud_char_wario_head, + texture_hud_char_waluigi_head, texture_hud_char_toad_head, 0x0, #else texture_hud_char_0, texture_hud_char_1, texture_hud_char_2, texture_hud_char_3, texture_hud_char_4, texture_hud_char_5, texture_hud_char_6, texture_hud_char_7, @@ -1848,12 +1888,12 @@ const Texture *const main_hud_lut[] = { texture_hud_char_O, texture_hud_char_P, texture_hud_char_Q, texture_hud_char_R, texture_hud_char_S, texture_hud_char_T, texture_hud_char_U, texture_hud_char_V, texture_hud_char_W, texture_hud_char_X, texture_hud_char_Y, texture_hud_char_Z, - texture_hud_char_exclamation, texture_hud_char_double_exclamation, texture_hud_char_question, texture_hud_char_ampersand, - texture_hud_char_percent, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, texture_hud_char_slash, texture_hud_char_multiply, texture_hud_char_coin, - texture_hud_char_mario_head, texture_hud_char_star, texture_hud_char_decimal_point, texture_hud_char_beta_key, - texture_hud_char_apostrophe, texture_hud_char_double_quote, + texture_hud_char_exclamation, texture_hud_char_hash, texture_hud_char_question, texture_hud_char_ampersand, + texture_hud_char_percent, texture_hud_char_multiply, texture_hud_char_coin, texture_hud_char_comma, + texture_hud_char_star, texture_hud_char_decimal_point, texture_hud_char_key, texture_hud_char_apostrophe, + texture_hud_char_double_quote, texture_hud_char_slash, texture_hud_char_dash, texture_hud_char_divide, + texture_hud_char_plus, texture_hud_char_mario_head, texture_hud_char_luigi_head, texture_hud_char_wario_head, + texture_hud_char_waluigi_head, texture_hud_char_toad_head, 0x0, #endif }; diff --git a/src/game/characters.c b/src/game/characters.c index ca45090b..4c0e9078 100644 --- a/src/game/characters.c +++ b/src/game/characters.c @@ -32,7 +32,7 @@ struct Character gCharacters[CT_MAX] = { [CT_MARIO] = { .type = CT_MARIO, .name = "Mario", - .hudHead = ',', + .hudHead = '(', .hudHeadTexture = { .texture = (u8*)texture_hud_char_mario_head, .bitSize = 8, .width = 16, .height = 16 }, .cameraHudHead = GLYPH_CAM_MARIO_HEAD, .modelId = MODEL_MARIO, @@ -97,7 +97,7 @@ struct Character gCharacters[CT_MAX] = { [CT_LUIGI] = { .type = CT_LUIGI, .name = "Luigi", - .hudHead = '.', + .hudHead = ')', .hudHeadTexture = { .texture = (u8*)texture_hud_char_luigi_head, .bitSize = 8, .width = 16, .height = 16 }, .cameraHudHead = GLYPH_CAM_LUIGI_HEAD, .modelId = MODEL_LUIGI, @@ -162,7 +162,7 @@ struct Character gCharacters[CT_MAX] = { [CT_TOAD] = { .type = CT_TOAD, .name = "Toad", - .hudHead = '/', + .hudHead = '|', .hudHeadTexture = { .texture = (u8*)texture_hud_char_toad_head, .bitSize = 8, .width = 16, .height = 16 }, .cameraHudHead = GLYPH_CAM_TOAD_HEAD, .modelId = MODEL_TOAD_PLAYER, @@ -227,7 +227,7 @@ struct Character gCharacters[CT_MAX] = { [CT_WALUIGI] = { .type = CT_WALUIGI, .name = "Waluigi", - .hudHead = '?', + .hudHead = ']', .hudHeadTexture = { .texture = (u8*)texture_hud_char_waluigi_head, .bitSize = 8, .width = 16, .height = 16 }, .cameraHudHead = GLYPH_CAM_WALUIGI_HEAD, .modelId = MODEL_WALUIGI, @@ -295,7 +295,7 @@ struct Character gCharacters[CT_MAX] = { [CT_WARIO] = { .type = CT_WARIO, .name = "Wario", - .hudHead = '!', + .hudHead = '[', .hudHeadTexture = { .texture = (u8*)texture_hud_char_wario_head, .bitSize = 8, .width = 16, .height = 16 }, .cameraHudHead = GLYPH_CAM_WARIO_HEAD, .modelId = MODEL_WARIO, diff --git a/src/game/print.c b/src/game/print.c index fb74c3d3..8fa89d7c 100644 --- a/src/game/print.c +++ b/src/game/print.c @@ -301,11 +301,11 @@ s8 char_to_glyph_index(char c) { } if (c == '!') { - return GLYPH_EXCLAMATION_PNT; // !, JP only + return GLYPH_EXCLAMATION_PNT; // !, JP only (New non beta ! has been made for all versions.) } if (c == '#') { - return GLYPH_TWO_EXCLAMATION; // !!, JP only + return GLYPH_HASH; // !!, JP only (This was GLYPH_TWO_EXCLAMATION.) } if (c == '?') { @@ -313,11 +313,11 @@ s8 char_to_glyph_index(char c) { } if (c == '&') { - return GLYPH_AMPERSAND; // &, JP only + return GLYPH_AMPERSAND; // &, JP only (New non beta & has been made for all versions.) } if (c == '%') { - return GLYPH_PERCENT; // %, JP only + return GLYPH_PERCENT; // %, JP only (New non beta % has been made for all versions.) } if (c == '*') { @@ -329,7 +329,7 @@ s8 char_to_glyph_index(char c) { } if (c == ',') { - return GLYPH_MARIO_HEAD; // Imagine I drew Mario's head + return GLYPH_COMMA; // Imagine I drew Mario's head (A comma has been made.) } if (c == '-') { @@ -337,11 +337,55 @@ s8 char_to_glyph_index(char c) { } if (c == '.') { - return GLYPH_PERIOD; // large shaded dot, JP only + return GLYPH_PERIOD; // large shaded dot, JP only (New non beta . has been made for all versions.) + } + + if (c == '^') { + return GLYPH_KEY; // beta key, JP only. Reused for Ü in EU (New non beta key has been made for all versions and / is replaced by ^.) + } + + if (c == '\'') { + return GLYPH_APOSTROPHE; // ' + } + + if (c == '"') { + return GLYPH_DOUBLE_QUOTE; // " } if (c == '/') { - return GLYPH_BETA_KEY; // beta key, JP only. Reused for Ü in EU. + return GLYPH_SLASH; // / + } + + if (c == '@') { + return GLYPH_DASH; // - + } + + if (c == '~') { + return GLYPH_DIVIDE; // ÷ + } + + if (c == '$') { + return GLYPH_PLUS; // + + } + + if (c == '(') { + return GLYPH_MARIO_HEAD; // mario's glyph + } + + if (c == ')') { + return GLYPH_LUIGI_HEAD; // luigi's glyph + } + + if (c == '[') { + return GLYPH_WARIO_HEAD; // wario's glyph + } + + if (c == ']') { + return GLYPH_WALUIGI_HEAD; // waluigi's glyph + } + + if (c == '|') { + return GLYPH_TOAD_HEAD; // toad's glyph } return GLYPH_SPACE; @@ -407,7 +451,7 @@ void render_text_labels(void) { #ifdef VERSION_EU // Beta Key was removed by EU, so glyph slot reused. // This produces a colorful Ü. - if (glyphIndex == GLYPH_BETA_KEY) { + if (glyphIndex == GLYPH_KEY) { add_glyph_texture(GLYPH_U); render_textrect(sTextLabels[i]->x, sTextLabels[i]->y, j); diff --git a/src/game/print.h b/src/game/print.h index 95597e8a..ece0dcc5 100644 --- a/src/game/print.h +++ b/src/game/print.h @@ -11,18 +11,27 @@ #define GLYPH_SPACE -1 #define GLYPH_U 30 #define GLYPH_EXCLAMATION_PNT 36 -#define GLYPH_TWO_EXCLAMATION 37 +#define GLYPH_HASH 37 #define GLYPH_QUESTION_MARK 38 #define GLYPH_AMPERSAND 39 #define GLYPH_PERCENT 40 -#define GLYPH_MULTIPLY 50 -#define GLYPH_COIN 51 -#define GLYPH_MARIO_HEAD 52 -#define GLYPH_STAR 53 -#define GLYPH_PERIOD 54 -#define GLYPH_BETA_KEY 55 -#define GLYPH_APOSTROPHE 56 -#define GLYPH_DOUBLE_QUOTE 57 +#define GLYPH_MULTIPLY 41 +#define GLYPH_COIN 42 +#define GLYPH_COMMA 43 +#define GLYPH_STAR 44 +#define GLYPH_PERIOD 45 +#define GLYPH_KEY 46 +#define GLYPH_APOSTROPHE 47 +#define GLYPH_DOUBLE_QUOTE 48 +#define GLYPH_SLASH 49 +#define GLYPH_DASH 50 +#define GLYPH_DIVIDE 51 +#define GLYPH_PLUS 52 +#define GLYPH_MARIO_HEAD 53 +#define GLYPH_LUIGI_HEAD 54 +#define GLYPH_WARIO_HEAD 55 +#define GLYPH_WALUIGI_HEAD 56 +#define GLYPH_TOAD_HEAD 57 #define GLYPH_UMLAUT 58 void print_text_fmt_int(s32 x, s32 y, const char *str, s32 n); diff --git a/src/pc/djui/djui_font.c b/src/pc/djui/djui_font.c index b6f4b5f2..0c8b163c 100644 --- a/src/pc/djui/djui_font.c +++ b/src/pc/djui/djui_font.c @@ -79,21 +79,34 @@ static const struct DjuiFont sDjuiFontTitle = { /////////////////////// static u8 djui_font_hud_index(char c) { - if ((u8)c < ' ' || (u8)c > 127) { return 50; } + if ((u8)c < ' ' || (u8)c > 127) { return 41; } switch (c) { - case '$': return 51; - case '*': return 53; - case '\'': return 56; - case '"': return 57; + case '!': return 36; + case '#': return 37; + case '?': return 38; + case '&': return 39; + case '%': return 40; + case '@': return 41; + case '$': return 42; + case ',': return 43; + case '*': return 44; + case '.': return 45; + case '^': return 46; + case '\'': return 47; + case '"': return 48; + case '/': return 49; + case '-': return 50; + case '~': return 51; + case '+': return 52; } if (c >= '0' && c <= '9') { return 0 + c - '0'; } if (c >= 'a' && c <= 'z') { return 10 + c - 'a'; } if (c >= 'A' && c <= 'Z') { return 10 + c - 'A'; } - if (c >= 58) { return 50; } - if (main_hud_lut[(int)c] == NULL) { return 50; } + if (c >= 58) { return 41; } + if (main_hud_lut[(int)c] == NULL) { return 41; } return c; } diff --git a/textures/segment2/custom_hud_ampersand.rgba16.png b/textures/segment2/custom_hud_ampersand.rgba16.png new file mode 100644 index 00000000..e6211701 Binary files /dev/null and b/textures/segment2/custom_hud_ampersand.rgba16.png differ diff --git a/textures/segment2/custom_hud_comma.rgba16.png b/textures/segment2/custom_hud_comma.rgba16.png new file mode 100644 index 00000000..9c7e0f07 Binary files /dev/null and b/textures/segment2/custom_hud_comma.rgba16.png differ diff --git a/textures/segment2/custom_hud_dash.rgba16.png b/textures/segment2/custom_hud_dash.rgba16.png new file mode 100644 index 00000000..1aaacb8a Binary files /dev/null and b/textures/segment2/custom_hud_dash.rgba16.png differ diff --git a/textures/segment2/custom_hud_divide.rgba16.png b/textures/segment2/custom_hud_divide.rgba16.png new file mode 100644 index 00000000..622fdd9b Binary files /dev/null and b/textures/segment2/custom_hud_divide.rgba16.png differ diff --git a/textures/segment2/custom_hud_exclamation.rgba16.png b/textures/segment2/custom_hud_exclamation.rgba16.png new file mode 100644 index 00000000..6aafcc72 Binary files /dev/null and b/textures/segment2/custom_hud_exclamation.rgba16.png differ diff --git a/textures/segment2/custom_hud_hash.rgba16.png b/textures/segment2/custom_hud_hash.rgba16.png new file mode 100644 index 00000000..ed4264a4 Binary files /dev/null and b/textures/segment2/custom_hud_hash.rgba16.png differ diff --git a/textures/segment2/custom_hud_key.rgba16.png b/textures/segment2/custom_hud_key.rgba16.png new file mode 100644 index 00000000..26ecace7 Binary files /dev/null and b/textures/segment2/custom_hud_key.rgba16.png differ diff --git a/textures/segment2/custom_hud_percent.rgba16.png b/textures/segment2/custom_hud_percent.rgba16.png new file mode 100644 index 00000000..99f0f231 Binary files /dev/null and b/textures/segment2/custom_hud_percent.rgba16.png differ diff --git a/textures/segment2/custom_hud_period.rgba16.png b/textures/segment2/custom_hud_period.rgba16.png new file mode 100644 index 00000000..c4fdfde2 Binary files /dev/null and b/textures/segment2/custom_hud_period.rgba16.png differ diff --git a/textures/segment2/custom_hud_plus.rgba16.png b/textures/segment2/custom_hud_plus.rgba16.png new file mode 100644 index 00000000..598198ad Binary files /dev/null and b/textures/segment2/custom_hud_plus.rgba16.png differ