void WI_drawStats (void) { // line height int lh = (3*num[0]->height())/2; // draw animated background WI_drawAnimatedBack(); WI_drawLF(); screen->DrawPatchClean(kills, SP_STATSX, SP_STATSY); WI_drawPercent(cnt_kills, 320 - SP_STATSX, SP_STATSY); screen->DrawPatchClean(items, SP_STATSX, SP_STATSY+lh); WI_drawPercent(cnt_items, 320 - SP_STATSX, SP_STATSY+lh); screen->DrawPatchClean(secret, SP_STATSX, SP_STATSY+2*lh); WI_drawPercent(cnt_secret, 320 - SP_STATSX, SP_STATSY+2*lh); screen->DrawPatchClean(timepatch, SP_TIMEX, SP_TIMEY); WI_drawTime(cnt_time, 160 - SP_TIMEX, SP_TIMEY); if ((gameinfo.flags & GI_MAPxx) || wbs->epsd < 3) { screen->DrawPatchClean(par, SP_TIMEX + 160, SP_TIMEY); WI_drawTime(cnt_par, 320 - SP_TIMEX, SP_TIMEY); } }
void WI_drawStats(void) { // line height int lh; lh = (3*SHORT(num[0]->height))/2; WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); V_DrawPatch(SP_STATSX, SP_STATSY, FB, kills); WI_drawPercent(SCREENWIDTH - SP_STATSX, SP_STATSY, cnt_kills[0]); V_DrawPatch(SP_STATSX, SP_STATSY+lh, FB, items); WI_drawPercent(SCREENWIDTH - SP_STATSX, SP_STATSY+lh, cnt_items[0]); V_DrawPatch(SP_STATSX, SP_STATSY+2*lh, FB, sp_secret); WI_drawPercent(SCREENWIDTH - SP_STATSX, SP_STATSY+2*lh, cnt_secret[0]); V_DrawPatch(SP_TIMEX, SP_TIMEY, FB, time); WI_drawTime(SCREENWIDTH/2 - SP_TIMEX, SP_TIMEY, cnt_time); if (wbs->epsd < 3) { V_DrawPatch(SCREENWIDTH/2 + SP_TIMEX, SP_TIMEY, FB, par); WI_drawTime(SCREENWIDTH - SP_TIMEX, SP_TIMEY, cnt_par); } }
void WI_drawStats(void) { // line height int lh; lh = (3*SHORT(::g->num[0]->height))/2; WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); V_DrawPatch(SP_STATSX, SP_STATSY, FB, ::g->kills); WI_drawPercent(ORIGINAL_WIDTH - SP_STATSX, SP_STATSY, ::g->cnt_kills[0]); V_DrawPatch(SP_STATSX, SP_STATSY+lh, FB, ::g->items); WI_drawPercent(ORIGINAL_WIDTH - SP_STATSX, SP_STATSY+lh, ::g->cnt_items[0]); V_DrawPatch(SP_STATSX, SP_STATSY+2*lh, FB, ::g->sp_secret); WI_drawPercent(ORIGINAL_WIDTH - SP_STATSX, SP_STATSY+2*lh, ::g->cnt_secret[0]); V_DrawPatch(SP_TIMEX, SP_TIMEY, FB, ::g->time); WI_drawTime(ORIGINAL_WIDTH/2 - SP_TIMEX, SP_TIMEY, ::g->cnt_time); // DHM - Nerve :: Added episode 4 par times //if (::g->wbs->epsd < 3) //{ V_DrawPatch(ORIGINAL_WIDTH/2 + SP_TIMEX, SP_TIMEY, FB, ::g->par); WI_drawTime(ORIGINAL_WIDTH - SP_TIMEX, SP_TIMEY, ::g->cnt_par); //} }
static void WI_drawTimeStats(int cnt_time, int cnt_total_time, int cnt_par) { V_DrawNamePatch(SP_TIMEX, SP_TIMEY, FB, time1, CR_DEFAULT, VPT_STRETCH); WI_drawTime(320 / 2 - SP_TIMEX, SP_TIMEY, cnt_time); V_DrawNamePatch(SP_TIMEX, (SP_TIMEY + 200) / 2, FB, total, CR_DEFAULT, VPT_STRETCH); WI_drawTime(320 / 2 - SP_TIMEX, (SP_TIMEY + 200) / 2, cnt_total_time); }
static void WI_drawTimeStats(int cnt_time, int cnt_total_time, int cnt_par) { V_DrawNamePatch(SP_TIMEX, SP_TIMEY, FB, time1, CR_DEFAULT, VPT_STRETCH); WI_drawTime(320/2 - SP_TIMEX, SP_TIMEY, cnt_time); V_DrawNamePatch(SP_TIMEX, (SP_TIMEY+200)/2, FB, total, CR_DEFAULT, VPT_STRETCH); WI_drawTime(320/2 - SP_TIMEX, (SP_TIMEY+200)/2, cnt_total_time); // Ty 04/11/98: redid logic: should skip only if with pwad but // without deh patch // killough 2/22/98: skip drawing par times on pwads // Ty 03/17/98: unless pars changed with deh patch if (!(modifiedgame && !deh_pars)) { if (wbs->epsd < 3) { V_DrawNamePatch(320/2 + SP_TIMEX, SP_TIMEY, FB, par, CR_DEFAULT, VPT_STRETCH); WI_drawTime(320 - SP_TIMEX, SP_TIMEY, cnt_par); } } }
void WI_drawStats(void) { // line height int lh; lh = (3*SHORT(num[0]->height))/2; WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); V_DrawPatch(SP_STATSX, SP_STATSY, kills); WI_drawPercent(SCREENWIDTH - SP_STATSX, SP_STATSY, cnt_kills[0]); V_DrawPatch(SP_STATSX, SP_STATSY+lh, items); WI_drawPercent(SCREENWIDTH - SP_STATSX, SP_STATSY+lh, cnt_items[0]); V_DrawPatch(SP_STATSX, SP_STATSY+2*lh, sp_secret); WI_drawPercent(SCREENWIDTH - SP_STATSX, SP_STATSY+2*lh, cnt_secret[0]); V_DrawPatch(SP_TIMEX, SP_TIMEY, timepatch); WI_drawTime(SCREENWIDTH/2 - SP_TIMEX, SP_TIMEY, cnt_time); if (wbs->epsd < 3) { V_DrawPatch(SCREENWIDTH/2 + SP_TIMEX, SP_TIMEY, par); // Emulation: don't draw partime value if map33 if (gamemode != commercial || wbs->last != NUMCMAPS) { WI_drawTime(SCREENWIDTH - SP_TIMEX, SP_TIMEY, cnt_par); } } }
void WI_drawStats(void) { // line height int lh = (3 * SHORT(num[0]->height)) / 2; WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); V_DrawPatchWithShadow(SP_STATSX + 1, SP_STATSY + 1, FB, kills, false); WI_drawPercent(ORIGINALWIDTH - SP_STATSX - 14, SP_STATSY, cnt_kills[0]); V_DrawPatchWithShadow(SP_STATSX + 1, SP_STATSY + lh + 1, FB, items, false); WI_drawPercent(ORIGINALWIDTH - SP_STATSX - 14, SP_STATSY + lh, cnt_items[0]); if (totalsecret) { if (!WISCRT2) M_DrawString(SP_STATSX, SP_STATSY + 2 * lh - 3, "secrets"); else V_DrawPatchWithShadow(SP_STATSX + 1, SP_STATSY + 2 * lh + 1, FB, sp_secret, false); WI_drawPercent(ORIGINALWIDTH - SP_STATSX - 14, SP_STATSY + 2 * lh, cnt_secret[0]); } V_DrawPatchWithShadow(SP_TIMEX + 1, SP_TIMEY + 1, FB, timepatch, false); WI_drawTime(ORIGINALWIDTH / 2 - SP_TIMEX * 2, SP_TIMEY, cnt_time); if (canmodify) { V_DrawPatchWithShadow(ORIGINALWIDTH / 2 + SP_TIMEX * 2 + 5, SP_TIMEY + 1, FB, par, false); WI_drawTime(ORIGINALWIDTH - SP_TIMEX, SP_TIMEY, cnt_par); } }
void Intermission::DrawCoopStats() { if (!game.multiplayer) { // single player stats are a bit different // line height float lh = (3*(num[0]->worldheight))/2; if (big_font) { // use FontB if any big_font->DrawString(SP_STATSX, SP_STATSY, "Kills", FB); big_font->DrawString(SP_STATSX, SP_STATSY+lh, "Items", FB); big_font->DrawString(SP_STATSX, SP_STATSY+2*lh, "Secrets", FB); } else { kills->Draw(SP_STATSX, SP_STATSY, FB); items->Draw(SP_STATSX, SP_STATSY+lh, FB); sp_secret->Draw(SP_STATSX, SP_STATSY+2*lh, FB); } Num.DrawPercent(BASEVIDWIDTH - SP_STATSX, SP_STATSY, cnt[0].kills); Num.DrawPercent(BASEVIDWIDTH - SP_STATSX, SP_STATSY+lh, cnt[0].items); Num.DrawPercent(BASEVIDWIDTH - SP_STATSX, SP_STATSY+2*lh, cnt[0].secrets); } else { float x, y; // draw stat titles (top line) if (big_font) { // use FontB if any big_font->DrawString(NG_STATSX+ NG_SPACINGX-big_font->StringWidth("Kills"), NG_STATSY, "Kills", FB); big_font->DrawString(NG_STATSX+2*NG_SPACINGX-big_font->StringWidth("Items"), NG_STATSY, "Items", FB); big_font->DrawString(NG_STATSX+3*NG_SPACINGX-big_font->StringWidth("Scrt"), NG_STATSY, "Scrt", FB); if (dofrags) big_font->DrawString(NG_STATSX+4*NG_SPACINGX-big_font->StringWidth("Frgs"), NG_STATSY, "Frgs", FB); y = NG_STATSY + big_font->Height(); } else { kills->Draw(NG_STATSX+NG_SPACINGX-kills->worldwidth, NG_STATSY, FB); items->Draw(NG_STATSX+2*NG_SPACINGX-items->worldwidth, NG_STATSY, FB); secret->Draw(NG_STATSX+3*NG_SPACINGX-secret->worldwidth, NG_STATSY, FB); if (dofrags) frags->Draw(NG_STATSX+4*NG_SPACINGX-frags->worldwidth, NG_STATSY, FB); y = NG_STATSY + kills->worldheight; } // draw stats int i, n = plrs.size(); float pwidth = percent->worldwidth; int you = ViewPlayers.size() ? ViewPlayers[0]->number : 0; for (i=0 ; i<n ; i++) { // TODO draw names too, use a smaller font? // draw face int color = plrs[i]->options.color; x = NG_STATSX - (i & 1) ? 10 : 0; current_colormap = translationtables[color]; stpb->Draw(x - stpb->worldwidth, y, FB | V_MAP); // TODO splitscreen if (plrs[i]->number == you) star->Draw(x-stpb->worldwidth, y, FB); // draw stats x = NG_STATSX + NG_SPACINGX; Num.DrawPercent(x-pwidth, y+10, cnt[i].kills); x += NG_SPACINGX; Num.DrawPercent(x-pwidth, y+10, cnt[i].items); x += NG_SPACINGX; Num.DrawPercent(x-pwidth, y+10, cnt[i].secrets); x += NG_SPACINGX; if (dofrags) Num.Draw(x, y+10, cnt[i].frags, -1); y += WI_SPACINGY; } } // draw time and par if (big_font) { big_font->DrawString(SP_TIMEX, SP_TIMEY, "Time", FB); big_font->DrawString(BASEVIDWIDTH/2 + SP_TIMEX, SP_TIMEY, "Par", FB); } else { timePatch->Draw(SP_TIMEX, SP_TIMEY, FB); par->Draw(BASEVIDWIDTH/2 + SP_TIMEX, SP_TIMEY, FB); } WI_drawTime(BASEVIDWIDTH/2 - SP_TIMEX, SP_TIMEY, cnt_time); WI_drawTime(BASEVIDWIDTH - SP_TIMEX, SP_TIMEY, cnt_par); }
void WI_drawStats (void) { // line height int lh; lh = (3*num[0]->GetHeight())/2; // draw animated background WI_drawAnimatedBack(); WI_drawLF(); if (gameinfo.gametype == GAME_Doom) { screen->DrawTexture (kills, SP_STATSX, SP_STATSY, DTA_Clean, true, TAG_DONE); WI_drawPercent (320 - SP_STATSX, SP_STATSY, cnt_kills[0], wbs->maxkills); screen->DrawTexture (items, SP_STATSX, SP_STATSY+lh, DTA_Clean, true, TAG_DONE); WI_drawPercent (320 - SP_STATSX, SP_STATSY+lh, cnt_items[0], wbs->maxitems); screen->DrawTexture (sp_secret, SP_STATSX, SP_STATSY+2*lh, DTA_Clean, true, TAG_DONE); WI_drawPercent(320 - SP_STATSX, SP_STATSY+2*lh, cnt_secret[0], wbs->maxsecret); screen->DrawTexture (timepic, SP_TIMEX, SP_TIMEY, DTA_Clean, true, TAG_DONE); WI_drawTime (160 - SP_TIMEX, SP_TIMEY, cnt_time); if (wbs->partime) { screen->DrawTexture (par, 160 + SP_TIMEX, SP_TIMEY, DTA_Clean, true, TAG_DONE); WI_drawTime (320 - SP_TIMEX, SP_TIMEY, cnt_par); } } else { screen->SetFont (BigFont); screen->DrawText (CR_UNTRANSLATED, 50, 65, "KILLS", DTA_Clean, true, DTA_Shadow, true, TAG_DONE); screen->DrawText (CR_UNTRANSLATED, 50, 90, "ITEMS", DTA_Clean, true, DTA_Shadow, true, TAG_DONE); screen->DrawText (CR_UNTRANSLATED, 50, 115, "SECRETS", DTA_Clean, true, DTA_Shadow, true, TAG_DONE); if (sp_state >= 2) { WI_drawNum (200, 65, cnt_kills[0], 3, false); screen->DrawTexture (slash, 237, 65, DTA_ShadowAlpha, FRACUNIT/2, DTA_Clean, true, TAG_DONE); WI_drawNum (248, 65, wbs->maxkills, 3, false); } if (sp_state >= 4) { WI_drawNum (200, 90, cnt_items[0], 3, false); screen->DrawTexture (slash, 237, 90, DTA_ShadowAlpha, FRACUNIT/2, DTA_Clean, true, TAG_DONE); WI_drawNum (248, 90, wbs->maxitems, 3, false); } if (sp_state >= 6) { WI_drawNum (200, 115, cnt_secret[0], 3, false); screen->DrawTexture (slash, 237, 115, DTA_ShadowAlpha, FRACUNIT/2, DTA_Clean, true, TAG_DONE); WI_drawNum (248, 115, wbs->maxsecret, 3, false); } if (sp_state >= 8) { screen->DrawText (CR_UNTRANSLATED, 85, 160, "TIME", DTA_Clean, true, DTA_Shadow, true, TAG_DONE); WI_drawTime (249, 160, cnt_time); } screen->SetFont (SmallFont); } }