Exemple #1
0
        /// <summary>
        /// Caches the current frame's active render info, including the current World, RenderEngine, GameSettings and
        /// FontRenderer settings, as well as interpolated player position, pitch and yaw.
        /// </summary>
        public virtual void CacheActiveRenderInfo(World par1World, RenderEngine par2RenderEngine, FontRenderer par3FontRenderer, EntityLiving par4EntityLiving, GameSettings par5GameSettings, float par6)
        {
            WorldObj     = par1World;
            RenderEngine = par2RenderEngine;
            Options      = par5GameSettings;
            LivingPlayer = par4EntityLiving;
            FontRenderer = par3FontRenderer;

            if (par4EntityLiving.IsPlayerSleeping())
            {
                int i = par1World.GetBlockId(MathHelper2.Floor_double(par4EntityLiving.PosX), MathHelper2.Floor_double(par4EntityLiving.PosY), MathHelper2.Floor_double(par4EntityLiving.PosZ));

                if (i == Block.Bed.BlockID)
                {
                    int j = par1World.GetBlockMetadata(MathHelper2.Floor_double(par4EntityLiving.PosX), MathHelper2.Floor_double(par4EntityLiving.PosY), MathHelper2.Floor_double(par4EntityLiving.PosZ));
                    int k = j & 3;
                    PlayerViewY = k * 90 + 180;
                    PlayerViewX = 0.0F;
                }
            }
            else
            {
                PlayerViewY = par4EntityLiving.PrevRotationYaw + (par4EntityLiving.RotationYaw - par4EntityLiving.PrevRotationYaw) * par6;
                PlayerViewX = par4EntityLiving.PrevRotationPitch + (par4EntityLiving.RotationPitch - par4EntityLiving.PrevRotationPitch) * par6;
            }

            if (par5GameSettings.ThirdPersonView == 2)
            {
                PlayerViewY += 180F;
            }

            Field_1222_l = par4EntityLiving.LastTickPosX + (par4EntityLiving.PosX - par4EntityLiving.LastTickPosX) * (double)par6;
            Field_1221_m = par4EntityLiving.LastTickPosY + (par4EntityLiving.PosY - par4EntityLiving.LastTickPosY) * (double)par6;
            Field_1220_n = par4EntityLiving.LastTickPosZ + (par4EntityLiving.PosZ - par4EntityLiving.LastTickPosZ) * (double)par6;
        }
Exemple #2
0
        /// <summary>
        /// Renders the item's icon or block into the UI at the specified position.
        /// </summary>
        public virtual void RenderItemIntoGUI(FontRenderer par1FontRenderer, RenderEngineOld par2RenderEngine, ItemStack par3ItemStack, int par4, int par5)
        {
            if (par3ItemStack == null)
            {
                return;
            }

            DrawItemIntoGui(par1FontRenderer, par2RenderEngine, par3ItemStack.ItemID, par3ItemStack.GetItemDamage(), par3ItemStack.GetIconIndex(), par4, par5);

            if (par3ItemStack != null && par3ItemStack.HasEffect())
            {
                //GL.DepthFunc(DepthFunction.Greater);
                //GL.Disable(EnableCap.Lighting);
                //GL.DepthMask(false);
                par2RenderEngine.BindTexture(par2RenderEngine.GetTexture("%blur%/misc/glint.png"));
                ZLevel -= 50F;
                //GL.Enable(EnableCap.Blend);
                //GL.BlendFunc(BlendingFactorSrc.DstColor, BlendingFactorDest.DstColor);
                //GL.Color4(0.5F, 0.25F, 0.8F, 1.0F);
                Func_40266_a(par4 * 0x19b4ca14 + par5 * 0x1eafff1, par4 - 2, par5 - 2, 20, 20);
                //GL.Disable(EnableCap.Blend);
                //GL.DepthMask(true);
                ZLevel += 50F;
                //GL.Enable(EnableCap.Lighting);
                //GL.DepthFunc(DepthFunction.Lequal);
            }
        }
Exemple #3
0
        protected void Func_27110_k()
        {
            int i = (Width - AchievementsPaneWidth) / 2;
            int j = (Height - AchievementsPaneHeight) / 2;

            FontRenderer.DrawString("Achievements", i + 15, j + 5, 0x404040);
        }
        /// <summary>
        /// Used to render a player's name above their head
        /// </summary>
        protected virtual void RenderName(EntityPlayer par1EntityPlayer, double par2, double par4, double par6)
        {
            if (Minecraft.IsGuiEnabled() && par1EntityPlayer != RenderManager.LivingPlayer)
            {
                float f  = 1.6F;
                float f1 = 0.01666667F * f;
                float f2 = par1EntityPlayer.GetDistanceToEntity(RenderManager.LivingPlayer);
                float f3 = par1EntityPlayer.IsSneaking() ? 32F : 64F;

                if (f2 < f3)
                {
                    string s = par1EntityPlayer.Username;

                    if (!par1EntityPlayer.IsSneaking())
                    {
                        if (par1EntityPlayer.IsPlayerSleeping())
                        {
                            RenderLivingLabel(par1EntityPlayer, s, par2, par4 - 1.5D, par6, 64);
                        }
                        else
                        {
                            RenderLivingLabel(par1EntityPlayer, s, par2, par4, par6, 64);
                        }
                    }
                    else
                    {
                        FontRenderer fontrenderer = GetFontRendererFromRenderManager();
                        //GL.PushMatrix();
                        //GL.Translate((float)par2 + 0.0F, (float)par4 + 2.3F, (float)par6);
                        //GL.Normal3(0.0F, 1.0F, 0.0F);
                        //GL.Rotate(-RenderManager.PlayerViewY, 0.0F, 1.0F, 0.0F);
                        //GL.Rotate(RenderManager.PlayerViewX, 1.0F, 0.0F, 0.0F);
                        //GL.Scale(-f1, -f1, f1);
                        //GL.Disable(EnableCap.Lighting);
                        //GL.Translate(0.0F, 0.25F / f1, 0.0F);
                        //GL.DepthMask(false);
                        //GL.Enable(EnableCap.Blend);
                        //GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
                        Tessellator tessellator = Tessellator.Instance;
                        //GL.Disable(EnableCap.Texture2D);
                        tessellator.StartDrawingQuads();
                        int i = fontrenderer.GetStringWidth(s) / 2;
                        tessellator.SetColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F);
                        tessellator.AddVertex(-i - 1, -1D, 0.0F);
                        tessellator.AddVertex(-i - 1, 8D, 0.0F);
                        tessellator.AddVertex(i + 1, 8D, 0.0F);
                        tessellator.AddVertex(i + 1, -1D, 0.0F);
                        tessellator.Draw();
                        //GL.Enable(EnableCap.Texture2D);
                        //GL.DepthMask(true);
                        fontrenderer.DrawString(s, -fontrenderer.GetStringWidth(s) / 2, 0, 0x20ffffff);
                        //GL.Enable(EnableCap.Lighting);
                        //GL.Disable(EnableCap.Blend);
                        //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
                        //GL.PopMatrix();
                    }
                }
            }
        }
 /// <summary>
 /// Causes the screen to lay out its subcomponents again. This is the equivalent of the Java call
 /// Container.validate()
 /// </summary>
 public virtual void SetWorldAndResolution(Minecraft par1Minecraft, int par2, int par3)
 {
     GuiParticles = new GuiParticle(par1Minecraft);
     Mc           = par1Minecraft;
     FontRenderer = par1Minecraft.FontRenderer;
     Width        = par2;
     Height       = par3;
     ControlList.Clear();
     InitGui();
 }
        /// <summary>
        /// Displays debuff/potion effects that are currently being applied to the player
        /// </summary>
        private void DisplayDebuffEffects()
        {
            int i = GuiLeft - 124;
            int j = GuiTop;
            int k = Mc.RenderEngineOld.GetTexture("/gui/inventory.png");
            ICollection <PotionEffect> collection = Mc.ThePlayer.GetActivePotionEffects();

            if (collection.Count == 0)
            {
                return;
            }

            int l = 33;

            if (collection.Count > 5)
            {
                l = 132 / (collection.Count - 1);
            }

            for (IEnumerator <PotionEffect> iterator = Mc.ThePlayer.GetActivePotionEffects().GetEnumerator(); iterator.MoveNext();)
            {
                PotionEffect potioneffect = iterator.Current;
                Potion       potion       = Potion.PotionTypes[potioneffect.GetPotionID()];
                //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
                Mc.RenderEngineOld.BindTexture(k);
                DrawTexturedModalRect(i, j, 0, YSize, 140, 32);

                if (potion.HasStatusIcon())
                {
                    int i1 = potion.GetStatusIconIndex();
                    DrawTexturedModalRect(i + 6, j + 7, 0 + (i1 % 8) * 18, YSize + 32 + (i1 / 8) * 18, 18, 18);
                }

                string s = StatCollector.TranslateToLocal(potion.GetName());

                if (potioneffect.GetAmplifier() == 1)
                {
                    s = (new StringBuilder()).Append(s).Append(" II").ToString();
                }
                else if (potioneffect.GetAmplifier() == 2)
                {
                    s = (new StringBuilder()).Append(s).Append(" III").ToString();
                }
                else if (potioneffect.GetAmplifier() == 3)
                {
                    s = (new StringBuilder()).Append(s).Append(" IV").ToString();
                }

                FontRenderer.DrawStringWithShadow(s, i + 10 + 18, j + 6, 0xffffff);
                string s1 = Potion.GetDurationString(potioneffect);
                FontRenderer.DrawStringWithShadow(s1, i + 10 + 18, j + 6 + 10, 0x7f7f7f);
                j += l;
            }
        }
Exemple #7
0
        /// <summary>
        /// Draws the debug or playername text above a living
        /// </summary>
        protected virtual void RenderLivingLabel(EntityLiving par1EntityLiving, string par2Str, double par3, double par5, double par7, int par9)
        {
            float f = par1EntityLiving.GetDistanceToEntity(RenderManager.LivingPlayer);

            if (f > (float)par9)
            {
                return;
            }

            FontRenderer fontrenderer = GetFontRendererFromRenderManager();
            float        f1           = 1.6F;
            float        f2           = 0.01666667F * f1;
            //GL.PushMatrix();
            //GL.Translate((float)par3 + 0.0F, (float)par5 + 2.3F, (float)par7);
            //GL.Normal3(0.0F, 1.0F, 0.0F);
            //GL.Rotate(-RenderManager.PlayerViewY, 0.0F, 1.0F, 0.0F);
            //GL.Rotate(RenderManager.PlayerViewX, 1.0F, 0.0F, 0.0F);
            //GL.Scale(-f2, -f2, f2);
            //GL.Disable(EnableCap.Lighting);
            //GL.DepthMask(false);
            //GL.Disable(EnableCap.DepthTest);
            //GL.Enable(EnableCap.Blend);
            //GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
            Tessellator tessellator = Tessellator.Instance;
            sbyte       byte0       = 0;

            if (par2Str.Equals("deadmau5"))
            {
                byte0 = -10;
            }

            //GL.Disable(EnableCap.Texture2D);
            tessellator.StartDrawingQuads();
            int i = fontrenderer.GetStringWidth(par2Str) / 2;

            tessellator.SetColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F);
            tessellator.AddVertex(-i - 1, -1 + byte0, 0.0F);
            tessellator.AddVertex(-i - 1, 8 + byte0, 0.0F);
            tessellator.AddVertex(i + 1, 8 + byte0, 0.0F);
            tessellator.AddVertex(i + 1, -1 + byte0, 0.0F);
            tessellator.Draw();
            //GL.Enable(EnableCap.Texture2D);
            fontrenderer.DrawString(par2Str, -fontrenderer.GetStringWidth(par2Str) / 2, byte0, 0x20ffffff);
            //GL.Enable(EnableCap.DepthTest);
            //GL.DepthMask(true);
            fontrenderer.DrawString(par2Str, -fontrenderer.GetStringWidth(par2Str) / 2, byte0, -1);
            //GL.Enable(EnableCap.Lighting);
            //GL.Disable(EnableCap.Blend);
            //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
            //GL.PopMatrix();
        }
 protected void Func_35325_a(string par1Str, int par2, int par3)
 {
     if (par1Str == null)
     {
         return;
     }
     else
     {
         int i = par2 + 12;
         int j = par3 - 12;
         int k = FontRenderer.GetStringWidth(par1Str);
         DrawGradientRect(i - 3, j - 3, i + k + 3, j + 8 + 3, 0xc000000, 0xc000000);
         FontRenderer.DrawStringWithShadow(par1Str, i, j, -1);
         return;
     }
 }
Exemple #9
0
        /// <summary>
        /// Caches several render-related references, including the active World, RenderEngine, FontRenderer, and the camera-
        /// bound EntityLiving's interpolated pitch, yaw and position. Args: world, renderengine, fontrenderer, entityliving,
        /// partialTickTime
        /// </summary>
        public virtual void CacheActiveRenderInfo(World par1World, RenderEngine par2RenderEngine, FontRenderer par3FontRenderer, EntityLiving par4EntityLiving, float par5)
        {
            if (WorldObj != par1World)
            {
                CacheSpecialRenderInfo(par1World);
            }

            RenderEngine       = par2RenderEngine;
            EntityLivingPlayer = par4EntityLiving;
            FontRenderer       = par3FontRenderer;
            PlayerYaw          = par4EntityLiving.PrevRotationYaw + (par4EntityLiving.RotationYaw - par4EntityLiving.PrevRotationYaw) * par5;
            PlayerPitch        = par4EntityLiving.PrevRotationPitch + (par4EntityLiving.RotationPitch - par4EntityLiving.PrevRotationPitch) * par5;
            PlayerX            = par4EntityLiving.LastTickPosX + (par4EntityLiving.PosX - par4EntityLiving.LastTickPosX) * (double)par5;
            PlayerY            = par4EntityLiving.LastTickPosY + (par4EntityLiving.PosY - par4EntityLiving.LastTickPosY) * (double)par5;
            PlayerZ            = par4EntityLiving.LastTickPosZ + (par4EntityLiving.PosZ - par4EntityLiving.LastTickPosZ) * (double)par5;
        }
        /// <summary>
        /// Draws the screen and all the components in it.
        /// </summary>
        public override void DrawScreen(int par1, int par2, float par3)
        {
            RenderSkybox(par1, par2, par3);
            Tessellator tessellator = Tessellator.Instance;
            int         c           = 274;
            int         i           = Width / 2 - c / 2;
            sbyte       byte0       = 30;

            DrawGradientRect(0, 0, Width, Height, 0x80fffff, 0xffffff);
            DrawGradientRect(0, 0, Width, Height, 0, 0x8000000);
            //GL.BindTexture(TextureTarget.Texture2D, Mc.RenderEngineOld.GetTexture("title.mclogo.png"));
            RenderEngine.Instance.BindTexture("title.mclogo.png");
            //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);

            if ((double)UpdateCounter < 0.0001D)
            {
                DrawTexturedModalRect(i + 0, byte0 + 0, 0, 0, 99, 44);
                DrawTexturedModalRect(i + 99, byte0 + 0, 129, 0, 27, 44);
                DrawTexturedModalRect(i + 99 + 26, byte0 + 0, 126, 0, 3, 44);
                DrawTexturedModalRect(i + 99 + 26 + 3, byte0 + 0, 99, 0, 26, 44);
                DrawTexturedModalRect(i + 155, byte0 + 0, 0, 45, 155, 44);
            }
            else
            {
                DrawTexturedModalRect(i + 0, byte0 + 0, 0, 0, 155, 44);
                DrawTexturedModalRect(i + 155, byte0 + 0, 0, 45, 155, 44);
            }

            /*
             *          tessellator.SetColorOpaque_I(0xffffff);
             *          GL.PushMatrix();
             *          GL.Translate(Width / 2 + 90, 70F, 0.0F);
             *          GL.Rotate(-20F, 0.0F, 0.0F, 1.0F);*/
            float f = 1.8F - MathHelper2.Abs(MathHelper2.Sin(((float)(JavaHelper.CurrentTimeMillis() % 1000L) / 1000F) * (float)Math.PI * 2.0F) * 0.1F);

            f = (f * 100F) / (float)(FontRenderer.GetStringWidth(SplashText) + 32);
            //GL.Scale(f, f, f);
            DrawCenteredString(FontRenderer, SplashText, 300, 80, 0xffff00);
            //GL.PopMatrix();
            DrawString(FontRenderer, Minecraft.GetMinecraftTitle(), 2, Height - FontRenderer.FontHeight, 0xffffff);
            string s = "Copyright Mojang AB. Do not distribute!";

            DrawString(FontRenderer, s, Width - (int)FontRenderer.GetStringWidth(s) - 2, Height - FontRenderer.FontHeight, 0xffffff);
            base.DrawScreen(par1, par2, par3);
        }
Exemple #11
0
 public GuiTextField(FontRenderer par1FontRenderer, int par2, int par3, int par4, int par5)
 {
     Text            = "";
     MaxStringLength = 32;
     Field_50044_j   = true;
     Field_50045_k   = true;
     IsFocused       = false;
     Field_50043_m   = true;
     Field_50041_n   = 0;
     Field_50042_o   = 0;
     Field_50048_p   = 0;
     Field_50047_q   = 0xe0e0e0;
     Field_50046_r   = 0x707070;
     FontRenderer    = par1FontRenderer;
     XPos            = par2;
     YPos            = par3;
     Width           = par4;
     Height          = par5;
 }
        /// <summary>
        /// Draws this button to the screen.
        /// </summary>
        public virtual void DrawButton(Minecraft par1Minecraft, int mouseX, int mouseY)
        {
            if (!ShowButton)
            {
                return;
            }

            FontRenderer fontrenderer = par1Minecraft.FontRenderer;

            //GL.BindTexture(TextureTarget.Texture2D, par1Minecraft.RenderEngineOld.GetTexture("/gui/gui.png"));
            par1Minecraft.RenderEngine.BindTexture("gui.gui.png");
            //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);

            bool flag =
                mouseX >= XPosition && mouseX < XPosition + Width &&
                mouseY >= YPosition && mouseY < YPosition + Height;

            int i = GetHoverState(flag);

            DrawTexturedModalRect(XPosition, YPosition, 0, 46 + i * 20, Width / 2, Height);
            DrawTexturedModalRect(XPosition + Width / 2, YPosition, 200 - Width / 2, 46 + i * 20, Width / 2, Height);

            MouseDragged(par1Minecraft, mouseX, mouseY);

            int j = 0xe0e0e0;

            if (!Enabled)
            {
                j = 0xffa0a0a;
            }
            else if (flag)
            {
                j = 0xffffa0;
            }

            DrawCenteredString(fontrenderer, DisplayString, XPosition + Width / 2, YPosition + (Height - 8) / 2, j);
        }
Exemple #13
0
        /// <summary>
        /// Renders the item's overlay information. Examples being stack count or damage on top of the item's image at the
        /// specified position.
        /// </summary>
        public virtual void RenderItemOverlayIntoGUI(FontRenderer par1FontRenderer, RenderEngineOld par2RenderEngine, ItemStack par3ItemStack, int par4, int par5)
        {
            if (par3ItemStack == null)
            {
                return;
            }

            if (par3ItemStack.StackSize > 1)
            {
                string s = (new StringBuilder()).Append("").Append(par3ItemStack.StackSize).ToString();
                //GL.Disable(EnableCap.Lighting);
                //GL.Disable(EnableCap.DepthTest);
                par1FontRenderer.DrawStringWithShadow(s, (par4 + 19) - 2 - (int)par1FontRenderer.GetStringWidth(s), par5 + 6 + 3, 0xffffff);
                //GL.Enable(EnableCap.Lighting);
                //GL.Enable(EnableCap.DepthTest);
            }

            if (par3ItemStack.IsItemDamaged())
            {
                int i = (int)Math.Round(13D - ((double)par3ItemStack.GetItemDamageForDisplay() * 13D) / (double)par3ItemStack.GetMaxDamage());
                int j = (int)Math.Round(255D - ((double)par3ItemStack.GetItemDamageForDisplay() * 255D) / (double)par3ItemStack.GetMaxDamage());
                //GL.Disable(EnableCap.Lighting);
                //GL.Disable(EnableCap.DepthTest);
                //GL.Disable(EnableCap.Texture2D);
                Tessellator tessellator = Tessellator.Instance;
                int         k           = 255 - j << 16 | j << 8;
                int         l           = (255 - j) / 4 << 16 | 0x3f00;
                RenderQuad(tessellator, par4 + 2, par5 + 13, 13, 2, 0);
                RenderQuad(tessellator, par4 + 2, par5 + 13, 12, 1, l);
                RenderQuad(tessellator, par4 + 2, par5 + 13, i, 1, k);
                //GL.Enable(EnableCap.Texture2D);
                //GL.Enable(EnableCap.Lighting);
                //GL.Enable(EnableCap.DepthTest);
                //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
            }
        }
Exemple #14
0
 /// <summary>
 /// Draw the foreground layer for the GuiContainer (everythin in front of the items)
 /// </summary>
 protected override void DrawGuiContainerForegroundLayer()
 {
     FontRenderer.DrawString(StatCollector.TranslateToLocal("container.creative"), 8, 6, 0x404040);
 }
        /// <summary>
        /// Draws the screen and all the components in it.
        /// </summary>
        public override void DrawScreen(int par1, int par2, float par3)
        {
            DrawDefaultBackground();
            int i = GuiLeft;
            int j = GuiTop;

            DrawGuiContainerBackgroundLayer(par3, par1, par2);
            RenderHelper.EnableGUIStandardItemLighting();
            //GL.PushMatrix();
            //GL.Translate(i, j, 0.0F);
            //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
            //GL.Enable(EnableCap.RescaleNormal);
            Slot slot = null;
            int  k    = 240;
            int  i1   = 240;

            OpenGlHelper.SetLightmapTextureCoords(OpenGlHelper.LightmapTexUnit, (float)k / 1.0F, (float)i1 / 1.0F);
            //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);

            for (int l = 0; l < InventorySlots.InventorySlots.Count; l++)
            {
                Slot slot1 = (Slot)InventorySlots.InventorySlots[l];
                DrawSlotInventory(slot1);

                if (IsMouseOverSlot(slot1, par1, par2))
                {
                    slot = slot1;
                    //GL.Disable(EnableCap.Lighting);
                    //GL.Disable(EnableCap.DepthTest);
                    int j1 = slot1.XDisplayPosition;
                    int k1 = slot1.YDisplayPosition;
                    DrawGradientRect(j1, k1, j1 + 16, k1 + 16, 0x80fffff, 0x80fffff);
                    //GL.Enable(EnableCap.Lighting);
                    //GL.Enable(EnableCap.DepthTest);
                }
            }

            DrawGuiContainerForegroundLayer();
            InventoryPlayer inventoryplayer = Mc.ThePlayer.Inventory;

            if (inventoryplayer.GetItemStack() != null)
            {
                //GL.Translate(0.0F, 0.0F, 32F);
                ZLevel = 200F;
                ItemRenderer.ZLevel = 200F;
                ItemRenderer.RenderItemIntoGUI(FontRenderer, Mc.RenderEngineOld, inventoryplayer.GetItemStack(), par1 - i - 8, par2 - j - 8);
                ItemRenderer.RenderItemOverlayIntoGUI(FontRenderer, Mc.RenderEngineOld, inventoryplayer.GetItemStack(), par1 - i - 8, par2 - j - 8);
                ZLevel = 0.0F;
                ItemRenderer.ZLevel = 0.0F;
            }

            //GL.Disable(EnableCap.RescaleNormal);
            RenderHelper.DisableStandardItemLighting();
            //GL.Disable(EnableCap.Lighting);
            //GL.Disable(EnableCap.DepthTest);

            if (inventoryplayer.GetItemStack() == null && slot != null && slot.GetHasStack())
            {
                ItemStack     itemstack = slot.GetStack();
                List <string> list      = itemstack.GetItemNameandInformation();

                if (list.Count > 0)
                {
                    int l1 = 0;

                    for (int i2 = 0; i2 < list.Count; i2++)
                    {
                        int k2 = FontRenderer.GetStringWidth(list[i2]);

                        if (k2 > l1)
                        {
                            l1 = k2;
                        }
                    }

                    int j2 = (par1 - i) + 12;
                    int l2 = par2 - j - 12;
                    int i3 = l1;
                    int j3 = 8;

                    if (list.Count > 1)
                    {
                        j3 += 2 + (list.Count - 1) * 10;
                    }

                    ZLevel = 300F;
                    ItemRenderer.ZLevel = 300F;
                    int k3 = 0xf010001;
                    DrawGradientRect(j2 - 3, l2 - 4, j2 + i3 + 3, l2 - 3, k3, k3);
                    DrawGradientRect(j2 - 3, l2 + j3 + 3, j2 + i3 + 3, l2 + j3 + 4, k3, k3);
                    DrawGradientRect(j2 - 3, l2 - 3, j2 + i3 + 3, l2 + j3 + 3, k3, k3);
                    DrawGradientRect(j2 - 4, l2 - 3, j2 - 3, l2 + j3 + 3, k3, k3);
                    DrawGradientRect(j2 + i3 + 3, l2 - 3, j2 + i3 + 4, l2 + j3 + 3, k3, k3);
                    int l3 = 0x505000ff;
                    int i4 = (l3 & 0xfefefe) >> 1 | l3 & 0xff00000;
                    DrawGradientRect(j2 - 3, (l2 - 3) + 1, (j2 - 3) + 1, (l2 + j3 + 3) - 1, l3, i4);
                    DrawGradientRect(j2 + i3 + 2, (l2 - 3) + 1, j2 + i3 + 3, (l2 + j3 + 3) - 1, l3, i4);
                    DrawGradientRect(j2 - 3, l2 - 3, j2 + i3 + 3, (l2 - 3) + 1, l3, l3);
                    DrawGradientRect(j2 - 3, l2 + j3 + 2, j2 + i3 + 3, l2 + j3 + 3, i4, i4);

                    for (int j4 = 0; j4 < list.Count; j4++)
                    {
                        string s = list[j4];

                        if (j4 == 0)
                        {
                            //s = (new StringBuilder()).Append((char)0xa7).Append(int.ToHexString(itemstack.GetRarity().NameColor)).Append(s).ToString();
                        }
                        else
                        {
                            s = (new StringBuilder()).Append((char)0xa7).Append(s).ToString();
                        }

                        FontRenderer.DrawStringWithShadow(s, j2, l2, -1);

                        if (j4 == 0)
                        {
                            l2 += 2;
                        }

                        l2 += 10;
                    }

                    ZLevel = 0.0F;
                    ItemRenderer.ZLevel = 0.0F;
                }
            }

            //GL.PopMatrix();
            base.DrawScreen(par1, par2, par3);
            //GL.Enable(EnableCap.Lighting);
            //GL.Enable(EnableCap.DepthTest);
        }
Exemple #16
0
        /// <summary>
        /// Draws the screen and all the components in it.
        /// </summary>
        public override void DrawScreen(int par1, int par2, float par3)
        {
            Func_41040_b(par1, par2, par3);
            Tessellator tessellator = Tessellator.Instance;
            int         c           = 274;
            int         i           = Width / 2 - c / 2;
            int         j           = Height + 50;
            float       f           = -((float)UpdateCounter + par3) * Field_41043_e;

            //GL.PushMatrix();
            //GL.Translate(0.0F, f, 0.0F);
            //GL.BindTexture(TextureTarget.Texture2D, Mc.RenderEngineOld.GetTexture("/title/mclogo.png"));
            //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
            DrawTexturedModalRect(i, j, 0, 0, 155, 44);
            DrawTexturedModalRect(i + 155, j, 0, 45, 155, 44);
            tessellator.SetColorOpaque_I(0xffffff);
            int k = j + 200;

            for (int l = 0; l < Lines.Count; l++)
            {
                if (l == Lines.Count - 1)
                {
                    float f1 = ((float)k + f) - (float)(Height / 2 - 6);

                    if (f1 < 0.0F)
                    {
                        //GL.Translate(0.0F, -f1, 0.0F);
                    }
                }

                if ((float)k + f + 12F + 8F > 0.0F && (float)k + f < (float)Height)
                {
                    string s = (string)Lines[l];

                    if (s.StartsWith("[C]"))
                    {
                        FontRenderer.DrawStringWithShadow(s.Substring(3), i + (c - (int)FontRenderer.GetStringWidth(s.Substring(3))) / 2, k, 0xffffff);
                    }
                    else
                    {
                        FontRenderer.FontRandom.SetSeed((int)l * (int)0xfca9953 + (UpdateCounter / 4));
                        FontRenderer.Func_50101_a(s, i + 1, k + 1, 0xffffff, true);
                        FontRenderer.FontRandom.SetSeed((int)l * (int)0xfca9953 + (UpdateCounter / 4));
                        FontRenderer.Func_50101_a(s, i, k, 0xffffff, false);
                    }
                }

                k += 12;
            }

            //GL.PopMatrix();
            //GL.BindTexture(TextureTarget.Texture2D, Mc.RenderEngineOld.GetTexture("%blur%/misc/vignette.png"));
            //GL.Enable(EnableCap.Blend);
            //GL.BlendFunc(BlendingFactorSrc.Zero, BlendingFactorDest.OneMinusSrcColor);
            tessellator.StartDrawingQuads();
            tessellator.SetColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F);
            int i1 = Width;
            int j1 = Height;

            tessellator.AddVertexWithUV(0.0F, j1, ZLevel, 0.0F, 1.0D);
            tessellator.AddVertexWithUV(i1, j1, ZLevel, 1.0D, 1.0D);
            tessellator.AddVertexWithUV(i1, 0.0F, ZLevel, 1.0D, 0.0F);
            tessellator.AddVertexWithUV(0.0F, 0.0F, ZLevel, 0.0F, 0.0F);
            tessellator.Draw();
            //GL.Disable(EnableCap.Blend);
            base.DrawScreen(par1, par2, par3);
        }
Exemple #17
0
        public virtual void RenderTileEntitySignAt(TileEntitySign par1TileEntitySign, double par2, double par4, double par6, float par8)
        {
            Block block = par1TileEntitySign.GetBlockType();
            //GL.PushMatrix();
            float f = 0.6666667F;

            if (block == Block.SignPost)
            {
                //GL.Translate((float)par2 + 0.5F, (float)par4 + 0.75F * f, (float)par6 + 0.5F);
                float f1 = (float)(par1TileEntitySign.GetBlockMetadata() * 360) / 16F;
                //GL.Rotate(-f1, 0.0F, 1.0F, 0.0F);
                ModelSign.SignStick.ShowModel = true;
            }
            else
            {
                int   i  = par1TileEntitySign.GetBlockMetadata();
                float f2 = 0.0F;

                if (i == 2)
                {
                    f2 = 180F;
                }

                if (i == 4)
                {
                    f2 = 90F;
                }

                if (i == 5)
                {
                    f2 = -90F;
                }

                //GL.Translate((float)par2 + 0.5F, (float)par4 + 0.75F * f, (float)par6 + 0.5F);
                //GL.Rotate(-f2, 0.0F, 1.0F, 0.0F);
                //GL.Translate(0.0F, -0.3125F, -0.4375F);
                ModelSign.SignStick.ShowModel = false;
            }

            BindTextureByName("/item/sign.png");
            //GL.PushMatrix();
            //GL.Scale(f, -f, -f);
            ModelSign.RenderSign();
            //GL.PopMatrix();
            FontRenderer fontrenderer = GetFontRenderer();
            float        f3           = 0.01666667F * f;
            //GL.Translate(0.0F, 0.5F * f, 0.07F * f);
            //GL.Scale(f3, -f3, f3);
            //GL.Normal3(0.0F, 0.0F, -1F * f3);
            //GL.DepthMask(false);
            int j = 0;

            for (int k = 0; k < par1TileEntitySign.SignText.Length; k++)
            {
                string s = par1TileEntitySign.SignText[k];

                if (k == par1TileEntitySign.LineBeingEdited)
                {
                    s = (new StringBuilder()).Append("> ").Append(s).Append(" <").ToString();
                    fontrenderer.DrawString(s, -fontrenderer.GetStringWidth(s) / 2, k * 10 - par1TileEntitySign.SignText.Length * 5, j);
                }
                else
                {
                    fontrenderer.DrawString(s, -fontrenderer.GetStringWidth(s) / 2, k * 10 - par1TileEntitySign.SignText.Length * 5, j);
                }
            }

            //GL.DepthMask(true);
            //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
            //GL.PopMatrix();
        }
 /// <summary>
 /// Renders the specified text to the screen, center-aligned.
 /// </summary>
 public virtual void DrawCenteredString(FontRenderer par1FontRenderer, string par2Str, int par3, int par4, int par5)
 {
     par1FontRenderer.DrawStringWithShadow(par2Str, par3 - (int)(par1FontRenderer.GetStringWidth(par2Str) / 2), par4, par5);
 }
Exemple #19
0
        public virtual void DrawItemIntoGui(FontRenderer par1FontRenderer, RenderEngineOld par2RenderEngine, int par3, int par4, int par5, int par6, int par7)
        {
            if (par3 < 256 && RenderBlocks.RenderItemIn3d(Block.BlocksList[par3].GetRenderType()))
            {
                int i = par3;
                par2RenderEngine.BindTexture(par2RenderEngine.GetTexture("/terrain.png"));
                Block block = Block.BlocksList[i];
                //GL.PushMatrix();
                //GL.Translate(par6 - 2, par7 + 3, -3F + ZLevel);
                //GL.Scale(10F, 10F, 10F);
                //GL.Translate(1.0F, 0.5F, 1.0F);
                //GL.Scale(1.0F, 1.0F, -1F);
                //GL.Rotate(210F, 1.0F, 0.0F, 0.0F);
                //GL.Rotate(45F, 0.0F, 1.0F, 0.0F);
                int   i1 = Item.ItemsList[par3].GetColorFromDamage(par4, 0);
                float f2 = (float)(i1 >> 16 & 0xff) / 255F;
                float f5 = (float)(i1 >> 8 & 0xff) / 255F;
                float f7 = (float)(i1 & 0xff) / 255F;

                if (Field_27004_a)
                {
                    //GL.Color4(f2, f5, f7, 1.0F);
                }

                //GL.Rotate(-90F, 0.0F, 1.0F, 0.0F);
                RenderBlocks.UseInventoryTint = Field_27004_a;
                RenderBlocks.RenderBlockAsItem(block, par4, 1.0F);
                RenderBlocks.UseInventoryTint = true;
                //GL.PopMatrix();
            }
            else if (Item.ItemsList[par3].Func_46058_c())
            {
                //GL.Disable(EnableCap.Lighting);
                par2RenderEngine.BindTexture(par2RenderEngine.GetTexture("/gui/items.png"));

                for (int j = 0; j <= 1; j++)
                {
                    int   l  = Item.ItemsList[par3].Func_46057_a(par4, j);
                    int   j1 = Item.ItemsList[par3].GetColorFromDamage(par4, j);
                    float f3 = (float)(j1 >> 16 & 0xff) / 255F;
                    float f6 = (float)(j1 >> 8 & 0xff) / 255F;
                    float f8 = (float)(j1 & 0xff) / 255F;

                    if (Field_27004_a)
                    {
                        //GL.Color4(f3, f6, f8, 1.0F);
                    }

                    RenderTexturedQuad(par6, par7, (l % 16) * 16, (l / 16) * 16, 16, 16);
                }

                //GL.Enable(EnableCap.Lighting);
            }
            else if (par5 >= 0)
            {
                //GL.Disable(EnableCap.Lighting);

                if (par3 < 256)
                {
                    par2RenderEngine.BindTexture(par2RenderEngine.GetTexture("/terrain.png"));
                }
                else
                {
                    par2RenderEngine.BindTexture(par2RenderEngine.GetTexture("/gui/items.png"));
                }

                int   k  = Item.ItemsList[par3].GetColorFromDamage(par4, 0);
                float f  = (float)(k >> 16 & 0xff) / 255F;
                float f1 = (float)(k >> 8 & 0xff) / 255F;
                float f4 = (float)(k & 0xff) / 255F;

                if (Field_27004_a)
                {
                    //GL.Color4(f, f1, f4, 1.0F);
                }

                RenderTexturedQuad(par6, par7, (par5 % 16) * 16, (par5 / 16) * 16, 16, 16);
                //GL.Enable(EnableCap.Lighting);
            }

            //GL.Enable(EnableCap.CullFace);
        }
Exemple #20
0
        /// <summary>
        /// Render the ingame overlay with quick icon bar, ...
        /// </summary>
        public virtual void RenderGameOverlay(float par1, bool par2, int par3, int par4)
        {
            ScaledResolution scaledresolution = new ScaledResolution(mc.GameSettings, mc.DisplayWidth, mc.DisplayHeight);
            int          i            = scaledresolution.GetScaledWidth();
            int          j            = scaledresolution.GetScaledHeight();
            FontRenderer fontrenderer = mc.FontRenderer;

            mc.EntityRenderer.SetupOverlayRendering();
            //GL.Enable(EnableCap.Blend);

            if (Minecraft.IsFancyGraphicsEnabled())
            {
                RenderVignette(mc.ThePlayer.GetBrightness(par1), i, j);
            }
            else
            {
                //GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
            }

            ItemStack itemstack = mc.ThePlayer.Inventory.ArmorItemInSlot(3);

            if (mc.GameSettings.ThirdPersonView == 0 && itemstack != null && itemstack.ItemID == Block.Pumpkin.BlockID)
            {
                RenderPumpkinBlur(i, j);
            }

            if (!mc.ThePlayer.IsPotionActive(Potion.Confusion))
            {
                float f = mc.ThePlayer.PrevTimeInPortal + (mc.ThePlayer.TimeInPortal - mc.ThePlayer.PrevTimeInPortal) * par1;

                if (f > 0.0F)
                {
                    RenderPortalOverlay(f, i, j);
                }
            }

            if (!mc.PlayerController.Func_35643_e())
            {
                //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
                //GL.BindTexture(TextureTarget.Texture2D, mc.RenderEngineOld.GetTexture("/gui/gui.png"));
                InventoryPlayer inventoryplayer = mc.ThePlayer.Inventory;
                ZLevel = -90F;
                DrawTexturedModalRect(i / 2 - 91, j - 22, 0, 0, 182, 22);
                DrawTexturedModalRect((i / 2 - 91 - 1) + inventoryplayer.CurrentItem * 20, j - 22 - 1, 0, 22, 24, 22);
                //GL.BindTexture(TextureTarget.Texture2D, mc.RenderEngineOld.GetTexture("/gui/icons.png"));
                //GL.Enable(EnableCap.Blend);
                //GL.BlendFunc(BlendingFactorSrc.OneMinusDstColor, BlendingFactorDest.OneMinusSrcColor);
                DrawTexturedModalRect(i / 2 - 7, j / 2 - 7, 0, 0, 16, 16);
                //GL.Disable(EnableCap.Blend);
                bool flag = (mc.ThePlayer.HeartsLife / 3) % 2 == 1;

                if (mc.ThePlayer.HeartsLife < 10)
                {
                    flag = false;
                }

                int i1 = mc.ThePlayer.GetHealth();
                int i2 = mc.ThePlayer.PrevHealth;
                rand.SetSeed(updateCounter * 0x4c627);
                bool      flag2     = false;
                FoodStats foodstats = mc.ThePlayer.GetFoodStats();
                int       j4        = foodstats.GetFoodLevel();
                int       l4        = foodstats.GetPrevFoodLevel();
                RenderBossHealth();

                if (mc.PlayerController.ShouldDrawHUD())
                {
                    int j5 = i / 2 - 91;
                    int i6 = i / 2 + 91;
                    int l6 = mc.ThePlayer.XpBarCap();

                    if (l6 > 0)
                    {
                        int c  = 0xb6;
                        int j8 = (int)(mc.ThePlayer.Experience * (float)(c + 1));
                        int i9 = (j - 32) + 3;
                        DrawTexturedModalRect(j5, i9, 0, 64, c, 5);

                        if (j8 > 0)
                        {
                            DrawTexturedModalRect(j5, i9, 0, 69, j8, 5);
                        }
                    }

                    int k7  = j - 39;
                    int k8  = k7 - 10;
                    int j9  = mc.ThePlayer.GetTotalArmorValue();
                    int i10 = -1;

                    if (mc.ThePlayer.IsPotionActive(Potion.Regeneration))
                    {
                        i10 = updateCounter % 25;
                    }

                    for (int j10 = 0; j10 < 10; j10++)
                    {
                        if (j9 > 0)
                        {
                            int i11 = j5 + j10 * 8;

                            if (j10 * 2 + 1 < j9)
                            {
                                DrawTexturedModalRect(i11, k8, 34, 9, 9, 9);
                            }

                            if (j10 * 2 + 1 == j9)
                            {
                                DrawTexturedModalRect(i11, k8, 25, 9, 9, 9);
                            }

                            if (j10 * 2 + 1 > j9)
                            {
                                DrawTexturedModalRect(i11, k8, 16, 9, 9, 9);
                            }
                        }

                        int j11 = 16;

                        if (mc.ThePlayer.IsPotionActive(Potion.Poison))
                        {
                            j11 += 36;
                        }

                        int i12 = 0;

                        if (flag)
                        {
                            i12 = 1;
                        }

                        int l12 = j5 + j10 * 8;
                        int j13 = k7;

                        if (i1 <= 4)
                        {
                            j13 += rand.Next(2);
                        }

                        if (j10 == i10)
                        {
                            j13 -= 2;
                        }

                        byte byte3 = 0;

                        if (mc.TheWorld.GetWorldInfo().IsHardcoreModeEnabled())
                        {
                            byte3 = 5;
                        }

                        DrawTexturedModalRect(l12, j13, 16 + i12 * 9, 9 * byte3, 9, 9);

                        if (flag)
                        {
                            if (j10 * 2 + 1 < i2)
                            {
                                DrawTexturedModalRect(l12, j13, j11 + 54, 9 * byte3, 9, 9);
                            }

                            if (j10 * 2 + 1 == i2)
                            {
                                DrawTexturedModalRect(l12, j13, j11 + 63, 9 * byte3, 9, 9);
                            }
                        }

                        if (j10 * 2 + 1 < i1)
                        {
                            DrawTexturedModalRect(l12, j13, j11 + 36, 9 * byte3, 9, 9);
                        }

                        if (j10 * 2 + 1 == i1)
                        {
                            DrawTexturedModalRect(l12, j13, j11 + 45, 9 * byte3, 9, 9);
                        }
                    }

                    for (int k10 = 0; k10 < 10; k10++)
                    {
                        int  k11   = k7;
                        int  j12   = 16;
                        byte byte2 = 0;

                        if (mc.ThePlayer.IsPotionActive(Potion.Hunger))
                        {
                            j12  += 36;
                            byte2 = 13;
                        }

                        if (mc.ThePlayer.GetFoodStats().GetSaturationLevel() <= 0.0F && updateCounter % (j4 * 3 + 1) == 0)
                        {
                            k11 += rand.Next(3) - 1;
                        }

                        if (flag2)
                        {
                            byte2 = 1;
                        }

                        int k13 = i6 - k10 * 8 - 9;
                        DrawTexturedModalRect(k13, k11, 16 + byte2 * 9, 27, 9, 9);

                        if (flag2)
                        {
                            if (k10 * 2 + 1 < l4)
                            {
                                DrawTexturedModalRect(k13, k11, j12 + 54, 27, 9, 9);
                            }

                            if (k10 * 2 + 1 == l4)
                            {
                                DrawTexturedModalRect(k13, k11, j12 + 63, 27, 9, 9);
                            }
                        }

                        if (k10 * 2 + 1 < j4)
                        {
                            DrawTexturedModalRect(k13, k11, j12 + 36, 27, 9, 9);
                        }

                        if (k10 * 2 + 1 == j4)
                        {
                            DrawTexturedModalRect(k13, k11, j12 + 45, 27, 9, 9);
                        }
                    }

                    if (mc.ThePlayer.IsInsideOfMaterial(Material.Water))
                    {
                        int l10 = mc.ThePlayer.GetAir();
                        int l11 = (int)Math.Ceiling(((double)(l10 - 2) * 10D) / 300D);
                        int k12 = (int)Math.Ceiling(((double)l10 * 10D) / 300D) - l11;

                        for (int i13 = 0; i13 < l11 + k12; i13++)
                        {
                            if (i13 < l11)
                            {
                                DrawTexturedModalRect(i6 - i13 * 8 - 9, k8, 16, 18, 9, 9);
                            }
                            else
                            {
                                DrawTexturedModalRect(i6 - i13 * 8 - 9, k8, 25, 18, 9, 9);
                            }
                        }
                    }
                }

                //GL.Disable(EnableCap.Blend);
                //GL.Enable(EnableCap.RescaleNormal);
                RenderHelper.EnableGUIStandardItemLighting();

                for (int k5 = 0; k5 < 9; k5++)
                {
                    int j6 = (i / 2 - 90) + k5 * 20 + 2;
                    int i7 = j - 16 - 3;
                    RenderInventorySlot(k5, j6, i7, par1);
                }

                RenderHelper.DisableStandardItemLighting();
                //GL.Disable(EnableCap.RescaleNormal);
            }

            if (mc.ThePlayer.GetSleepTimer() > 0)
            {
                //GL.Disable(EnableCap.DepthTest);
                //GL.Disable(EnableCap.AlphaTest);
                int   k  = mc.ThePlayer.GetSleepTimer();
                float f1 = (float)k / 100F;

                if (f1 > 1.0F)
                {
                    f1 = 1.0F - (float)(k - 100) / 10F;
                }

                int j1 = (int)(220F * f1) << 24 | 0x101020;
                DrawRect(0, 0, i, j, j1);
                //GL.Enable(EnableCap.AlphaTest);
                //GL.Enable(EnableCap.DepthTest);
            }

            if (mc.PlayerController.Func_35642_f() && mc.ThePlayer.ExperienceLevel > 0)
            {
                bool   flag1 = false;
                int    k1    = flag1 ? 0xffffff : 0x80ff20;
                String s     = (new StringBuilder()).Append("").Append(mc.ThePlayer.ExperienceLevel).ToString();
                int    i3    = (i - fontrenderer.GetStringWidth(s)) / 2;
                int    k3    = j - 31 - 4;
                fontrenderer.DrawString(s, i3 + 1, k3, 0);
                fontrenderer.DrawString(s, i3 - 1, k3, 0);
                fontrenderer.DrawString(s, i3, k3 + 1, 0);
                fontrenderer.DrawString(s, i3, k3 - 1, 0);
                fontrenderer.DrawString(s, i3, k3, k1);
            }

            if (mc.GameSettings.ShowDebugInfo)
            {
                //GL.PushMatrix();

                if (Minecraft.HasPaidCheckTime > 0L)
                {
                    //GL.Translate(0.0F, 32F, 0.0F);
                }

                fontrenderer.DrawStringWithShadow((new StringBuilder()).Append("Minecraft 1.2.5 (").Append(mc.Debug).Append(")").ToString(), 2, 2, 0xffffff);
                fontrenderer.DrawStringWithShadow(mc.DebugInfoRenders(), 2, 12, 0xffffff);
                fontrenderer.DrawStringWithShadow(mc.GetEntityDebug(), 2, 22, 0xffffff);
                fontrenderer.DrawStringWithShadow(mc.DebugInfoEntities(), 2, 32, 0xffffff);
                fontrenderer.DrawStringWithShadow(mc.GetWorldProviderName(), 2, 42, 0xffffff);
                //long l = Runtime.getRuntime().maxMemory();
                long l2 = GC.GetTotalMemory(false);
                //long l3 = Runtime.getRuntime().freeMemory();
                //long l5 = l2 - l3;
                //string s1 = (new StringBuilder()).Append("Used memory: ").Append((l5 * 100L) / l).Append("% (").Append(l5 / 1024L / 1024L).Append("MB) of ").Append(l / 1024L / 1024L).Append("MB").ToString();
                //DrawString(fontrenderer, s1, i - fontrenderer.GetStringWidth(s1) - 2, 2, 0xe0e0e0);
                //s1 = (new StringBuilder()).Append("Allocated memory: ").Append((l2 * 100L) / l).Append("% (").Append(l2 / 1024L / 1024L).Append("MB)").ToString();
                //DrawString(fontrenderer, s1, i - fontrenderer.GetStringWidth(s1) - 2, 12, 0xe0e0e0);
                DrawString(fontrenderer, (new StringBuilder()).Append("x: ").Append(mc.ThePlayer.PosX).ToString(), 2, 64, 0xe0e0e0);
                DrawString(fontrenderer, (new StringBuilder()).Append("y: ").Append(mc.ThePlayer.PosY).ToString(), 2, 72, 0xe0e0e0);
                DrawString(fontrenderer, (new StringBuilder()).Append("z: ").Append(mc.ThePlayer.PosZ).ToString(), 2, 80, 0xe0e0e0);
                DrawString(fontrenderer, (new StringBuilder()).Append("f: ").Append((int)Math.Floor((double)((mc.ThePlayer.RotationYaw * 4F) / 360F) + 0.5D) & 3).ToString(), 2, 88, 0xe0e0e0);
                int l7 = (int)Math.Floor(mc.ThePlayer.PosX);
                int l8 = (int)Math.Floor(mc.ThePlayer.PosY);
                int k9 = (int)Math.Floor(mc.ThePlayer.PosZ);

                if (mc.TheWorld != null && mc.TheWorld.BlockExists(l7, l8, k9))
                {
                    Chunk chunk = mc.TheWorld.GetChunkFromBlockCoords(l7, k9);
                    DrawString(fontrenderer, (new StringBuilder()).Append("lc: ").Append(chunk.GetTopFilledSegment() + 15).Append(" b: ").Append(chunk.Func_48490_a(l7 & 0xf, k9 & 0xf, mc.TheWorld.GetWorldChunkManager()).BiomeName).Append(" bl: ").Append(chunk.GetSavedLightValue(SkyBlock.Block, l7 & 0xf, l8, k9 & 0xf)).Append(" sl: ").Append(chunk.GetSavedLightValue(SkyBlock.Sky, l7 & 0xf, l8, k9 & 0xf)).Append(" rl: ").Append(chunk.GetBlockLightValue(l7 & 0xf, l8, k9 & 0xf, 0)).ToString(), 2, 96, 0xe0e0e0);
                }

                if (!mc.TheWorld.IsRemote)
                {
                    DrawString(fontrenderer, (new StringBuilder()).Append("Seed: ").Append(mc.TheWorld.GetSeed()).ToString(), 2, 112, 0xe0e0e0);
                }

                //GL.PopMatrix();
            }

            if (recordPlayingUpFor > 0)
            {
                float f2 = (float)recordPlayingUpFor - par1;
                int   l1 = (int)((f2 * 256F) / 20F);

                if (l1 > 255)
                {
                    l1 = 255;
                }

                if (l1 > 0)
                {
                    //GL.PushMatrix();
                    //GL.Translate(i / 2, j - 48, 0.0F);
                    //GL.Enable(EnableCap.Blend);
                    //GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
                    int j2 = 0xffffff;

                    /*
                     * if (recordIsPlaying)
                     * {
                     *  j2 = Color.HSBtoRGB(f2 / 50F, 0.7F, 0.6F) & 0xffffff;
                     * }
                     */
                    fontrenderer.DrawString(recordPlaying, -(int)fontrenderer.GetStringWidth(recordPlaying) / 2, -4, j2 + (l1 << 24));
                    //GL.Disable(EnableCap.Blend);
                    //GL.PopMatrix();
                }
            }

            //GL.Enable(EnableCap.Blend);
            //GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
            //GL.Disable(EnableCap.AlphaTest);
            //GL.PushMatrix();
            //GL.Translate(0.0F, j - 48, 0.0F);
            Func_50010_a(fontrenderer);
            //GL.PopMatrix();

            if ((mc.ThePlayer is EntityClientPlayerMP) && mc.GameSettings.KeyBindPlayerList.Pressed)
            {
                NetClientHandler     netclienthandler = ((EntityClientPlayerMP)mc.ThePlayer).SendQueue;
                List <GuiPlayerInfo> list             = netclienthandler.PlayerNames;
                int k2 = netclienthandler.CurrentServerMaxPlayers;
                int j3 = k2;
                int i4 = 1;

                for (; j3 > 20; j3 = ((k2 + i4) - 1) / i4)
                {
                    i4++;
                }

                int k4 = 300 / i4;

                if (k4 > 150)
                {
                    k4 = 150;
                }

                int  i5    = (i - i4 * k4) / 2;
                byte byte0 = 10;
                DrawRect(i5 - 1, byte0 - 1, i5 + k4 * i4, byte0 + 9 * j3, 0x8000000);

                for (int k6 = 0; k6 < k2; k6++)
                {
                    int j7 = i5 + (k6 % i4) * k4;
                    int i8 = byte0 + (k6 / i4) * 9;
                    DrawRect(j7, i8, (j7 + k4) - 1, i8 + 8, 0x20ffffff);
                    //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
                    //GL.Enable(EnableCap.AlphaTest);

                    if (k6 >= list.Count)
                    {
                        continue;
                    }

                    GuiPlayerInfo guiplayerinfo = (GuiPlayerInfo)list[k6];
                    fontrenderer.DrawStringWithShadow(guiplayerinfo.Name, j7, i8, 0xffffff);
                    mc.RenderEngineOld.BindTexture(mc.RenderEngineOld.GetTexture("/gui/icons.png"));
                    int  l9    = 0;
                    byte byte1 = 0;

                    if (guiplayerinfo.ResponseTime < 0)
                    {
                        byte1 = 5;
                    }
                    else if (guiplayerinfo.ResponseTime < 150)
                    {
                        byte1 = 0;
                    }
                    else if (guiplayerinfo.ResponseTime < 300)
                    {
                        byte1 = 1;
                    }
                    else if (guiplayerinfo.ResponseTime < 600)
                    {
                        byte1 = 2;
                    }
                    else if (guiplayerinfo.ResponseTime < 1000)
                    {
                        byte1 = 3;
                    }
                    else
                    {
                        byte1 = 4;
                    }

                    ZLevel += 100F;
                    DrawTexturedModalRect((j7 + k4) - 12, i8, 0 + l9 * 10, 176 + byte1 * 8, 10, 8);
                    ZLevel -= 100F;
                }
            }

            //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
            //GL.Disable(EnableCap.Lighting);
            //GL.Enable(EnableCap.AlphaTest);
        }
Exemple #21
0
        protected void GenAchievementBackground(int par1, int par2, float par3)
        {
            int i = MathHelper2.Floor_double(Field_27116_m + (GuiMapX - Field_27116_m) * (double)par3);
            int j = MathHelper2.Floor_double(Field_27115_n + (GuiMapY - Field_27115_n) * (double)par3);

            if (i < guiMapTop)
            {
                i = guiMapTop;
            }

            if (j < guiMapLeft)
            {
                j = guiMapLeft;
            }

            if (i >= guiMapBottom)
            {
                i = guiMapBottom - 1;
            }

            if (j >= guiMapRight)
            {
                j = guiMapRight - 1;
            }

            int k  = Mc.RenderEngineOld.GetTexture("/terrain.png");
            int l  = Mc.RenderEngineOld.GetTexture("/achievement/bg.png");
            int i1 = (Width - AchievementsPaneWidth) / 2;
            int j1 = (Height - AchievementsPaneHeight) / 2;
            int k1 = i1 + 16;
            int l1 = j1 + 17;

            ZLevel = 0.0F;
            //GL.DepthFunc(DepthFunction.Gequal);
            //GL.PushMatrix();
            //GL.Translate(0.0F, 0.0F, -200F);
            //GL.Enable(EnableCap.Texture2D);
            //GL.Disable(EnableCap.Lighting);
            //GL.Enable(EnableCap.RescaleNormal);
            //GL.Enable(EnableCap.ColorMaterial);
            Mc.RenderEngineOld.BindTexture(k);
            int    i2     = i + 288 >> 4;
            int    j2     = j + 288 >> 4;
            int    k2     = (i + 288) % 16;
            int    l2     = (j + 288) % 16;
            Random random = new Random();

            for (int i3 = 0; i3 * 16 - l2 < 155; i3++)
            {
                float f = 0.6F - ((float)(j2 + i3) / 25F) * 0.3F;
                //GL.Color4(f, f, f, 1.0F);

                for (int k3 = 0; k3 * 16 - k2 < 224; k3++)
                {
                    random = new Random(1234 + i2 + k3);
                    random.Next();
                    int j4 = random.Next(1 + j2 + i3) + (j2 + i3) / 2;
                    int l4 = Block.Sand.BlockIndexInTexture;

                    if (j4 > 37 || j2 + i3 == 35)
                    {
                        l4 = Block.Bedrock.BlockIndexInTexture;
                    }
                    else if (j4 == 22)
                    {
                        if (random.Next(2) == 0)
                        {
                            l4 = Block.OreDiamond.BlockIndexInTexture;
                        }
                        else
                        {
                            l4 = Block.OreRedstone.BlockIndexInTexture;
                        }
                    }
                    else if (j4 == 10)
                    {
                        l4 = Block.OreIron.BlockIndexInTexture;
                    }
                    else if (j4 == 8)
                    {
                        l4 = Block.OreCoal.BlockIndexInTexture;
                    }
                    else if (j4 > 4)
                    {
                        l4 = Block.Stone.BlockIndexInTexture;
                    }
                    else if (j4 > 0)
                    {
                        l4 = Block.Dirt.BlockIndexInTexture;
                    }

                    DrawTexturedModalRect((k1 + k3 * 16) - k2, (l1 + i3 * 16) - l2, l4 % 16 << 4, (l4 >> 4) << 4, 16, 16);
                }
            }

            //GL.Enable(EnableCap.DepthTest);
            //GL.DepthFunc(DepthFunction.Lequal);
            //GL.Disable(EnableCap.Texture2D);

            for (int j3 = 0; j3 < AchievementList.Achievements.Count; j3++)
            {
                Achievement achievement1 = (Achievement)AchievementList.Achievements[j3];

                if (achievement1.ParentAchievement == null)
                {
                    continue;
                }

                int  l3    = (achievement1.DisplayColumn * 24 - i) + 11 + k1;
                int  k4    = (achievement1.DisplayRow * 24 - j) + 11 + l1;
                int  i5    = (achievement1.ParentAchievement.DisplayColumn * 24 - i) + 11 + k1;
                int  l5    = (achievement1.ParentAchievement.DisplayRow * 24 - j) + 11 + l1;
                bool flag  = statFileWriter.HasAchievementUnlocked(achievement1);
                bool flag1 = statFileWriter.CanUnlockAchievement(achievement1);
                int  c     = Math.Sin(((double)(JavaHelper.CurrentTimeMillis() % 600L) / 600D) * Math.PI * 2D) <= 0.59999999999999998D ? 202 : 377;
                long i8    = 0xff000000;

                if (flag)
                {
                    i8 = 0xff707070;
                }
                else if (flag1)
                {
                    i8 = 65280 + (c << 24);
                }

                DrawHorizontalLine(l3, i5, k4, (int)i8);
                DrawVerticalLine(i5, k4, l5, (int)i8);
            }

            Achievement achievement = null;
            RenderItem  renderitem  = new RenderItem();

            RenderHelper.EnableGUIStandardItemLighting();
            //GL.Disable(EnableCap.Lighting);
            //GL.Enable(EnableCap.RescaleNormal);
            //GL.Enable(EnableCap.ColorMaterial);

            for (int i4 = 0; i4 < AchievementList.Achievements.Count; i4++)
            {
                Achievement achievement2 = (Achievement)AchievementList.Achievements[i4];
                int         j5           = achievement2.DisplayColumn * 24 - i;
                int         i6           = achievement2.DisplayRow * 24 - j;

                if (j5 < -24 || i6 < -24 || j5 > 224 || i6 > 155)
                {
                    continue;
                }

                if (statFileWriter.HasAchievementUnlocked(achievement2))
                {
                    float f1 = 1.0F;
                    //GL.Color4(f1, f1, f1, 1.0F);
                }
                else if (statFileWriter.CanUnlockAchievement(achievement2))
                {
                    float f2 = Math.Sin(((double)(JavaHelper.CurrentTimeMillis() % 600L) / 600D) * Math.PI * 2D) >= 0.59999999999999998D ? 0.8F : 0.6F;
                    //GL.Color4(f2, f2, f2, 1.0F);
                }
                else
                {
                    float f3 = 0.3F;
                    //GL.Color4(f3, f3, f3, 1.0F);
                }

                Mc.RenderEngineOld.BindTexture(l);
                int k6 = k1 + j5;
                int j7 = l1 + i6;

                if (achievement2.GetSpecial())
                {
                    DrawTexturedModalRect(k6 - 2, j7 - 2, 26, 202, 26, 26);
                }
                else
                {
                    DrawTexturedModalRect(k6 - 2, j7 - 2, 0, 202, 26, 26);
                }

                if (!statFileWriter.CanUnlockAchievement(achievement2))
                {
                    float f4 = 0.1F;
                    //GL.Color4(f4, f4, f4, 1.0F);
                    renderitem.Field_27004_a = false;
                }

                //GL.Enable(EnableCap.Lighting);
                //GL.Enable(EnableCap.CullFace);
                renderitem.RenderItemIntoGUI(Mc.FontRenderer, Mc.RenderEngineOld, achievement2.TheItemStack, k6 + 3, j7 + 3);
                //GL.Disable(EnableCap.Lighting);

                if (!statFileWriter.CanUnlockAchievement(achievement2))
                {
                    renderitem.Field_27004_a = true;
                }

                //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);

                if (par1 >= k1 && par2 >= l1 && par1 < k1 + 224 && par2 < l1 + 155 && par1 >= k6 && par1 <= k6 + 22 && par2 >= j7 && par2 <= j7 + 22)
                {
                    achievement = achievement2;
                }
            }

            //GL.Disable(EnableCap.DepthTest);
            //GL.Enable(EnableCap.Blend);
            //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
            Mc.RenderEngineOld.BindTexture(l);
            DrawTexturedModalRect(i1, j1, 0, 0, AchievementsPaneWidth, AchievementsPaneHeight);
            //GL.PopMatrix();
            ZLevel = 0.0F;
            //GL.DepthFunc(DepthFunction.Lequal);
            //GL.Disable(EnableCap.DepthTest);
            //GL.Enable(EnableCap.Texture2D);
            base.DrawScreen(par1, par2, par3);

            if (achievement != null)
            {
                string s  = StatCollector.TranslateToLocal(achievement.GetName());
                string s1 = achievement.GetDescription();
                int    k5 = par1 + 12;
                int    j6 = par2 - 4;

                if (statFileWriter.CanUnlockAchievement(achievement))
                {
                    int l6 = Math.Max(FontRenderer.GetStringWidth(s), 120);
                    int k7 = FontRenderer.SplitStringWidth(s1, l6);

                    if (statFileWriter.HasAchievementUnlocked(achievement))
                    {
                        k7 += 12;
                    }

                    DrawGradientRect(k5 - 3, j6 - 3, k5 + l6 + 3, j6 + k7 + 3 + 12, 0xc000000, 0xc000000);
                    FontRenderer.DrawSplitString(s1, k5, j6 + 12, l6, 0xffa0a0a);

                    if (statFileWriter.HasAchievementUnlocked(achievement))
                    {
                        FontRenderer.DrawStringWithShadow(StatCollector.TranslateToLocal("achievement.taken"), k5, j6 + k7 + 4, 0xff9090f);
                    }
                }
                else
                {
                    int    i7 = Math.Max(FontRenderer.GetStringWidth(s), 120);
                    string s2 = StatCollector.TranslateToLocalFormatted("achievement.requires", new Object[]
                    {
                        StatCollector.TranslateToLocal(achievement.ParentAchievement.GetName())
                    });
                    int l7 = FontRenderer.SplitStringWidth(s2, i7);
                    DrawGradientRect(k5 - 3, j6 - 3, k5 + i7 + 3, j6 + l7 + 12 + 3, 0xc000000, 0xc000000);
                    FontRenderer.DrawSplitString(s2, k5, j6 + 12, i7, 0xff70505);
                }

                FontRenderer.DrawStringWithShadow(s, k5, j6, statFileWriter.CanUnlockAchievement(achievement) ? achievement.GetSpecial() ? -128 : -1 : achievement.GetSpecial() ? 0xff80804 : 0xff80808);
            }

            //GL.Enable(EnableCap.DepthTest);
            //GL.Enable(EnableCap.Lighting);
            RenderHelper.DisableStandardItemLighting();
        }
Exemple #22
0
 ///<summary>
 /// Draw the foreground layer for the GuiContainer (everythin in front of the items)
 ///</summary>
 protected override void DrawGuiContainerForegroundLayer()
 {
     FontRenderer.DrawString(StatCollector.TranslateToLocal(lowerChestInventory.GetInvName()), 8, 6, 0x404040);
     FontRenderer.DrawString(StatCollector.TranslateToLocal(upperChestInventory.GetInvName()), 8, (YSize - 96) + 2, 0x404040);
 }
 /// <summary>
 /// Renders the specified text to the screen.
 /// </summary>
 public virtual void DrawString(FontRenderer par1FontRenderer, string par2Str, int par3, int par4, int par5)
 {
     par1FontRenderer.DrawStringWithShadow(par2Str, par3, par4, par5);
 }
Exemple #24
0
 /// <summary>
 /// Draw the foreground layer for the GuiContainer (everythin in front of the items)
 /// </summary>
 protected override void DrawGuiContainerForegroundLayer()
 {
     FontRenderer.DrawString(StatCollector.TranslateToLocal("container.furnace"), 60, 6, 0x404040);
     FontRenderer.DrawString(StatCollector.TranslateToLocal("container.Inventory"), 8, (YSize - 96) + 2, 0x404040);
 }
Exemple #25
0
        private void Func_50010_a(FontRenderer par1FontRenderer)
        {
            byte byte0 = 10;
            bool flag  = false;
            int  i     = 0;
            int  j     = chatMessageList.Count;

            if (j <= 0)
            {
                return;
            }

            if (IsChatOpen())
            {
                byte0 = 20;
                flag  = true;
            }

            for (int k = 0; k + field_50017_n < chatMessageList.Count && k < byte0; k++)
            {
                if (chatMessageList[k].UpdateCounter >= 200 && !flag)
                {
                    continue;
                }

                ChatLine chatline = chatMessageList[k + field_50017_n];
                double   d        = (double)chatline.UpdateCounter / 200D;
                d  = 1.0D - d;
                d *= 10D;

                if (d < 0.0F)
                {
                    d = 0.0F;
                }

                if (d > 1.0D)
                {
                    d = 1.0D;
                }

                d *= d;
                int l1 = (int)(255D * d);

                if (flag)
                {
                    l1 = 255;
                }

                i++;

                if (l1 > 2)
                {
                    byte   byte1 = 3;
                    int    j2    = -k * 9;
                    String s     = chatline.Message;
                    DrawRect(byte1, j2 - 1, byte1 + 320 + 4, j2 + 8, l1 / 2 << 24);
                    //GL.Enable(EnableCap.Blend);
                    par1FontRenderer.DrawStringWithShadow(s, byte1, j2, 0xffffff + (l1 << 24));
                }
            }

            if (flag)
            {
                //GL.Translate(0.0F, par1FontRenderer.FontHeight, 0.0F);
                int l  = j * par1FontRenderer.FontHeight + j;
                int i1 = i * par1FontRenderer.FontHeight + i;
                int j1 = (field_50017_n * i1) / j;
                int k1 = (i1 * i1) / l;

                if (l != i1)
                {
                    int c  = j1 <= 0 ? '`' : 252;
                    int i2 = field_50018_o ? 0xcc3333 : 0x3333aa;
                    DrawRect(0, -j1, 2, -j1 - k1, i2 + (c << 24));
                    DrawRect(2, -j1, 1, -j1 - k1, 0xcccccc + (c << 24));
                }
            }
        }