Improve captions code clarity, and also make music captions flash before they disappear.

This commit is contained in:
toasterbabe 2017-04-29 16:40:07 +01:00
parent 9affcd98cb
commit 1e051a8893

View file

@ -444,21 +444,32 @@ void SCR_ClosedCaptions(void)
for (i = 0; i < NUMCAPTIONS; i++) for (i = 0; i < NUMCAPTIONS; i++)
{ {
if (closedcaptions[i].s) INT32 flags, y;
{ char dot;
INT32 flags = V_NOSCALESTART|V_ALLOWLOWERCASE; boolean music;
INT32 y = vid.height-((i + 2)*10*vid.dupy);
char dot = ' '; if (!closedcaptions[i].s)
if (closedcaptions[i].b) continue;
y -= (closedcaptions[i].b--)*vid.dupy;
if (closedcaptions[i].t < CAPTIONFADETICS) if ((music = (closedcaptions[i].s-S_sfx == sfx_None)) && (closedcaptions[i].t < flashingtics) && (closedcaptions[i].t & 1))
flags |= (((CAPTIONFADETICS-closedcaptions[i].t)/2)*V_10TRANS); continue;
if (closedcaptions[i].c && closedcaptions[i].c->origin)
dot = '\x1E'; flags = V_NOSCALESTART|V_ALLOWLOWERCASE;
else if (closedcaptions[i].s-S_sfx == sfx_None) y = vid.height-((i + 2)*10*vid.dupy);
dot = '\x19'; dot = ' ';
V_DrawRightAlignedString(vid.width-(20*vid.dupx), y,
flags, va("%c [%s]", dot, (closedcaptions[i].s->caption[0] ? closedcaptions[i].s->caption : closedcaptions[i].s->name))); if (closedcaptions[i].b)
} y -= (closedcaptions[i].b--)*vid.dupy;
if (closedcaptions[i].t < CAPTIONFADETICS)
flags |= (((CAPTIONFADETICS-closedcaptions[i].t)/2)*V_10TRANS);
if (music)
dot = '\x19';
else if (closedcaptions[i].c && closedcaptions[i].c->origin)
dot = '\x1E';
V_DrawRightAlignedString(vid.width-(20*vid.dupx), y,
flags, va("%c [%s]", dot, (closedcaptions[i].s->caption[0] ? closedcaptions[i].s->caption : closedcaptions[i].s->name)));
} }
} }