public static void RedrawList() { _listView.SafeAction(s => s.Items.Clear()); foreach (OverheadMessage message in OverheadMessages) { ListViewItem item = new ListViewItem($"{message.SearchMessage}"); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, message.MessageOverhead)); int hueIdx = message.Hue; if (hueIdx > 0 && hueIdx < 3000) { item.SubItems[1].BackColor = Hues.GetHue(hueIdx - 1).GetColor(HueEntry.TextHueIDX); } else { item.SubItems[1].BackColor = SystemColors.Control; } item.SubItems[1].ForeColor = (item.SubItems[1].BackColor.GetBrightness() < 0.35 ? Color.White : Color.Black); item.UseItemStyleForSubItems = false; _listView.SafeAction(s => s.Items.Add(item)); } }
public static void SetOverheadHue() { ListViewItem selectedItem = _listView.Items[_listView.SelectedIndices[0]]; HueEntry h = new HueEntry(GetHue(selectedItem.SubItems[1].Text)); if (h.ShowDialog(Engine.MainWindow) == DialogResult.OK) { int hueIdx = h.Hue; if (hueIdx > 0 && hueIdx < 3000) { selectedItem.SubItems[1].BackColor = Hues.GetHue(hueIdx - 1).GetColor(HueEntry.TextHueIDX); } else { selectedItem.SubItems[1].BackColor = Color.White; } selectedItem.SubItems[1].ForeColor = (selectedItem.SubItems[1].BackColor.GetBrightness() < 0.35 ? Color.White : Color.Black); foreach (OverheadMessage list in OverheadManager.OverheadMessages) { if (list.SearchMessage.Equals(selectedItem.Text)) { list.Hue = hueIdx; break; } } } }
public ActionResult GumpArt(int id, int hue = 0) { DeleteTempFiles(System.Web.HttpContext.Current); Files.SetMulPath(HttpContext.Server.MapPath("~/mul")); Bitmap bmp; if (hue > 0 && hue <= 3000) { bool patched; bmp = new Bitmap(Gumps.GetGump(id, Hues.GetHue(hue), false, out patched)); } else { bmp = new Bitmap(Gumps.GetGump(id)); } byte[] byteArray = ImageToByte(bmp); using (Image image = Image.FromStream(new MemoryStream(byteArray))) { image.Save(HttpContext.Server.MapPath("~/tempfiles/") + id + hue + ".png", ImageFormat.Png); } ViewBag.img = "/tempfiles/" + id + hue + ".png"; return(File(HttpContext.Server.MapPath("~/tempfiles/") + id + hue + ".png", "image/png")); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (value == null) { value = Hues.GetHue(0); } if (value.GetType() == typeof(Hue)) { editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (editorService == null) { return(value); } HuePickerControl control = new HuePickerControl((Hue)value); control.ValueChanged += new HuePickerControl.ValueChangedEventHandler(this.ValueSelected); editorService.DropDownControl(control); if (returnValue != null) { control.Dispose(); return(returnValue); } control.Dispose(); } return(value); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (value == null) { value = Hues.GetHue(0); } if (!(value is Hue hue)) { return(value); } edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (edSvc == null) { return(value); } HuePickerControl huePickerControl = new HuePickerControl(hue); huePickerControl.ValueChanged += new HuePickerControl.ValueChangedEventHandler(ValueSelected); edSvc.DropDownControl(huePickerControl); if (ReturnValue != null) { huePickerControl.Dispose(); return(ReturnValue); } huePickerControl.Dispose(); return(value); }
private bool?Event_UnicodeMessage(Serial serial, ItemID graphic, byte type, ushort hue, ushort font, string lang, string name, string msg) { if ((type == 0 && hue == 0x34 && msg == "zZz") || (type == 2 && hue == 0x225 && msg.StartsWith("*is AFK (") && msg.EndsWith(")*"))) { return(null); } if (type == 0x0D) { textBox.AddLine(string.Format("[G] {0}: {1}", name, msg), guildColor); } else if (type != 0x0A && hue != 0x03B2) { if (name == "System") { if ((msg.StartsWith("Z herbare bylo vyjmuto") || (msg.StartsWith("Kolik") && msg.EndsWith("chces vybrat?")) || msg.EndsWith("bylo vlozeno do herbare.")) && hue == 0x55C) { return(null); } textBox.AddLine(string.Format("[¤] {0}", msg), Hues.GetHue(hue).GetColor(30)); } else if (lang != "ENU") { textBox.AddLine(string.Format("{0}: {1}", name, msg), Hues.GetHue(hue).GetColor(30)); } } return(null); }
public TiledElement(int GumpID) { this.DoingRenderRetry = false; this.mHue = Hues.GetHue(0); this.GumpID = GumpID; this.mSize = this.mTileSize; }
private bool?Event_ASCIIMessage(Serial serial, ItemID graphic, byte type, ushort hue, ushort font, string lang, string name, string msg) { if (name == "System" && hue != 0x018B) { textBox.AddLine(string.Format("[×] {0}", msg), Hues.GetHue(hue).GetColor(30)); } return(null); }
public virtual void Deserialize(XmlReader reader) { hue = Hues.GetHue(XmlConvert.ToInt32(reader.GetAttribute("hue"))); index = XmlConvert.ToInt32(reader.GetAttribute("index")); z = XmlConvert.ToInt32(reader.GetAttribute("z")); location = new Point(XmlConvert.ToInt32(reader.GetAttribute("x")), XmlConvert.ToInt32(reader.GetAttribute("y"))); size = new Size(XmlConvert.ToInt32(reader.GetAttribute("width")), XmlConvert.ToInt32(reader.GetAttribute("height"))); }
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (Versioned.IsNumeric((object)Conversions.ToString(value))) { return((object)Hues.GetHue(Conversions.ToInteger(value))); } return((object)Hues.GetHue(HexHelper.HexToDec(Conversions.ToString(value)))); }
public ItemElement(SerializationInfo info, StreamingContext context) : base(info, context) { info.GetInt32("ItemElementVersion"); this.mItemID = info.GetInt32(nameof(ItemID)); this.mHue = Hues.GetHue(info.GetInt32("HueIndex")); this.RefreshCache(); }
protected TiledElement(SerializationInfo info, StreamingContext context) : base(info, context) { this.DoingRenderRetry = false; this.mHue = Hues.GetHue(0); int int32 = info.GetInt32("TiledElementVersion"); this.GumpID = info.GetInt32(nameof(GumpID)); this.mHue = int32 < 2 ? Hues.GetHue(0) : Hues.GetHue(info.GetInt32("HueIndex")); this.RefreshCache(); }
private void setOverheadMessage_Click(object sender, EventArgs e) { int hueIdx = Config.GetInt("SysColor"); string newItemText = string.Empty; if (string.IsNullOrEmpty(cliLocTextSearch.Text)) { return; } if (cliLocSearchView.SelectedItems.Count > 0) { ListViewItem selectedItem = cliLocSearchView.SelectedItems[0]; newItemText = selectedItem.SubItems[1].Text; } else { newItemText = cliLocTextSearch.Text; } ListViewItem item = new ListViewItem(newItemText); if (InputBox.Show(this, "Enter text to display overhead", newItemText)) { string overheadMessage = InputBox.GetString(); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, overheadMessage)); if (hueIdx > 0 && hueIdx < 3000) { item.SubItems[1].BackColor = Hues.GetHue(hueIdx - 1).GetColor(HueEntry.TextHueIDX); } else { item.SubItems[1].BackColor = SystemColors.Control; } item.SubItems[1].ForeColor = (item.SubItems[1].BackColor.GetBrightness() < 0.35 ? Color.White : Color.Black); item.UseItemStyleForSubItems = false; cliLocOverheadView.SafeAction(s => s.Items.Add(item)); NewOverheadEntries.Add(new Core.OverheadMessages.OverheadMessage { SearchMessage = newItemText, Hue = hueIdx, MessageOverhead = overheadMessage }); } }
//------ private void WriteBmpTile(int x, int y) { //I did a LOT of copy-pasting (and changing the syntax for my purpose) from the BMP and DDS generating code from Nibbio's MapConverter Tile land = tileMatrix.GetLandTile(x, y); HuedTile[] statics = tileMatrix.GetStaticTiles(x, y); HuedTile highestStatic; ushort color; if (task_mapstatics == 0 && statics.Length > 0) { highestStatic = statics[0]; for (short i = 1; i < statics.Length; i++) { if (statics[i].Z > highestStatic.Z) { highestStatic = statics[i]; } } if (land.Z > highestStatic.Z) { color = (ushort)radarcol[GetLandTileID(land.ID)]; } else if (highestStatic.Hue > 0) { color = (ushort)(Hues.GetHue(highestStatic.Hue).Colors[(radarcol[highestStatic.ID + 0x4000] >> 10) & 0x1F]); } else { color = (ushort)radarcol[highestStatic.ID]; } } else { color = (ushort)radarcol[GetLandTileID(land.ID)]; } // Format16bppRgb555 = 5 Pixel per channel -> 15 bit + 1 -> short, little endian format int position = (y * bmpData.Width + x) * 2; unsafe { bmpPtr[position] = (byte)(color & 0xFF); bmpPtr[position + 1] = (byte)(color >> 8); } statics.Initialize(); statics = null; }
public TextEntryElement(SerializationInfo info, StreamingContext context) : base(info, context) { int int32 = info.GetInt32("TextEntryElementVersion"); this.mInitialText = info.GetString("Text"); this.mHue = Hues.GetHue(info.GetInt32("HueIndex")); if (int32 >= 2) { this.mID = info.GetInt32(nameof(ID)); this.mMaxLength = info.GetInt32(nameof(MaxLength)); } this.RefreshCache(); }
private bool SetContainerLabelHue() { ListViewItem selectedItem = containerView.Items[containerView.SelectedIndices[0]]; HueEntry h = new HueEntry(GetHueFromListView(selectedItem.SubItems[0].Text)); // TODO: BREAKING DRY! if (h.ShowDialog(this) == DialogResult.OK) { int hueIdx = h.Hue; if (hueIdx > 0 && hueIdx < 3000) { selectedItem.SubItems[2].BackColor = Hues.GetHue(hueIdx - 1).GetColor(HueEntry.TextHueIDX); } else { selectedItem.SubItems[2].BackColor = Color.White; } selectedItem.SubItems[2].ForeColor = (selectedItem.SubItems[2].BackColor.GetBrightness() < 0.35 ? Color.White : Color.Black); foreach (Core.ContainerLabels.ContainerLabel list in Core.ContainerLabels.ContainerLabelList) { if (list.Id.Equals(selectedItem.Text)) { list.Hue = hueIdx; break; } } foreach (Core.ContainerLabels.ContainerLabel list in NewContainerEntries) { if (list.Id.Equals(selectedItem.Text)) { list.Hue = hueIdx; break; } } return(true); } else { return(false); } }
public LabelElement() { this.mFontIndex = 2; this.mCropped = false; this.mPartialHue = true; this.mUnicode = true; this.mHue = Hues.GetHue(0); this.mText = "New Label"; try { this.RefreshCache(); } catch (Exception ex) { } }
public ImageElement(SerializationInfo info, StreamingContext context) : base(info, context) { this.mHue = Hues.GetHue(0); int int32 = info.GetInt32("ImageElementVersion"); this.mGumpID = info.GetInt32(nameof(GumpID)); if (int32 >= 2) { this.mHue = Hues.GetHue(info.GetInt32("HueIndex")); } else { this.mHue = Hues.GetHue(0); } }
public override void RefreshCache() { if (this.mHue == null) { this.mHue = Hues.GetHue(0); } if (this.mCache != null) { this.mCache.Dispose(); } this.mCache = UnicodeFonts.WriteText(2, this.mInitialText + " "); if ((this.mHue == null || this.mHue.Index == 0 ? 0 : 1) == 0) { return; } this.mHue.ApplyTo(this.mCache, false); }
private static void OnProps(Packet p, PacketHandlerEventArgs args) { p.Seek(5, SeekOrigin.Begin); Item item = World.FindItem(p.ReadUInt32()); if (item == null || item.ItemID != 0x21FC || !keys.ContainsKey(item.Hue)) { return; } if (item.ObjPropList.m_CustomContent.Count == 0) { string color = ColorTranslator.ToHtml(Hues.GetHue(item.Hue).GetColor(30)); item.ObjPropList.Add("<basefont color={0}>{1}", color, keys[item.Hue]); } args.Block = true; WorldEx.SendToClient(item.ObjPropList.BuildPacket()); }
private void ApplyHue(int hue) { if (m_Image == null || hue != m_Hue) { m_Image = (Bitmap)Art.GetStatic(m_Index).Clone(); } if (hue == m_Hue) { return; } m_Hue = hue; if (m_Hue > 0) { Hues.GetHue(m_Hue).ApplyTo(m_Image, false); } }
private void SetContainerLabelHue() { ListViewItem selectedItem = cliLocOverheadView.Items[cliLocOverheadView.SelectedIndices[0]]; HueEntry h = new HueEntry(GetHueFromListView(selectedItem.SubItems[1].Text)); // TODO: BREAKING DRY! if (h.ShowDialog(this) == DialogResult.OK) { int hueIdx = h.Hue; if (hueIdx > 0 && hueIdx < 3000) { selectedItem.SubItems[1].BackColor = Hues.GetHue(hueIdx - 1).GetColor(HueEntry.TextHueIDX); } else { selectedItem.SubItems[1].BackColor = Color.White; } selectedItem.SubItems[1].ForeColor = (selectedItem.SubItems[1].BackColor.GetBrightness() < 0.35 ? Color.White : Color.Black); foreach (Core.OverheadMessages.OverheadMessage list in Core.OverheadMessages.OverheadMessageList) { if (list.SearchMessage.Equals(selectedItem.Text)) { list.Hue = hueIdx; break; } } foreach (Core.OverheadMessages.OverheadMessage list in NewOverheadEntries) { if (list.SearchMessage.Equals(selectedItem.Text)) { list.Hue = hueIdx; break; } } } }
public ActionResult MultiArt(int id, int hue = 0) { DeleteTempFiles(System.Web.HttpContext.Current); Files.SetMulPath(HttpContext.Server.MapPath("~/mul")); Bitmap bmp = new Bitmap(Multis.GetComponents(id).GetImage()); if (hue > 0 && hue <= 3000) { short[] colors = Hues.GetHue(hue).Colors; Hues.ApplyTo(bmp, colors, (TileData.ItemTable[id].Flags & TileFlag.PartialHue) != 0); } byte[] byteArray = ImageToByte(bmp); using (Image image = Image.FromStream(new MemoryStream(byteArray))) { image.Save(HttpContext.Server.MapPath("~/tempfiles/") + id + hue + ".png", ImageFormat.Png); } ViewBag.img = "/tempfiles/" + id + hue + ".png"; return(File(HttpContext.Server.MapPath("~/tempfiles/") + id + hue + ".png", "image/png")); }
public LabelElement(SerializationInfo info, StreamingContext context) : base(info, context) { this.mFontIndex = 2; int int32 = info.GetInt32("LabelElementVersion"); this.mText = info.GetString(nameof(Text)); this.mHue = Hues.GetHue(info.GetInt32("HueIndex")); if (int32 >= 3) { this.mPartialHue = info.GetBoolean(nameof(PartialHue)); this.mUnicode = info.GetBoolean(nameof(Unicode)); } else { this.mPartialHue = true; this.mUnicode = true; } this.mFontIndex = info.GetInt32("FontIndex"); if (int32 <= 2) { --this.mFontIndex; } if (int32 >= 2) { this.mCropped = info.GetBoolean(nameof(Cropped)); this.mSize = (Size)info.GetValue(nameof(Size), typeof(Size)); } else { this.mCropped = false; Bitmap stringImage = UnicodeFonts.GetStringImage(this.mFontIndex, this.mText + " "); this.mSize = stringImage.Size; stringImage.Dispose(); } this.RefreshCache(); }
private void OverheadMessages_Load(object sender, EventArgs e) { foreach (Core.OverheadMessages.OverheadMessage message in Core.OverheadMessages.OverheadMessageList) { ListViewItem item = new ListViewItem($"{message.SearchMessage}"); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, message.MessageOverhead)); int hueIdx = message.Hue; if (hueIdx > 0 && hueIdx < 3000) { item.SubItems[1].BackColor = Hues.GetHue(hueIdx - 1).GetColor(HueEntry.TextHueIDX); } else { item.SubItems[1].BackColor = SystemColors.Control; } item.SubItems[1].ForeColor = (item.SubItems[1].BackColor.GetBrightness() < 0.35 ? Color.White : Color.Black); item.UseItemStyleForSubItems = false; cliLocOverheadView.SafeAction(s => s.Items.Add(item)); } overheadFormat.SafeAction(s => s.Text = Config.GetString("OverheadFormat")); if (Config.GetInt("OverheadStyle") == 0) { asciiStyle.SafeAction(s => s.Checked = true); } else { unicodeStyle.SafeAction(s => s.Checked = true); } }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (value == null) { value = (object)Hues.GetHue(0); } if (value.GetType() == typeof(Hue)) { this.edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (this.edSvc != null) { HuePickerControl huePickerControl = new HuePickerControl((Hue)value); huePickerControl.ValueChanged += new HuePickerControl.ValueChangedEventHandler(this.ValueSelected); this.edSvc.DropDownControl((Control)huePickerControl); if (this.ReturnValue != null) { huePickerControl.Dispose(); return((object)this.ReturnValue); } huePickerControl.Dispose(); } } return(value); }
public ImageElement(int GumpID) { this.mHue = Hues.GetHue(0); this.GumpID = GumpID; }
/// <summary> /// Calculates the image displayed by the control /// </summary> private void CreateDisplay() { if (m_Image != null) { m_Image.Dispose(); } switch (m_Art) { case Art.Items: try { m_Image = new Bitmap(Ultima.Art.GetStatic(m_ArtIndex)); } catch { m_Image = null; } break; case Art.Gumps: try { m_Image = new Bitmap(Gumps.GetGump(m_ArtIndex)); } catch { m_Image = null; } break; case Art.NPCs: try { if (m_Animate) { m_Image = DoAnimation(); } else { var hue = m_Hue; var frames = Animations.GetAnimation(m_ArtIndex, 0, 1, ref hue, true, true); if (frames != null) { m_Image = new Bitmap(frames[0].Bitmap); } else { m_Image = null; } } } catch { m_Image = null; } break; } // // Hue // if (m_Hue > 0 && m_Image != null && m_Art != Art.Images) { if (m_Art != Art.NPCs || (m_Art == Art.NPCs && !m_Animate)) { var hue = Hues.GetHue(m_Hue - 1); if (hue != null) { Hues.ApplyTo(m_Image, hue.Colors, m_Art == Art.Gumps); } } } }
public ItemElement() { this.mSize = new Size(50, 50); this.ItemID = 0; this.mHue = Hues.GetHue(0); }
protected override void OnPaint(PaintEventArgs e) { Bitmap bitmap; if (ArtID == 0xFFFF) { bitmap = new Bitmap(20, 20); Graphics g = Graphics.FromImage(bitmap); g.DrawLine(Pens.DeepPink, 0, 0, 19, 19); g.DrawLine(Pens.DeepPink, 19, 0, 0, 19); } else { bitmap = isGump ? Core.GetGump(ArtID) : Art.GetStatic(ArtID); } if (size != -1) { bitmap = new Bitmap(bitmap, size, size); } else if (Hue != 0) { bitmap = new Bitmap(bitmap); } if (Hue != 0) { Hues.GetHue(Hue).ApplyTo(bitmap, false); } Point position = new Point(); Size bSize; if (isGump) { bSize = bitmap.Size; } else { int xMin, yMin, xMax, yMax; Art.Measure(bitmap, out xMin, out yMin, out xMax, out yMax); bSize = new Size(xMax - xMin + 1, yMax - yMin + 1); position = new Point(-xMin, -yMin); } if (!string.IsNullOrEmpty(Text)) { if (vertical) { StringFormat format = new StringFormat(StringFormatFlags.DirectionVertical); SizeF sizeF = e.Graphics.MeasureString(Text, Font, -1, format); Size = new Size(bSize.Width + Font.Height, Math.Max(bSize.Height, (int)sizeF.Height)); e.Graphics.DrawString(Text, Font, Brushes.DeepPink, Size.Width - (Font.Height - Font.Size) / 2 - Font.Height, (Size.Height - sizeF.Height) / 2, format); } else { SizeF sizeF = e.Graphics.MeasureString(Text, Font, -1); Size = new Size(Math.Max(bSize.Width, (int)sizeF.Width), bSize.Height + Font.Height); e.Graphics.DrawString(Text, Font, Brushes.DeepPink, (Size.Width - sizeF.Width) / 2, Size.Height - Font.Height); } } else { Size = bSize; } if (vertical) { e.Graphics.DrawImage(bitmap, position.X, position.Y + (Size.Height - bSize.Height) / 2F); } else { e.Graphics.DrawImage(bitmap, position.X + (Size.Width - bSize.Width) / 2F, position.Y); } }