internal static void DrawParty()
        {
            int    I         = 0;
            int    x         = 0;
            int    y         = 0;
            int    barwidth  = 0;
            int    playerNum = 0;
            string theName   = "";

            Rectangle[] rec = new Rectangle[2];

            // render the window

            // draw the bars
            if (Party.Leader > 0)             // make sure we're in a party
            {
                // draw leader
                playerNum = Party.Leader;
                // name
                theName = C_Player.GetPlayerName(playerNum).Trim();
                // draw name
                y = 100;
                x = 10;
                C_Text.DrawText(x, y, theName, SFML.Graphics.Color.Yellow, SFML.Graphics.Color.Black, C_Graphics.GameWindow);

                // draw hp
                if (C_Types.Player[playerNum].Vital[(byte)Enums.VitalType.HP] > 0)
                {
                    // calculate the width to fill
                    barwidth = System.Convert.ToInt32(C_Types.Player[playerNum].Vital[(byte)Enums.VitalType.HP] / (C_Player.GetPlayerMaxVital(playerNum, Enums.VitalType.HP)) * 64);
                    // draw bars
                    rec[1] = new Rectangle(x, y, barwidth, 6);
                    RectangleShape rectShape = new RectangleShape(new Vector2f(barwidth, 6))
                    {
                        Position  = new Vector2f(x, y + 15),
                        FillColor = SFML.Graphics.Color.Red
                    };
                    C_Graphics.GameWindow.Draw(rectShape);
                }
                // draw mp
                if (C_Types.Player[playerNum].Vital[(byte)Enums.VitalType.MP] > 0)
                {
                    // calculate the width to fill
                    barwidth = System.Convert.ToInt32(C_Types.Player[playerNum].Vital[(byte)Enums.VitalType.MP] / (C_Player.GetPlayerMaxVital(playerNum, Enums.VitalType.MP)) * 64);
                    // draw bars
                    rec[1] = new Rectangle(x, y, barwidth, 6);
                    RectangleShape rectShape2 = new RectangleShape(new Vector2f(barwidth, 6))
                    {
                        Position  = new Vector2f(x, y + 24),
                        FillColor = SFML.Graphics.Color.Blue
                    };
                    C_Graphics.GameWindow.Draw(rectShape2);
                }

                // draw members
                for (I = 1; I <= Constants.MAX_PARTY_MEMBERS; I++)
                {
                    if (Party.Member[I] > 0)
                    {
                        if (Party.Member[I] != Party.Leader)
                        {
                            // cache the index
                            playerNum = Party.Member[I];
                            // name
                            theName = C_Player.GetPlayerName(playerNum).Trim();
                            // draw name
                            y = 100 + ((I - 1) * 30);

                            C_Text.DrawText(x, y, theName, SFML.Graphics.Color.White, SFML.Graphics.Color.Black, C_Graphics.GameWindow);
                            // draw hp
                            y = 115 + ((I - 1) * 30);

                            // make sure we actually have the data before rendering
                            if (C_Player.GetPlayerVital(playerNum, Enums.VitalType.HP) > 0 && C_Player.GetPlayerMaxVital(playerNum, Enums.VitalType.HP) > 0)
                            {
                                barwidth = System.Convert.ToInt32(C_Types.Player[playerNum].Vital[(byte)Enums.VitalType.HP] / (C_Player.GetPlayerMaxVital(playerNum, Enums.VitalType.HP)) * 64);
                            }
                            rec[1] = new Rectangle(x, y, barwidth, 6);
                            RectangleShape rectShape = new RectangleShape(new Vector2f(barwidth, 6))
                            {
                                Position  = new Vector2f(x, y),
                                FillColor = SFML.Graphics.Color.Red
                            };
                            C_Graphics.GameWindow.Draw(rectShape);
                            // draw mp
                            y = 115 + ((I - 1) * 30);
                            // make sure we actually have the data before rendering
                            if (C_Player.GetPlayerVital(playerNum, Enums.VitalType.MP) > 0 && C_Player.GetPlayerMaxVital(playerNum, Enums.VitalType.MP) > 0)
                            {
                                barwidth = System.Convert.ToInt32(C_Types.Player[playerNum].Vital[(byte)Enums.VitalType.MP] / (C_Player.GetPlayerMaxVital(playerNum, Enums.VitalType.MP)) * 64);
                            }
                            rec[1] = new Rectangle(x, y, barwidth, 6);
                            RectangleShape rectShape2 = new RectangleShape(new Vector2f(barwidth, 6))
                            {
                                Position  = new Vector2f(x, y + 8),
                                FillColor = SFML.Graphics.Color.Blue
                            };
                            C_Graphics.GameWindow.Draw(rectShape2);
                        }
                    }
                }
            }
        }