void IN_DrawYAH(void) { uint i; FR_SetFont(FID(GF_FONTA)); FR_LoadDefaultAttrib(); FR_SetColorAndAlpha(defFontRGB3[0], defFontRGB3[1], defFontRGB3[2], 1); FR_DrawTextXY3("NOW ENTERING:", 160, 10, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTB)); FR_SetColor(defFontRGB[0], defFontRGB[1], defFontRGB[2]); FR_DrawTextXY3(P_GetShortMapName(wbs->episode, wbs->nextMap), 160, 20, ALIGN_TOP, DTF_ONLY_SHADOW); DGL_Color4f(1, 1, 1, 1); for(i = 0; i < wbs->nextMap; ++i) { GL_DrawPatch(dpBeenThere, &YAHspot[wbs->episode][i]); } if(players[CONSOLEPLAYER].didSecret) { GL_DrawPatch(dpBeenThere, &YAHspot[wbs->episode][8]); } if(!(interTime & 16) || interState == 3) { // Draw the destination 'X' GL_DrawPatch(dpGoingThere, &YAHspot[wbs->episode][wbs->nextMap]); } }
void IN_DrawYAH() { FR_SetFont(FID(GF_FONTA)); FR_LoadDefaultAttrib(); FR_SetColorAndAlpha(defFontRGB3[0], defFontRGB3[1], defFontRGB3[2], 1); FR_DrawTextXY3("NOW ENTERING:", 160, 10, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTB)); FR_SetColor(defFontRGB[0], defFontRGB[1], defFontRGB[2]); FR_DrawTextXY3(G_MapTitle(&wbs->nextMap).toUtf8().constData(), 160, 20, ALIGN_TOP, DTF_ONLY_SHADOW); DGL_Color4f(1, 1, 1, 1); uint const nextMap = G_MapNumberFor(wbs->nextMap); for(uint i = 0; i < nextMap; ++i) { GL_DrawPatch(dpBeenThere, &YAHspot[::gameEpisode][i]); } if(players[CONSOLEPLAYER].didSecret) { GL_DrawPatch(dpBeenThere, &YAHspot[::gameEpisode][8]); } if(!(interTime & 16) || interState == 3) { // Draw the destination 'X' GL_DrawPatch(dpGoingThere, &YAHspot[::gameEpisode][nextMap]); } }
void IN_DrawOldLevel(void) { DGL_Enable(DGL_TEXTURE_2D); FR_SetFont(FID(GF_FONTB)); FR_LoadDefaultAttrib(); FR_SetColorAndAlpha(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); FR_DrawTextXY3(P_GetShortMapName(wbs->episode, wbs->currentMap), 160, 3, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTA)); FR_SetColor(defFontRGB3[0], defFontRGB3[1],defFontRGB3[2]); FR_DrawTextXY3("FINISHED", 160, 25, ALIGN_TOP, DTF_ONLY_SHADOW); if(wbs->currentMap == 8) { uint i; DGL_Color4f(1, 1, 1, 1); for(i = 0; i < wbs->nextMap; ++i) { GL_DrawPatch(dpBeenThere, &YAHspot[wbs->episode][i]); } if(!(interTime & 16)) { GL_DrawPatch(dpBeenThere, &YAHspot[wbs->episode][8]); } } else { uint i; DGL_Color4f(1, 1, 1, 1); for(i = 0; i < wbs->currentMap; ++i) { GL_DrawPatch(dpBeenThere, &YAHspot[wbs->episode][i]); } if(players[CONSOLEPLAYER].didSecret) { GL_DrawPatch(dpBeenThere, &YAHspot[wbs->episode][8]); } if(!(interTime & 16)) { GL_DrawPatch(dpBeenThere, &YAHspot[wbs->episode][wbs->currentMap]); } } DGL_Disable(DGL_TEXTURE_2D); }
void IN_DrawOldLevel() { DGL_Enable(DGL_TEXTURE_2D); FR_SetFont(FID(GF_FONTB)); FR_LoadDefaultAttrib(); FR_SetColorAndAlpha(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); FR_DrawTextXY3(G_MapTitle(&wbs->currentMap).toUtf8().constData(), 160, 3, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTA)); FR_SetColor(defFontRGB3[0], defFontRGB3[1],defFontRGB3[2]); FR_DrawTextXY3("FINISHED", 160, 25, ALIGN_TOP, DTF_ONLY_SHADOW); if(G_MapNumberFor(wbs->currentMap) == 8) { DGL_Color4f(1, 1, 1, 1); uint const nextMap = G_MapNumberFor(wbs->nextMap); for(uint i = 0; i < nextMap; ++i) { GL_DrawPatch(dpBeenThere, &YAHspot[::gameEpisode][i]); } if(!(interTime & 16)) { GL_DrawPatch(dpBeenThere, &YAHspot[::gameEpisode][8]); } } else { DGL_Color4f(1, 1, 1, 1); uint const currentMap = G_MapNumberFor(wbs->currentMap); for(uint i = 0; i < currentMap; ++i) { GL_DrawPatch(dpBeenThere, &YAHspot[::gameEpisode][i]); } if(players[CONSOLEPLAYER].didSecret) { GL_DrawPatch(dpBeenThere, &YAHspot[::gameEpisode][8]); } if(!(interTime & 16)) { GL_DrawPatch(dpBeenThere, &YAHspot[::gameEpisode][currentMap]); } } DGL_Disable(DGL_TEXTURE_2D); }
void IN_DrawDMStats(void) { #define TRACKING (1) static int sounds; int i, j, ypos = 55, xpos = 90, kpos; DGL_Enable(DGL_TEXTURE_2D); FR_SetFont(FID(GF_FONTB)); FR_LoadDefaultAttrib(); FR_SetColorAndAlpha(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); FR_DrawTextXY3("TOTAL", 265, 30, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTA)); FR_SetColor(defFontRGB3[0], defFontRGB3[1], defFontRGB3[2]); FR_DrawTextXY3("VICTIMS", 140, 8, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); for(i = 0; i < 7; ++i) { FR_DrawTextXY3(killersText[i], 10, 80 + 9 * i, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); } DGL_Disable(DGL_TEXTURE_2D); if(interTime < 20) { DGL_Enable(DGL_TEXTURE_2D); for(i = 0; i < NUMTEAMS; ++i) { if(teamInfo[i].members) { M_DrawShadowedPatch(dpFaceAlive[i], 40, ((ypos << FRACBITS) + dSlideY[i] * interTime) >> FRACBITS); M_DrawShadowedPatch(dpFaceDead[i], ((xpos << FRACBITS) + dSlideX[i] * interTime) >> FRACBITS, 18); } }
void IN_DrawCoopStats(void) { #define TRACKING (1) static int sounds; int i, ypos; DGL_Enable(DGL_TEXTURE_2D); FR_SetFont(FID(GF_FONTB)); FR_LoadDefaultAttrib(); FR_SetColorAndAlpha(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); FR_DrawTextXY3("KILLS", 95, 35, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3("BONUS", 155, 35, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3("SECRET", 232, 35, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3(P_GetShortMapName(wbs->episode, wbs->currentMap), SCREENWIDTH/2, 3, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTA)); FR_SetColor(defFontRGB3[0], defFontRGB3[1], defFontRGB3[2]); FR_DrawTextXY3("FINISHED", SCREENWIDTH/2, 25, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTB)); FR_SetTracking(TRACKING); ypos = 50; for(i = 0; i < NUMTEAMS; ++i) { if(teamInfo[i].members) { char buf[20]; DGL_Color4f(0, 0, 0, .4f); GL_DrawPatchXY(dpFaceAlive[i], 27, ypos+2); DGL_Color4f(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); GL_DrawPatchXY(dpFaceAlive[i], 25, ypos); if(interTime < 40) { sounds = 0; ypos += 37; continue; } else if(interTime >= 40 && sounds < 1) { S_LocalSound(SFX_DORCLS, NULL); sounds++; } dd_snprintf(buf, 20, "%i", killPercent[i]); M_DrawTextFragmentShadowed(buf, 121, ypos + 10, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("%", 121, ypos + 10, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); dd_snprintf(buf, 20, "%i", bonusPercent[i]); M_DrawTextFragmentShadowed(buf, 196, ypos + 10, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("%", 196, ypos + 10, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); dd_snprintf(buf, 20, "%i", secretPercent[i]); M_DrawTextFragmentShadowed(buf, 273, ypos + 10, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("%", 273, ypos + 10, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); ypos += 37; } } DGL_Disable(DGL_TEXTURE_2D); #undef TRACKING }
void IN_DrawSingleStats(void) { #define TRACKING (1) static int sounds; char buf[20]; DGL_Enable(DGL_TEXTURE_2D); FR_SetFont(FID(GF_FONTB)); FR_LoadDefaultAttrib(); FR_SetColorAndAlpha(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); FR_DrawTextXY3("KILLS", 50, 65, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3("ITEMS", 50, 90, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3("SECRETS", 50, 115, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3(P_GetShortMapName(wbs->episode, wbs->currentMap), 160, 3, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTA)); FR_SetColor(defFontRGB3[0], defFontRGB3[1], defFontRGB3[2]); FR_DrawTextXY3("FINISHED", 160, 25, ALIGN_TOP, DTF_ONLY_SHADOW); DGL_Disable(DGL_TEXTURE_2D); if(interTime < 30) { sounds = 0; return; } if(sounds < 1 && interTime >= 30) { S_LocalSound(SFX_DORCLS, NULL); sounds++; } DGL_Enable(DGL_TEXTURE_2D); dd_snprintf(buf, 20, "%i", players[CONSOLEPLAYER].killCount); FR_SetFont(FID(GF_FONTB)); FR_SetTracking(TRACKING); M_DrawTextFragmentShadowed(buf, 236, 65, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("/", 241, 65, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); dd_snprintf(buf, 20, "%i", totalKills); M_DrawTextFragmentShadowed(buf, 284, 65, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); DGL_Disable(DGL_TEXTURE_2D); if(interTime < 60) return; if(sounds < 2 && interTime >= 60) { S_LocalSound(SFX_DORCLS, NULL); sounds++; } DGL_Enable(DGL_TEXTURE_2D); dd_snprintf(buf, 20, "%i", players[CONSOLEPLAYER].itemCount); FR_SetFont(FID(GF_FONTB)); M_DrawTextFragmentShadowed(buf, 236, 90, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("/", 241, 90, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); dd_snprintf(buf, 20, "%i", totalItems); M_DrawTextFragmentShadowed(buf, 284, 90, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); DGL_Disable(DGL_TEXTURE_2D); if(interTime < 90) return; if(sounds < 3 && interTime >= 90) { S_LocalSound(SFX_DORCLS, NULL); sounds++; } DGL_Enable(DGL_TEXTURE_2D); dd_snprintf(buf, 20, "%i", players[CONSOLEPLAYER].secretCount); FR_SetFont(FID(GF_FONTB)); M_DrawTextFragmentShadowed(buf, 236, 115, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("/", 241, 115, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); dd_snprintf(buf, 20, "%i", totalSecret); M_DrawTextFragmentShadowed(buf, 284, 115, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); DGL_Disable(DGL_TEXTURE_2D); if(interTime < 150) { return; } if(sounds < 4 && interTime >= 150) { S_LocalSound(SFX_DORCLS, NULL); sounds++; } if(gameMode != heretic_extended || wbs->episode < 3) { DGL_Enable(DGL_TEXTURE_2D); FR_SetFont(FID(GF_FONTB)); FR_SetColorAndAlpha(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); FR_DrawTextXY3("TIME", 85, 160, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); IN_DrawTime(284, 160, hours, minutes, seconds, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); DGL_Disable(DGL_TEXTURE_2D); } else { DGL_Enable(DGL_TEXTURE_2D); FR_SetFont(FID(GF_FONTA)); FR_SetColorAndAlpha(defFontRGB3[0], defFontRGB3[1], defFontRGB3[2], 1); FR_DrawTextXY3("NOW ENTERING:", SCREENWIDTH/2, 160, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTB)); FR_SetColorAndAlpha(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); FR_DrawTextXY3(P_GetShortMapName(wbs->episode, wbs->nextMap), 160, 170, ALIGN_TOP, DTF_ONLY_SHADOW); DGL_Disable(DGL_TEXTURE_2D); skipIntermission = false; } #undef TRACKING }