diff --git a/src/k_menudraw.c b/src/k_menudraw.c index c920f1bb64c4e630de508d5074cff6ff840589ec..5cbd79f73a45aeb3b5b34877e3fa0f25b6a22494 100644 --- a/src/k_menudraw.c +++ b/src/k_menudraw.c @@ -8833,7 +8833,16 @@ void M_DrawSoundTest(void) if (soundtest.current->source) V_DrawThinString(x+1, (y += 10), 0, soundtest.current->source); if (soundtest.current->composers) - V_DrawThinString(x+1, (y += 10), 0, soundtest.current->composers); + { + char *wrappedcomposers = V_ScaledWordWrap( + (BASEVIDWIDTH - ((x+1)*2)) << FRACBITS, + FRACUNIT, FRACUNIT, FRACUNIT, + 0, TINY_FONT, + soundtest.current->composers + ); + V_DrawThinString(x+1, (y += 10), 0, wrappedcomposers); + Z_Free(wrappedcomposers); + } } else { diff --git a/src/s_sound.c b/src/s_sound.c index c1d9a4df252eab0bb55e582ba36d4bb806d389cf..4369f92505d1e8ba2bd8be52a8b59105a12abead 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -2204,7 +2204,7 @@ void S_LoadMusicCredit(void) widthused -= V_ThinStringWidth(credittext, 0); -#define MUSICCREDITAPPEND(field)\ +#define MUSICCREDITAPPEND(field, force)\ if (field)\ {\ work = va(" - %s", field);\ @@ -2212,7 +2212,7 @@ void S_LoadMusicCredit(void) if (worklen <= len)\ {\ workwidth = V_ThinStringWidth(work, 0);\ - if (widthused >= workwidth)\ + if (force || widthused >= workwidth)\ {\ strncat(credittext, work, len);\ len -= worklen;\ @@ -2221,8 +2221,8 @@ void S_LoadMusicCredit(void) }\ } - MUSICCREDITAPPEND(def->author); - MUSICCREDITAPPEND(def->source); + MUSICCREDITAPPEND(def->author, true); + MUSICCREDITAPPEND(def->source, false); #undef MUSICCREDITAPPEND }