/// <summary> /// Sbar_FinaleOverlay /// </summary> public static void FinaleOverlay() { Scr.CopyEverithing = true; glpic_t pic = Drawer.CachePic("gfx/finale.lmp"); Drawer.DrawTransPic((Scr.vid.width - pic.width) / 2, 16, pic); }
/// <summary> /// SCR_DrawLoading /// </summary> private static void DrawLoading() { if (!_DrawLoading) { return; } glpic_t pic = Drawer.CachePic("gfx/loading.lmp"); Drawer.DrawPic((vid.width - pic.width) / 2, (vid.height - 48 - pic.height) / 2, pic); }
// Sbar_DeathmatchOverlay static void DeathmatchOverlay() { Scr.CopyEverithing = true; Scr.FullUpdate = 0; glpic_t pic = Drawer.CachePic("gfx/ranking.lmp"); Menu.DrawPic((320 - pic.width) / 2, 8, pic); // scores SortFrags(); // draw the text int l = _ScoreBoardLines; int x = 80 + ((Scr.vid.width - 320) >> 1); int y = 40; for (int i = 0; i < l; i++) { int k = _FragSort[i]; Scoreboard s = Client.Cl.scores[k]; if (String.IsNullOrEmpty(s.name)) { continue; } // draw background int top = s.colors & 0xf0; int bottom = (s.colors & 15) << 4; top = ColorForMap(top); bottom = ColorForMap(bottom); Drawer.Fill(x, y, 40, 4, top); Drawer.Fill(x, y + 4, 40, 4, bottom); // draw number string num = s.frags.ToString().PadLeft(3); Drawer.DrawCharacter(x + 8, y, num[0]); Drawer.DrawCharacter(x + 16, y, num[1]); Drawer.DrawCharacter(x + 24, y, num[2]); if (k == Client.Cl.viewentity - 1) { Drawer.DrawCharacter(x - 8, y, 12); } // draw name Drawer.DrawString(x + 64, y, s.name); y += 10; } }
// DrawPause private static void DrawPause() { if (_ShowPause.Value == 0) // turn off for screenshots { return; } if (!Client.cl.paused) { return; } glpic_t pic = Drawer.CachePic("gfx/pause.lmp"); Drawer.DrawPic((vid.width - pic.width) / 2, (vid.height - 48 - pic.height) / 2, pic); }
/// <summary> /// Sbar_IntermissionOverlay /// called each frame after the level has been completed /// </summary> public static void IntermissionOverlay() { Scr.CopyEverithing = true; Scr.FullUpdate = 0; if (Client.Cl.gametype == Protocol.GAME_DEATHMATCH) { Sbar.DeathmatchOverlay(); return; } glpic_t pic = Drawer.CachePic("gfx/complete.lmp"); Drawer.DrawPic(64, 24, pic); pic = Drawer.CachePic("gfx/inter.lmp"); Drawer.DrawTransPic(0, 56, pic); // time int dig = Client.Cl.completed_time / 60; IntermissionNumber(160, 64, dig, 3, 0); int num = Client.Cl.completed_time - dig * 60; Drawer.DrawTransPic(234, 64, _Colon); Drawer.DrawTransPic(246, 64, _Nums[0, num / 10]); Drawer.DrawTransPic(266, 64, _Nums[0, num % 10]); IntermissionNumber(160, 104, Client.Cl.stats[QStats.STAT_SECRETS], 3, 0); Drawer.DrawTransPic(232, 104, _Slash); IntermissionNumber(240, 104, Client.Cl.stats[QStats.STAT_TOTALSECRETS], 3, 0); IntermissionNumber(160, 144, Client.Cl.stats[QStats.STAT_MONSTERS], 3, 0); Drawer.DrawTransPic(232, 144, _Slash); IntermissionNumber(240, 144, Client.Cl.stats[QStats.STAT_TOTALMONSTERS], 3, 0); }