CachePic() 공개 정적인 메소드

public static CachePic ( string path ) : glpic_t
path string
리턴 glpic_t
예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        // 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;
            }
        }
예제 #4
0
        // 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);
        }
예제 #5
0
        /// <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);
        }