/// <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); }
// Sbar_DrawTransPic static void DrawTransPic(int x, int y, glpic_t pic) { if (Client.Cl.gametype == Protocol.GAME_DEATHMATCH) { Drawer.DrawTransPic(x, y + (Scr.vid.height - SBAR_HEIGHT), pic); } else { Drawer.DrawTransPic(x + ((Scr.vid.width - 320) >> 1), y + (Scr.vid.height - SBAR_HEIGHT), pic); } }
/// <summary> /// Sbar_IntermissionNumber /// </summary> static void IntermissionNumber(int x, int y, int num, int digits, int color) { string str = num.ToString(); if (str.Length > digits) { str = str.Remove(0, str.Length - digits); } if (str.Length < digits) { x += (digits - str.Length) * 24; } for (int i = 0; i < str.Length; i++) { int frame = (str[i] == '-' ? STAT_MINUS : str[i] - '0'); Drawer.DrawTransPic(x, y, _Nums[color, frame]); x += 24; } }
/// <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); }