diff --git a/src/m_menu.c b/src/m_menu.c index d9ea6bae1d76d8ef8106ba595fc6c362e049d1cd..3305519c314ae4136a2cbd5ce9192da8c7882bc3 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -7233,7 +7233,7 @@ static void M_EmblemHints(INT32 choice) static void M_DrawEmblemHints(void) { - INT32 i, j = 0, x, y; + INT32 i, j = 0, x, y, left_hints = NUMHINTS; UINT32 collected = 0, local = 0; emblem_t *emblem; const char *hint; @@ -7250,6 +7250,11 @@ static void M_DrawEmblemHints(void) x = (local > NUMHINTS ? 4 : 12); y = 8; + // If there are more than 1 page's but less than 2 pages' worth of emblems, + // put half (rounded up) of the hints on the left, and half (rounded down) on the right + if (local > NUMHINTS && local < (NUMHINTS*2)-1) + left_hints = (local + 1) / 2; + if (!local) V_DrawCenteredString(160, 48, V_YELLOWMAP, "No hidden emblems on this map."); else for (i = 0; i < numemblems; i++) @@ -7282,7 +7287,7 @@ static void M_DrawEmblemHints(void) y += 28; - if (++j == NUMHINTS) + if (++j == left_hints) { x = 4+(BASEVIDWIDTH/2); y = 8;