From 818d601cbbbeea40e1067aa10c2d918f76abf748 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Fri, 2 Sep 2011 08:08:35 +0400 Subject: [PATCH] Fixed set codes and mana symbols in pay and tooltips. --- .../mage/client/components/MageTextArea.java | 3 +- .../org/mage/card/arcane/ManaSymbols.java | 38 ++++++++++++++++--- .../plugins/card/info/CardInfoPaneImpl.java | 4 +- 3 files changed, 35 insertions(+), 10 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/components/MageTextArea.java b/Mage.Client/src/main/java/mage/client/components/MageTextArea.java index d1ed21b31de..bafceff087b 100644 --- a/Mage.Client/src/main/java/mage/client/components/MageTextArea.java +++ b/Mage.Client/src/main/java/mage/client/components/MageTextArea.java @@ -31,7 +31,6 @@ public class MageTextArea extends JEditorPane { public void setText(String text, CardView source) { if (text == null) return; - boolean smallImages = false; int fontSize = 16; String fontFamily = "arial"; @@ -52,7 +51,7 @@ public class MageTextArea extends JEditorPane { //buffer.append("
"); //text = text.replaceAll("\\{this\\}", card.getName()); //text = text.replaceAll("\\{source\\}", card.getName()); - buffer.append(ManaSymbols.replaceSymbolsWithHTML(text, smallImages)); + buffer.append(ManaSymbols.replaceSymbolsWithHTML(text, ManaSymbols.Type.PAY)); } buffer.append(""); diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java b/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java index ba08457120b..9eab10c53c4 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java @@ -86,7 +86,7 @@ public class ManaSymbols { int height = image.getHeight(null); if (height > 0) { int dx = 0; - if (set.equals("M10") || set.equals("M11")) { + if (set.equals("M10") || set.equals("M11") || set.equals("M12")) { dx = 6; } Rectangle r = new Rectangle(15 + dx, (int) (height * (15.0f + dx) / width)); @@ -104,6 +104,22 @@ public class ManaSymbols { } catch (Exception e) { } } + + File file; + for (String set : CardsStorage.getSetCodes()) { + file = new File(Constants.RESOURCE_PATH_SET_SMALL); + if (!file.exists()) { + break; + } + file = new File(Constants.RESOURCE_PATH_SET_SMALL + set + "-C.png"); + try { + Image image = UI.getImageIcon(file.getAbsolutePath()).getImage(); + int width = image.getWidth(null); + int height = image.getHeight(null); + setImagesExist.put(set, new Dimension(width, height)); + } catch (Exception e) { + } + } } static public Image getManaSymbolImage(String symbol) { @@ -148,13 +164,23 @@ public class ManaSymbols { return width; } - static public synchronized String replaceSymbolsWithHTML(String value, boolean small) { - if (small) { + public enum Type { + CARD, + TOOLTIP, + PAY + } + + static public synchronized String replaceSymbolsWithHTML(String value, Type type) { + if (type.equals(Type.TOOLTIP)) { return replaceSymbolsPattern.matcher(value).replaceAll("$1$2"); - } else { - value = value.replace("{slash}", "slash"); - return replaceSymbolsPattern.matcher(value).replaceAll("$1$2"); + } else if (type.equals(Type.CARD)) { + value = value.replace("{slash}", "slash"); + return replaceSymbolsPattern.matcher(value).replaceAll("$1$2"); + } else if (type.equals(Type.PAY)) { + value = value.replace("{slash}", "slash"); + return replaceSymbolsPattern.matcher(value).replaceAll("$1$2"); } + return value; } static public String replaceSetCodeWithHTML(String set, String rarity) { diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java b/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java index b830a7910e5..4623eca8f37 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java @@ -46,7 +46,7 @@ public class CardInfoPaneImpl extends JEditorPane implements CardInfoPane { manaCost += m; } String castingCost = UI.getDisplayManaCost(manaCost); - castingCost = ManaSymbols.replaceSymbolsWithHTML(castingCost, false); + castingCost = ManaSymbols.replaceSymbolsWithHTML(castingCost, ManaSymbols.Type.CARD); int symbolCount = 0; int offset = 0; @@ -162,7 +162,7 @@ public class CardInfoPaneImpl extends JEditorPane implements CardInfoPane { //buffer.append("
"); legal = legal.replaceAll("\\{this\\}", card.getName()); legal = legal.replaceAll("\\{source\\}", card.getName()); - buffer.append(ManaSymbols.replaceSymbolsWithHTML(legal, smallImages)); + buffer.append(ManaSymbols.replaceSymbolsWithHTML(legal, ManaSymbols.Type.CARD)); } buffer.append("
");