diff --git a/src/k_menudraw.c b/src/k_menudraw.c index c920f1bb6..5cbd79f73 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 c1d9a4df2..4369f9250 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 }