mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-03-21 18:32:08 +00:00
Merge branch 'titlecard-lowercase-support' into 'master'
Lowercase support in titlecards See merge request STJr/SRB2Internal!481
This commit is contained in:
commit
5649365c19
7 changed files with 42 additions and 37 deletions
|
@ -1201,6 +1201,14 @@ static void readlevelheader(MYFILE *f, INT32 num)
|
|||
word2 = tmp += 2;
|
||||
i = atoi(word2); // used for numerical settings
|
||||
|
||||
|
||||
if (fastcmp(word, "LEVELNAME"))
|
||||
{
|
||||
deh_strlcpy(mapheaderinfo[num-1]->lvlttl, word2,
|
||||
sizeof(mapheaderinfo[num-1]->lvlttl), va("Level header %d: levelname", num));
|
||||
strlcpy(mapheaderinfo[num-1]->selectheading, word2, sizeof(mapheaderinfo[num-1]->selectheading)); // not deh_ so only complains once
|
||||
continue;
|
||||
}
|
||||
// CHEAP HACK: move this over here for lowercase subtitles
|
||||
if (fastcmp(word, "SUBTITLE"))
|
||||
{
|
||||
|
@ -1344,12 +1352,6 @@ static void readlevelheader(MYFILE *f, INT32 num)
|
|||
}
|
||||
|
||||
// Strings that can be truncated
|
||||
else if (fastcmp(word, "LEVELNAME"))
|
||||
{
|
||||
deh_strlcpy(mapheaderinfo[num-1]->lvlttl, word2,
|
||||
sizeof(mapheaderinfo[num-1]->lvlttl), va("Level header %d: levelname", num));
|
||||
strlcpy(mapheaderinfo[num-1]->selectheading, word2, sizeof(mapheaderinfo[num-1]->selectheading)); // not deh_ so only complains once
|
||||
}
|
||||
else if (fastcmp(word, "SELECTHEADING"))
|
||||
{
|
||||
deh_strlcpy(mapheaderinfo[num-1]->selectheading, word2,
|
||||
|
|
|
@ -4031,7 +4031,7 @@ char *G_BuildMapTitle(INT32 mapnum)
|
|||
len += strlen(mapheaderinfo[mapnum-1]->lvlttl);
|
||||
if (!(mapheaderinfo[mapnum-1]->levelflags & LF_NOZONE))
|
||||
{
|
||||
zonetext = M_GetText("ZONE");
|
||||
zonetext = M_GetText("Zone");
|
||||
len += strlen(zonetext) + 1; // ' ' + zonetext
|
||||
}
|
||||
if (actnum > 0)
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
// Level title font
|
||||
#define LT_FONTSTART '!' // the first font characters
|
||||
#define LT_FONTEND 'Z' // the last font characters
|
||||
#define LT_FONTEND 'z' // the last font characters
|
||||
#define LT_FONTSIZE (LT_FONTEND - LT_FONTSTART + 1)
|
||||
|
||||
#define CRED_FONTSTART '!' // the first font character
|
||||
|
|
|
@ -7176,7 +7176,7 @@ static void M_DrawSoundTest(void)
|
|||
titl = va("%s - ", curplaying->title);
|
||||
}
|
||||
else
|
||||
titl = "NONE - ";
|
||||
titl = "None - ";
|
||||
|
||||
i = V_LevelNameWidth(titl);
|
||||
|
||||
|
@ -7190,7 +7190,7 @@ static void M_DrawSoundTest(void)
|
|||
while (x > y)
|
||||
{
|
||||
x -= i;
|
||||
V_DrawLevelTitle(x, 24, 0, titl);
|
||||
V_DrawLevelTitle(x, 22, 0, titl);
|
||||
}
|
||||
|
||||
if (curplaying)
|
||||
|
|
|
@ -1177,7 +1177,7 @@ void ST_drawLevelTitle(tic_t titletime)
|
|||
lvlttlxpos -= V_LevelActNumWidth(actnum);
|
||||
|
||||
ttlnumxpos = lvlttlxpos + V_LevelNameWidth(lvlttl);
|
||||
zonexpos = ttlnumxpos - V_LevelNameWidth(M_GetText("ZONE"));
|
||||
zonexpos = ttlnumxpos - V_LevelNameWidth(M_GetText("Zone"));
|
||||
ttlnumxpos++;
|
||||
|
||||
if (lvlttlxpos < 0)
|
||||
|
@ -1204,7 +1204,7 @@ void ST_drawLevelTitle(tic_t titletime)
|
|||
else
|
||||
{
|
||||
fixed_t z = ((titletime - 105)<<FRACBITS)/7;
|
||||
INT32 zoneh = V_LevelNameHeight(M_GetText("ZONE"));
|
||||
INT32 zoneh = V_LevelNameHeight(M_GetText("Zone"));
|
||||
zoney = (MIDZONEY + zoneh - MIDDIFF)*(FRACUNIT - z) - (zoneh<<FRACBITS);
|
||||
lvlttly = ((MIDTTLY + MIDDIFF)<<FRACBITS) + ((200 - (MIDTTLY + MIDDIFF))*z);
|
||||
}
|
||||
|
@ -1239,7 +1239,7 @@ void ST_drawLevelTitle(tic_t titletime)
|
|||
V_DrawLevelTitle(lvlttlxpos, lvlttly, V_PERPLAYER, lvlttl);
|
||||
|
||||
if (!(mapheaderinfo[gamemap-1]->levelflags & LF_NOZONE))
|
||||
V_DrawLevelTitle(zonexpos, zoney, V_PERPLAYER, M_GetText("ZONE"));
|
||||
V_DrawLevelTitle(zonexpos, zoney, V_PERPLAYER, M_GetText("Zone"));
|
||||
|
||||
if (lvlttly+48 < 200)
|
||||
V_DrawCenteredString(subttlxpos, lvlttly+48, V_PERPLAYER|V_ALLOWLOWERCASE, subttl);
|
||||
|
|
|
@ -2899,7 +2899,7 @@ void V_DrawLevelTitle(INT32 x, INT32 y, INT32 option, const char *string)
|
|||
continue;
|
||||
}
|
||||
|
||||
c = toupper(*ch) - LT_FONTSTART;
|
||||
c = *ch - LT_FONTSTART;
|
||||
if (c < 0 || c >= LT_FONTSIZE || !lt_font[c])
|
||||
{
|
||||
cx += 16*dupx;
|
||||
|
@ -2934,7 +2934,7 @@ INT32 V_LevelNameWidth(const char *string)
|
|||
{
|
||||
if (string[i] & 0x80)
|
||||
continue;
|
||||
c = toupper(string[i]) - LT_FONTSTART;
|
||||
c = string[i] - LT_FONTSTART;
|
||||
if (c < 0 || c >= LT_FONTSIZE || !lt_font[c])
|
||||
w += 16;
|
||||
else
|
||||
|
@ -2953,7 +2953,7 @@ INT32 V_LevelNameHeight(const char *string)
|
|||
|
||||
for (i = 0; i < strlen(string); i++)
|
||||
{
|
||||
c = toupper(string[i]) - LT_FONTSTART;
|
||||
c = string[i] - LT_FONTSTART;
|
||||
if (c < 0 || c >= LT_FONTSIZE || !lt_font[c])
|
||||
continue;
|
||||
|
||||
|
|
|
@ -399,10 +399,13 @@ void Y_IntermissionDrawer(void)
|
|||
|
||||
// draw the "got through act" lines and act number
|
||||
V_DrawLevelTitle(data.coop.passedx1, 49, 0, data.coop.passed1);
|
||||
V_DrawLevelTitle(data.coop.passedx2, 49+V_LevelNameHeight(data.coop.passed2)+2, 0, data.coop.passed2);
|
||||
{
|
||||
INT32 h = V_LevelNameHeight(data.coop.passed2);
|
||||
V_DrawLevelTitle(data.coop.passedx2, 49+h+2, 0, data.coop.passed2);
|
||||
|
||||
if (data.coop.actnum)
|
||||
V_DrawLevelActNum(244, 57, 0, data.coop.actnum);
|
||||
if (data.coop.actnum)
|
||||
V_DrawLevelActNum(244, 42+h, 0, data.coop.actnum);
|
||||
}
|
||||
|
||||
bonusy = 150;
|
||||
// Total
|
||||
|
@ -485,10 +488,10 @@ void Y_IntermissionDrawer(void)
|
|||
|
||||
if (drawsection == 1)
|
||||
{
|
||||
const char *ringtext = "\x82" "50 RINGS, NO SHIELD";
|
||||
const char *tut1text = "\x82" "PRESS " "\x80" "SPIN";
|
||||
const char *tut2text = "\x82" "MID-" "\x80" "JUMP";
|
||||
ttheight = 16;
|
||||
const char *ringtext = "\x82" "50 rings, no shield";
|
||||
const char *tut1text = "\x82" "press " "\x80" "spin";
|
||||
const char *tut2text = "\x82" "mid-" "\x80" "jump";
|
||||
ttheight = 8;
|
||||
V_DrawLevelTitle(data.spec.passedx1 + xoffset1, ttheight, 0, data.spec.passed1);
|
||||
ttheight += V_LevelNameHeight(data.spec.passed3) + 2;
|
||||
V_DrawLevelTitle(data.spec.passedx3 + xoffset2, ttheight, 0, data.spec.passed3);
|
||||
|
@ -497,9 +500,9 @@ void Y_IntermissionDrawer(void)
|
|||
|
||||
ttheight = 108;
|
||||
V_DrawLevelTitle(BASEVIDWIDTH/2 + xoffset4 - (V_LevelNameWidth(ringtext)/2), ttheight, 0, ringtext);
|
||||
ttheight += V_LevelNameHeight(ringtext) + 2;
|
||||
V_DrawLevelTitle(BASEVIDWIDTH/2 + xoffset5 - (V_LevelNameWidth(tut1text)/2), ttheight, 0, tut1text);
|
||||
ttheight += V_LevelNameHeight(tut1text) + 2;
|
||||
V_DrawLevelTitle(BASEVIDWIDTH/2 + xoffset5 - (V_LevelNameWidth(tut1text)/2), ttheight, 0, tut1text);
|
||||
ttheight += V_LevelNameHeight(tut2text) + 2;
|
||||
V_DrawLevelTitle(BASEVIDWIDTH/2 + xoffset6 - (V_LevelNameWidth(tut2text)/2), ttheight, 0, tut2text);
|
||||
}
|
||||
else
|
||||
|
@ -1384,21 +1387,21 @@ void Y_StartIntermission(void)
|
|||
// too long so just show "YOU GOT THROUGH THE ACT"
|
||||
if (strlen(skins[players[consoleplayer].skin].realname) > 13)
|
||||
{
|
||||
strcpy(data.coop.passed1, "YOU GOT");
|
||||
strcpy(data.coop.passed2, (mapheaderinfo[gamemap-1]->actnum) ? "THROUGH ACT" : "THROUGH THE ACT");
|
||||
strcpy(data.coop.passed1, "you got");
|
||||
strcpy(data.coop.passed2, (mapheaderinfo[gamemap-1]->actnum) ? "through act" : "through the act");
|
||||
}
|
||||
// long enough that "X GOT" won't fit so use "X PASSED THE ACT"
|
||||
else if (strlen(skins[players[consoleplayer].skin].realname) > 8)
|
||||
{
|
||||
strcpy(data.coop.passed1, skins[players[consoleplayer].skin].realname);
|
||||
strcpy(data.coop.passed2, (mapheaderinfo[gamemap-1]->actnum) ? "PASSED ACT" : "PASSED THE ACT");
|
||||
strcpy(data.coop.passed2, (mapheaderinfo[gamemap-1]->actnum) ? "passed act" : "passed the act");
|
||||
}
|
||||
// length is okay for normal use
|
||||
else
|
||||
{
|
||||
snprintf(data.coop.passed1, sizeof data.coop.passed1, "%s GOT",
|
||||
snprintf(data.coop.passed1, sizeof data.coop.passed1, "%s got",
|
||||
skins[players[consoleplayer].skin].realname);
|
||||
strcpy(data.coop.passed2, (mapheaderinfo[gamemap-1]->actnum) ? "THROUGH ACT" : "THROUGH THE ACT");
|
||||
strcpy(data.coop.passed2, (mapheaderinfo[gamemap-1]->actnum) ? "through act" : "through the act");
|
||||
}
|
||||
|
||||
// set X positions
|
||||
|
@ -1498,7 +1501,7 @@ void Y_StartIntermission(void)
|
|||
// set up the "got through act" message according to skin name
|
||||
if (stagefailed)
|
||||
{
|
||||
strcpy(data.spec.passed2, "SPECIAL STAGE");
|
||||
strcpy(data.spec.passed2, "Special Stage");
|
||||
data.spec.passed1[0] = '\0';
|
||||
}
|
||||
else if (ALL7EMERALDS(emeralds))
|
||||
|
@ -1507,13 +1510,13 @@ void Y_StartIntermission(void)
|
|||
sizeof data.spec.passed1, "%s",
|
||||
skins[players[consoleplayer].skin].realname);
|
||||
data.spec.passed1[sizeof data.spec.passed1 - 1] = '\0';
|
||||
strcpy(data.spec.passed2, "GOT THEM ALL!");
|
||||
strcpy(data.spec.passed2, "got them all!");
|
||||
|
||||
if (players[consoleplayer].charflags & SF_SUPER)
|
||||
{
|
||||
strcpy(data.spec.passed3, "CAN NOW BECOME");
|
||||
strcpy(data.spec.passed3, "can now become");
|
||||
snprintf(data.spec.passed4,
|
||||
sizeof data.spec.passed4, "SUPER %s",
|
||||
sizeof data.spec.passed4, "Super %s",
|
||||
skins[players[consoleplayer].skin].realname);
|
||||
data.spec.passed4[sizeof data.spec.passed4 - 1] = '\0';
|
||||
}
|
||||
|
@ -1523,13 +1526,13 @@ void Y_StartIntermission(void)
|
|||
if (strlen(skins[players[consoleplayer].skin].realname) <= SKINNAMESIZE-5)
|
||||
{
|
||||
snprintf(data.spec.passed1,
|
||||
sizeof data.spec.passed1, "%s GOT",
|
||||
sizeof data.spec.passed1, "%s got",
|
||||
skins[players[consoleplayer].skin].realname);
|
||||
data.spec.passed1[sizeof data.spec.passed1 - 1] = '\0';
|
||||
}
|
||||
else
|
||||
strcpy(data.spec.passed1, "YOU GOT");
|
||||
strcpy(data.spec.passed2, "A CHAOS EMERALD");
|
||||
strcpy(data.spec.passed1, "You got");
|
||||
strcpy(data.spec.passed2, "a Chaos Emerald");
|
||||
if (P_GetNextEmerald() > 6)
|
||||
{
|
||||
data.spec.passed2[15] = '?';
|
||||
|
|
Loading…
Reference in a new issue