// ==================================================================== // WI_drawStats // Purpose: Put the solo stats on the screen // Args: none // Returns: void // // proff/nicolas 09/20/98 -- changed for hi-res // CPhipps - patch drawing updated void WI_drawStats(void) { // line height int lh; lh = (3*num[0].height)/2; WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); V_DrawNamePatch(SP_STATSX, SP_STATSY, FB, kills, CR_DEFAULT, VPT_STRETCH); if (cnt_kills) WI_drawPercent(320 - SP_STATSX, SP_STATSY, cnt_kills[0]); V_DrawNamePatch(SP_STATSX, SP_STATSY+lh, FB, items, CR_DEFAULT, VPT_STRETCH); if (cnt_items) WI_drawPercent(320 - SP_STATSX, SP_STATSY+lh, cnt_items[0]); V_DrawNamePatch(SP_STATSX, SP_STATSY+2*lh, FB, sp_secret, CR_DEFAULT, VPT_STRETCH); if (cnt_secret) WI_drawPercent(320 - SP_STATSX, SP_STATSY+2*lh, cnt_secret[0]); WI_drawTimeStats(cnt_time, cnt_total_time, 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); //} }
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_drawNetgameStats(void) { int i; int x; int y; int pwidth = SHORT(percent->width); WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); // draw stat titles (top line) V_DrawPatch(NG_STATSX+NG_SPACINGX-SHORT(kills->width), NG_STATSY, kills); V_DrawPatch(NG_STATSX+2*NG_SPACINGX-SHORT(items->width), NG_STATSY, items); V_DrawPatch(NG_STATSX+3*NG_SPACINGX-SHORT(secret->width), NG_STATSY, secret); if (dofrags) V_DrawPatch(NG_STATSX+4*NG_SPACINGX-SHORT(frags->width), NG_STATSY, frags); // draw stats y = NG_STATSY + SHORT(kills->height); for (i=0 ; i<MAXPLAYERS ; i++) { if (!playeringame[i]) continue; x = NG_STATSX; V_DrawPatch(x-SHORT(p[i]->width), y, p[i]); if (i == me) V_DrawPatch(x-SHORT(p[i]->width), y, star); x += NG_SPACINGX; WI_drawPercent(x-pwidth, y+10, cnt_kills[i]); x += NG_SPACINGX; WI_drawPercent(x-pwidth, y+10, cnt_items[i]); x += NG_SPACINGX; WI_drawPercent(x-pwidth, y+10, cnt_secret[i]); x += NG_SPACINGX; if (dofrags) WI_drawNum(x, y+10, cnt_frags[i], -1); y += WI_SPACINGY; } }
void WI_drawNetgameStats(void) { int i; int x; int y; int pwidth = SHORT(::g->percent->width); WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); // draw stat titles (top line) V_DrawPatch(NG_STATSX+NG_SPACINGX-SHORT(::g->kills->width), NG_STATSY, FB, ::g->kills); V_DrawPatch(NG_STATSX+2*NG_SPACINGX-SHORT(::g->items->width), NG_STATSY, FB, ::g->items); V_DrawPatch(NG_STATSX+3*NG_SPACINGX-SHORT(::g->secret->width), NG_STATSY, FB, ::g->secret); if (::g->dofrags) V_DrawPatch(NG_STATSX+4*NG_SPACINGX-SHORT(::g->wistuff_frags->width), NG_STATSY, FB, ::g->wistuff_frags); // draw stats y = NG_STATSY + SHORT(::g->kills->height); for (i=0 ; i<MAXPLAYERS ; i++) { if (!::g->playeringame[i]) continue; x = NG_STATSX; V_DrawPatch(x-SHORT(::g->wistuff_p[i]->width), y, FB, ::g->wistuff_p[i]); // No splitscreen on PC if (i == ::g->me /* && !gameLocal->IsSplitscreen() */ ) V_DrawPatch(x-SHORT(::g->wistuff_p[i]->width), y, FB, ::g->star); x += NG_SPACINGX; WI_drawPercent(x-pwidth, y+10, ::g->cnt_kills[i]); x += NG_SPACINGX; WI_drawPercent(x-pwidth, y+10, ::g->cnt_items[i]); x += NG_SPACINGX; WI_drawPercent(x-pwidth, y+10, ::g->cnt_secret[i]); x += NG_SPACINGX; if (::g->dofrags) WI_drawNum(x, y+10, ::g->cnt_frags[i], -1); y += WI_SPACINGY; } }
void WI_drawShowNextLoc(void) { int i; int last; extern boolean secretexit; // [crispy] Master Level support WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); if ( gamemode != commercial) { if (wbs->epsd > 2) { WI_drawEL(); return; } last = (wbs->last == 8 || wbs->last == 9) ? wbs->next - 1 : wbs->last; // [crispy] support E1M10 "Sewers" // draw a splat on taken cities. for (i=0 ; i<=last ; i++) WI_drawOnLnode(i, splat); // splat the secret level? if (wbs->didsecret) WI_drawOnLnode(8, splat); // [crispy] the splat for E1M10 "Sewers" is drawn only once, // i.e. now, when returning from the level // (and this is not going to change) if (crispy_havee1m10 && wbs->epsd == 0 && wbs->last == 9) WI_drawOnLnode(9, splat); // draw flashing ptr if (snl_pointeron) WI_drawOnLnode(wbs->next, yah); } if (singleplayer && ( (gamemission == pack_nerve && wbs->last == 7) || (gamemission == pack_master && wbs->last == 19 && !secretexit) || (gamemission == pack_master && wbs->last == 20))) return; // draws which level you are entering.. if ( (gamemode != commercial) || wbs->next != 30) WI_drawEL(); }
void WI_drawShowNextLoc(void) { int i; int last; WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); if ( ::g->gamemode != commercial) { if (::g->wbs->epsd > 2) { WI_drawEL(); return; } last = (::g->wbs->last == 8) ? ::g->wbs->next - 1 : ::g->wbs->last; // don't draw any splats for extra secret levels if( last == 9 ) { for (i=0 ; i<MAXPLAYERS ; i++) { ::g->players[i].didsecret = false; } ::g->wbs->didsecret = false; last = -1; } // draw a splat on taken cities. for (i=0 ; i<=last ; i++) WI_drawOnLnode(i, &::g->splat); // splat the secret level? if (::g->wbs->didsecret) WI_drawOnLnode(8, &::g->splat); // draw flashing ptr if (::g->snl_pointeron) WI_drawOnLnode(::g->wbs->next, ::g->yah); } // draws which level you are entering.. if ( (::g->gamemode != commercial) || ::g->wbs->next != 30) WI_drawEL(); }
void WI_drawAnimatedBack (void) { int i; in_anim_t *a; WI_slamBackground (); if (gameinfo.gametype == GAME_Doom && gamemode != commercial && epsd <= 2) { for (i = 0; i < NUMANIMS[epsd]; i++) { a = &anims[epsd][i]; if (a->ctr >= 0) screen->DrawTexture (a->p[a->ctr], a->loc.x, a->loc.y, DTA_320x200, true, TAG_DONE); } } }
void WI_drawAnimatedBack() { if (gamemode != commercial && gamemode != commercial_bfg && wbs->epsd <= 2 && NUMANIMS[wbs->epsd] > 0) { DCanvas* canvas = background_surface->getDefaultCanvas(); background_surface->lock(); for (int i = 0; i < NUMANIMS[wbs->epsd]; i++) { animinfo_t* a = &anims[wbs->epsd][i]; if (a->ctr >= 0) canvas->DrawPatch(a->p[a->ctr], a->loc.x, a->loc.y); } background_surface->unlock(); } WI_slamBackground(); }
void WI_drawAnimatedBack (void) { int i; anim_t *a; if (gamemode != commercial && gamemode != commercial_bfg && wbs->epsd <= 2) { background->Lock (); for (i = 0; i < NUMANIMS[wbs->epsd]; i++) { a = &anims[wbs->epsd][i]; if (a->ctr >= 0) background->DrawPatch (a->p[a->ctr], a->loc.x, a->loc.y); } background->Unlock (); } WI_slamBackground (); }
void WI_drawShowNextLoc(void) { int i; int last; WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); if ( gamemode != commercial) { if (wbs->epsd > 2) { WI_drawEL(); return; } last = (wbs->last == 8) ? wbs->next - 1 : wbs->last; // draw a splat on taken cities. for (i=0 ; i<=last ; i++) WI_drawOnLnode(i, &splat); // splat the secret level? if (wbs->didsecret) WI_drawOnLnode(8, &splat); // draw flashing ptr if (snl_pointeron) WI_drawOnLnode(wbs->next, yah); } // draws which level you are entering.. if ( (gamemode != commercial) || wbs->next != 30) WI_drawEL(); }
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); } } }
static void WI_drawShowNextLoc(void) { int i; int last; WI_slamBackground(); WI_drawAnimatedBack(); if (gamemode != commercial) { if (wbs->epsd > 2) { WI_drawEL(); return; } last = (wbs->last == 8) ? wbs->next - 1 : wbs->last; for (i = 0; i <= last; i++) WI_drawOnLnode(i, &splat); if (wbs->didsecret) WI_drawOnLnode(8, &splat); if (snl_pointeron) WI_drawOnLnode(wbs->next, yah); } if ((gamemode != commercial) || wbs->next != 30) WI_drawEL(); }
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 WI_drawDeathmatchStats(void) { int i; int j; int x; int y; int w; int lh; // line height lh = WI_SPACINGY; WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); // draw stat titles (top line) V_DrawPatch(DM_TOTALSX-SHORT(::g->total->width)/2, DM_MATRIXY-WI_SPACINGY+10, FB, ::g->total); V_DrawPatch(DM_KILLERSX, DM_KILLERSY, FB, ::g->killers); V_DrawPatch(DM_VICTIMSX, DM_VICTIMSY, FB, ::g->victims); // draw P? x = DM_MATRIXX + DM_SPACINGX; y = DM_MATRIXY; for (i=0 ; i<MAXPLAYERS ; i++) { if (::g->playeringame[i]) { V_DrawPatch(x-SHORT(::g->wistuff_p[i]->width)/2, DM_MATRIXY - WI_SPACINGY, FB, ::g->wistuff_p[i]); V_DrawPatch(DM_MATRIXX-SHORT(::g->wistuff_p[i]->width)/2, y, FB, ::g->wistuff_p[i]); // No splitscreen on PC currently if (i == ::g->me /* && !gameLocal->IsSplitscreen() */ ) { V_DrawPatch(x-SHORT(::g->wistuff_p[i]->width)/2, DM_MATRIXY - WI_SPACINGY, FB, ::g->bstar); V_DrawPatch(DM_MATRIXX-SHORT(::g->wistuff_p[i]->width)/2, y, FB, ::g->star); } } else { //V_DrawPatch(x-SHORT(::g->wistuff_bp[i]->width)/2, // DM_MATRIXY - WI_SPACINGY, FB, ::g->wistuff_bp[i]); //V_DrawPatch(DM_MATRIXX-SHORT(::g->wistuff_bp[i]->width)/2, // y, FB, ::g->wistuff_bp[i]); } x += DM_SPACINGX; y += WI_SPACINGY; } // draw stats y = DM_MATRIXY+10; w = SHORT(::g->num[0]->width); for (i=0 ; i<MAXPLAYERS ; i++) { x = DM_MATRIXX + DM_SPACINGX; if (::g->playeringame[i]) { for (j=0 ; j<MAXPLAYERS ; j++) { if (::g->playeringame[j]) WI_drawNum(x+w, y, ::g->dm_frags[i][j], 2); x += DM_SPACINGX; } WI_drawNum(DM_TOTALSX+w, y, ::g->dm_totals[i], 2); } y += WI_SPACINGY; } }
// ==================================================================== // WI_drawNetgameStats // Purpose: Put the coop stats on the screen // Args: none // Returns: void // // proff/nicolas 09/20/98 -- changed for hi-res // CPhipps - patch drawing updated void WI_drawNetgameStats(void) { int i; int x; int y; int pwidth = V_NamePatchWidth(percent); int fwidth = V_NamePatchWidth(facebackp); WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); // draw stat titles (top line) V_DrawNamePatch(NG_STATSX+NG_SPACINGX-V_NamePatchWidth(kills), NG_STATSY, FB, kills, CR_DEFAULT, VPT_STRETCH); V_DrawNamePatch(NG_STATSX+2*NG_SPACINGX-V_NamePatchWidth(items), NG_STATSY, FB, items, CR_DEFAULT, VPT_STRETCH); V_DrawNamePatch(NG_STATSX+3*NG_SPACINGX-V_NamePatchWidth(secret), NG_STATSY, FB, secret, CR_DEFAULT, VPT_STRETCH); if (dofrags) V_DrawNamePatch(NG_STATSX+4*NG_SPACINGX-V_NamePatchWidth(frags), NG_STATSY, FB, frags, CR_DEFAULT, VPT_STRETCH); // draw stats y = NG_STATSY + V_NamePatchHeight(kills); for (i=0 ; i<MAXPLAYERS ; i++) { //int trans = playernumtotrans[i]; if (!playeringame[i]) continue; x = NG_STATSX; V_DrawNamePatch(x-fwidth, y, FB, facebackp, i ? CR_LIMIT+i : CR_DEFAULT, VPT_STRETCH | (i ? VPT_TRANS : 0)); if (i == me) V_DrawNamePatch(x-fwidth, y, FB, star, CR_DEFAULT, VPT_STRETCH); x += NG_SPACINGX; if (cnt_kills) WI_drawPercent(x-pwidth, y+10, cnt_kills[i]); x += NG_SPACINGX; if (cnt_items) WI_drawPercent(x-pwidth, y+10, cnt_items[i]); x += NG_SPACINGX; if (cnt_secret) WI_drawPercent(x-pwidth, y+10, cnt_secret[i]); x += NG_SPACINGX; if (dofrags && cnt_frags) WI_drawNum(x, y+10, cnt_frags[i], -1); y += WI_SPACINGY; } if (y <= SP_TIMEY) // cph - show times in coop on the entering screen WI_drawTimeStats(plrs[me].stime / TICRATE, wbs->totaltimes / TICRATE, wbs->partime / TICRATE); }
// ==================================================================== // WI_drawDeathmatchStats // Purpose: Draw the stats on the screen in a matrix // Args: none // Returns: void // // proff/nicolas 09/20/98 -- changed for hi-res // CPhipps - patch drawing updated void WI_drawDeathmatchStats(void) { int i; int j; int x; int y; int w; int lh; // line height int halfface = V_NamePatchWidth(facebackp)/2; lh = WI_SPACINGY; WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); // draw stat titles (top line) V_DrawNamePatch(DM_TOTALSX-V_NamePatchWidth(total)/2, DM_MATRIXY-WI_SPACINGY+10, FB, total, CR_DEFAULT, VPT_STRETCH); V_DrawNamePatch(DM_KILLERSX, DM_KILLERSY, FB, killers, CR_DEFAULT, VPT_STRETCH); V_DrawNamePatch(DM_VICTIMSX, DM_VICTIMSY, FB, victims, CR_DEFAULT, VPT_STRETCH); // draw P? x = DM_MATRIXX + DM_SPACINGX; y = DM_MATRIXY; for (i=0 ; i<MAXPLAYERS ; i++) { if (playeringame[i]) { //int trans = playernumtotrans[i]; V_DrawNamePatch(x-halfface, DM_MATRIXY - WI_SPACINGY, FB, facebackp, i ? CR_LIMIT+i : CR_DEFAULT, VPT_STRETCH | (i ? VPT_TRANS : 0)); V_DrawNamePatch(DM_MATRIXX-halfface, y, FB, facebackp, i ? CR_LIMIT+i : CR_DEFAULT, VPT_STRETCH | (i ? VPT_TRANS : 0)); if (i == me) { V_DrawNamePatch(x-halfface, DM_MATRIXY - WI_SPACINGY, FB, bstar, CR_DEFAULT, VPT_STRETCH); V_DrawNamePatch(DM_MATRIXX-halfface, y, FB, star, CR_DEFAULT, VPT_STRETCH); } } x += DM_SPACINGX; y += WI_SPACINGY; } // draw stats y = DM_MATRIXY+10; w = num[0].width; for (i=0 ; i<MAXPLAYERS ; i++) { x = DM_MATRIXX + DM_SPACINGX; if (playeringame[i]) { for (j=0 ; j<MAXPLAYERS ; j++) { if (playeringame[j]) WI_drawNum(x+w, y, dm_frags[i][j], 2); x += DM_SPACINGX; } WI_drawNum(DM_TOTALSX+w, y, dm_totals[i], 2); } y += WI_SPACINGY; } }
void WI_drawNetgameStats(void) { int i; int x; int y; int pwidth = SHORT(percent.width); WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); // draw stat titles (top line) WI_DrawPatch(NG_STATSX + NG_SPACINGX - SHORT(kills.width), NG_STATSY, kills.lump); WI_DrawPatch(NG_STATSX + 2 * NG_SPACINGX - SHORT(items.width), NG_STATSY, items.lump); WI_DrawPatch(NG_STATSX + 3 * NG_SPACINGX - SHORT(secret.width), NG_STATSY, secret.lump); if(dofrags) WI_DrawPatch(NG_STATSX + 4 * NG_SPACINGX - SHORT(frags.width), NG_STATSY, frags.lump); // draw stats y = NG_STATSY + SHORT(kills.height); for(i = 0; i < NUM_TEAMS; i++) { if(!teaminfo[i].members) continue; x = NG_STATSX; WI_DrawPatch(x - SHORT(p[i].width), y, p[i].lump); // If more than 1 member, show the member count. if(teaminfo[i].members > 1) { char tmp[40]; sprintf(tmp, "%i", teaminfo[i].members); M_WriteText2(x - p[i].width + 1, y + p[i].height - 8, tmp, hu_font_a, 1, 1, 1); } if(i == myteam) WI_DrawPatch(x - SHORT(p[i].width), y, star.lump); x += NG_SPACINGX; WI_drawPercent(x - pwidth, y + 10, cnt_kills[i]); x += NG_SPACINGX; WI_drawPercent(x - pwidth, y + 10, cnt_items[i]); x += NG_SPACINGX; WI_drawPercent(x - pwidth, y + 10, cnt_secret[i]); x += NG_SPACINGX; if(dofrags) WI_drawNum(x, y + 10, cnt_frags[i], -1); y += WI_SPACINGY; } }
void WI_drawDeathmatchStats(void) { int i; int j; int x; int y; int w; int lh; // line height lh = WI_SPACINGY; WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); // draw stat titles (top line) V_DrawPatch(DM_TOTALSX-SHORT(total->width)/2, DM_MATRIXY-WI_SPACINGY+10, FB, total); V_DrawPatch(DM_KILLERSX, DM_KILLERSY, FB, killers); V_DrawPatch(DM_VICTIMSX, DM_VICTIMSY, FB, victims); // draw P? x = DM_MATRIXX + DM_SPACINGX; y = DM_MATRIXY; for (i=0 ; i<MAXPLAYERS ; i++) { if (playeringame[i]) { V_DrawPatch(x-SHORT(p[i]->width)/2, DM_MATRIXY - WI_SPACINGY, FB, p[i]); V_DrawPatch(DM_MATRIXX-SHORT(p[i]->width)/2, y, FB, p[i]); if (i == me) { V_DrawPatch(x-SHORT(p[i]->width)/2, DM_MATRIXY - WI_SPACINGY, FB, bstar); V_DrawPatch(DM_MATRIXX-SHORT(p[i]->width)/2, y, FB, star); } } else { // V_DrawPatch(x-SHORT(bp[i]->width)/2, // DM_MATRIXY - WI_SPACINGY, FB, bp[i]); // V_DrawPatch(DM_MATRIXX-SHORT(bp[i]->width)/2, // y, FB, bp[i]); } x += DM_SPACINGX; y += WI_SPACINGY; } // draw stats y = DM_MATRIXY+10; w = SHORT(num[0]->width); for (i=0 ; i<MAXPLAYERS ; i++) { x = DM_MATRIXX + DM_SPACINGX; if (playeringame[i]) { for (j=0 ; j<MAXPLAYERS ; j++) { if (playeringame[j]) WI_drawNum(x+w, y, dm_frags[i][j], 2); x += DM_SPACINGX; } WI_drawNum(DM_TOTALSX+w, y, dm_totals[i], 2); } y += WI_SPACINGY; } }
void WI_drawDeathmatchStats(void) { int i; int j; int x; int y; int w; int lh; // line height lh = WI_SPACINGY; WI_slamBackground(); // draw animated background WI_drawAnimatedBack(); WI_drawLF(); // draw stat titles (top line) WI_DrawPatch(DM_TOTALSX - SHORT(total.width) / 2, DM_MATRIXY - WI_SPACINGY + 10, total.lump); WI_DrawPatch(DM_KILLERSX, DM_KILLERSY, killers.lump); WI_DrawPatch(DM_VICTIMSX, DM_VICTIMSY, victims.lump); // draw P? x = DM_MATRIXX + DM_SPACINGX; y = DM_MATRIXY; for(i = 0; i < NUM_TEAMS; i++) { if(teaminfo[i].members) { WI_DrawPatch(x - SHORT(p[i].width) / 2, DM_MATRIXY - WI_SPACINGY, p[i].lump); WI_DrawPatch(DM_MATRIXX - SHORT(p[i].width) / 2, y, p[i].lump); if(i == myteam) { WI_DrawPatch(x - SHORT(p[i].width) / 2, DM_MATRIXY - WI_SPACINGY, bstar.lump); WI_DrawPatch(DM_MATRIXX - SHORT(p[i].width) / 2, y, star.lump); } // If more than 1 member, show the member count. if(teaminfo[i].members > 1) { char tmp[20]; sprintf(tmp, "%i", teaminfo[i].members); M_WriteText2(x - p[i].width / 2 + 1, DM_MATRIXY - WI_SPACINGY + p[i].height - 8, tmp, hu_font_a, 1, 1, 1); M_WriteText2(DM_MATRIXX - p[i].width / 2 + 1, y + p[i].height - 8, tmp, hu_font_a, 1, 1, 1); } } else { WI_DrawPatch(x - SHORT(bp[i].width) / 2, DM_MATRIXY - WI_SPACINGY, bp[i].lump); WI_DrawPatch(DM_MATRIXX - SHORT(bp[i].width) / 2, y, bp[i].lump); } x += DM_SPACINGX; y += WI_SPACINGY; } // draw stats y = DM_MATRIXY + 10; w = SHORT(num[0].width); for(i = 0; i < NUM_TEAMS; i++) { x = DM_MATRIXX + DM_SPACINGX; if(teaminfo[i].members) { for(j = 0; j < NUM_TEAMS; j++) { if(teaminfo[j].members) WI_drawNum(x + w, y, dm_frags[i][j], 2); x += DM_SPACINGX; } WI_drawNum(DM_TOTALSX + w, y, dm_totals[i], 2); } y += WI_SPACINGY; } }