private void DrawSprites(Device device, SpriteBatch spritebatch, Rectangle cliprectangle) { try { DxTexture texture = _texture; if (texture == null) { return; } spritebatch.Begin(); try { int width = Math.Min(texture.Descriptor2D.Width, cliprectangle.Width); int height = Math.Min(texture.Descriptor2D.Height, cliprectangle.Height); Rectangle rectangle = new Rectangle(cliprectangle.X, cliprectangle.Y, width, height); texture.Draw(device, spritebatch, Vector2.Zero, rectangle, 1.0f); } finally { spritebatch.End(); } } catch (Exception ex) { Log.Error(ex); } }
public UiEncodingWindowSource(string displayName, DxTexture texture, WflContent info, char[] chars, ConcurrentDictionary <char, short> codes) { DisplayName = displayName; Texture = texture; Info = info; Chars = chars; Codes = codes; }
private static DxTexture[] ReadTextures(ImgbArchiveAccessor accessor, TextureSection[] gtexDatas) { DxTexture[] textures = new DxTexture[gtexDatas.Length]; using (Stream imgbStream = accessor.ExtractContent()) using (DisposableStack insurance = new DisposableStack()) { for (int i = 0; i < gtexDatas.Length; i++) { GtexData data = gtexDatas[i].Gtex; textures[i] = insurance.Add(ReadTexture(imgbStream, data)); } insurance.Clear(); } return(textures); }
public void Show(WpdArchiveListing listing, WpdEntry entry) { Visibility = Visibility.Visible; Texture = DxTextureReader.ReadFromWpd(listing, entry); }
public void Dispose() { TextureResource.Dispose(); DxTexture.Dispose(); }
public void TargetSurface_Draw(HudEmulator Caller, DxTexture Target, Rectangle TargetRegion, HudEmulator.delClearRegion dClearOp) { try { if (TargetHud != null) { if (lib.MyCore.Actions.CurrentSelection != 0) { WorldObject worldObject = lib.MyCore.WorldFilter[lib.MyCore.Actions.CurrentSelection]; if (worldObject != null && worldObject.ObjectClass == ObjectClass.Player) { if (Target != null) { Color color = Color.Transparent; Target.Fill(TargetRegion, color); Target target = TargetCache.GetTarget(worldObject.Id); if (target == null) { TargetCache.AddOrUpdate(worldObject); target = TargetCache.GetTarget(worldObject.Id); } int num = 0; int num2 = 15; int num3 = 285; int num4 = 30; Pen pen = new Pen(ColorTranslator.FromHtml(CurrentProfile.ColorRed), 8f); Pen pen2 = new Pen(ColorTranslator.FromHtml(CurrentProfile.ColorWhite), 8f); Pen pen3 = new Pen(ColorTranslator.FromHtml(CurrentProfile.ColorGrey), 8f); Pen pen4 = new Pen(ColorTranslator.FromHtml(CurrentProfile.ColorGreen), 8f); Pen pen5 = new Pen(ColorTranslator.FromHtml(CurrentProfile.ColorPurple), 8f); Pen pen6 = new Pen(ColorTranslator.FromHtml(CurrentProfile.ColorBlue), 8f); Pen pen7 = new Pen(ColorTranslator.FromHtml(CurrentProfile.ColorYellow), 8f); Pen pen8 = new Pen(ColorTranslator.FromHtml(CurrentProfile.ColorOrange), 8f); Pen pen10 = new Pen(ColorTranslator.FromHtml(CurrentProfile.ColorOrange), 8f); new Bitmap(50, 50); Bitmap bitmap; if (worldObject.Values(LongValueKey.Monarch) == lib.moncheck) { pen10 = pen4; } else { pen10 = pen; } Rectangle rectangle = Utils.DrawText(target.FullName, CurrentProfile.HudFont, pen10, out bitmap); rectangle.Y = 10; rectangle.X = 5; num = 0; num2 += 10; if (rectangle.Width > num3) { num3 = rectangle.Width; } num4 += rectangle.Height; Target.DrawImage(bitmap, rectangle, Color.Transparent); rectangle = default(Rectangle); num2 += 10; Bitmap bitmap2 = null; Rectangle rectangle2 = new Rectangle(0, 0, 230, 10); rectangle = Utils.DrawRectangle(rectangle2, pen, out bitmap2, false, 100, 2); rectangle.Y = 25; rectangle.X = 2; int num5 = num; int num6 = num2; int width = rectangle.Width; num2 += 7; int num7; num7 = target.CurrentHealthPercentage; if (rectangle.Width > num3) { num3 = rectangle.Width; } num4 += rectangle.Height; Target.DrawImage(bitmap2, rectangle, Color.Transparent); bitmap2 = null; rectangle = Utils.DrawRectangle(rectangle2, pen, out bitmap2, true, num7, 2); rectangle.X = 2; rectangle.Y = 25; Target.DrawImage(bitmap2, rectangle, Color.Transparent); if (target.MaxHealth > 0) { string text; if (!target.HealthInFormat.Contains("-1")) { text = target.HealthInFormat; } else { text = (target.MaxHealth * num7 / 100).ToString() + "/" + target.MaxHealth.ToString(); } Bitmap bitmap3 = null; Font font = new Font(CurrentProfile.HudFont.Name, 8f, FontStyle.Bold); rectangle = Utils.DrawText(text, font, pen2, out bitmap3); rectangle.X = 0; rectangle.Y = 22; rectangle.X = 240; Target.DrawImage(bitmap3, rectangle, Color.Transparent); rectangle = default(Rectangle); num2 += 7; Bitmap bitmap4 = null; rectangle2 = new Rectangle(0, 0, 230, 10); rectangle = Utils.DrawRectangle(rectangle2, pen7, out bitmap4, false, 100, 2); rectangle.Y = 37; rectangle.X = 2; num5 = num; num6 = num2; int width2 = rectangle.Width; num2 += 7; if (rectangle.Width > num3) { num3 = rectangle.Width; } num4 += rectangle.Height; Target.DrawImage(bitmap4, rectangle, Color.Transparent); rectangle = Utils.DrawRectangle(rectangle2, pen7, out bitmap4, true, target.CurrentStaminaPercentage, 2); rectangle.X = 2; rectangle.Y = 37; Target.DrawImage(bitmap4, rectangle, Color.Transparent); if (!target.StaminaInFormat.Contains("-1")) { Bitmap bitmap5 = null; Font font2 = new Font(CurrentProfile.HudFont.Name, 8f, FontStyle.Bold); rectangle = Utils.DrawText(target.StaminaInFormat, font2, pen2, out bitmap5); rectangle.X = 0; rectangle.Y = 34; rectangle.X = 240; Target.DrawImage(bitmap5, rectangle, Color.Transparent); } rectangle = default(Rectangle); num2 += 5; Bitmap bitmap6 = null; rectangle2 = new Rectangle(0, 0, 230, 10); rectangle = Utils.DrawRectangle(rectangle2, pen6, out bitmap6, false, 100, 2); rectangle.Y = 49; rectangle.X = 2; num5 = num; num6 = num2; int width3 = rectangle.Width; num2 += rectangle.Height; if (rectangle.Width > num3) { num3 = rectangle.Width; } num4 += rectangle.Height; Target.DrawImage(bitmap6, rectangle, Color.Transparent); rectangle = Utils.DrawRectangle(rectangle2, pen6, out bitmap6, true, target.CurrentManaPercentage, 2); rectangle.X = 2; rectangle.Y = 49; Target.DrawImage(bitmap6, rectangle, Color.Transparent); if (!target.ManaInFormat.Contains("-1")) { Bitmap bitmap7 = null; Font font3 = new Font(CurrentProfile.HudFont.Name, 8f, FontStyle.Bold); rectangle = Utils.DrawText(target.ManaInFormat, font3, pen2, out bitmap7); rectangle.X = 0; rectangle.Y = 46; rectangle.X = 240; Target.DrawImage(bitmap7, rectangle, Color.Transparent); } int num8 = 0; int num9 = 0; num2 += 7; foreach (Debuff debuff in target.Debuffs) { rectangle = default(Rectangle); rectangle2 = new Rectangle(0, 0, 22, 22); DebuffDisplayInfo debuffDisplayInfo = DebuffDB.GetDebuffDisplayInfo(debuff.Name); Pen pen9 = pen2; rectangle = new Rectangle(0, 0, 22, 22); rectangle.Y = 61; rectangle.X = 5 + num9; num9 += rectangle.Width + 7; Target.DrawPortalImage(debuffDisplayInfo.Icon, rectangle); num8++; } if (num9 > num3) { num3 = num9; } } TargetHud.Width = num3 + (int)((double)0); TargetHud.Height = num4; } else { TargetHud.Visible = false; } } } } } catch { Utility.AddChatText("Error generating Defiance HUD, retrying...", 6); } }