From a63e8419f207ea7eb4d3d1bcc951c66e02004ad2 Mon Sep 17 00:00:00 2001 From: drdev Date: Mon, 28 Jul 2014 02:09:45 +0000 Subject: [PATCH] Improve rendering of basic lands --- .../src/forge/assets/ImageCache.java | 1 - .../src/forge/assets/ImageLoader.java | 2 +- .../src/forge/card/CardImageRenderer.java | 41 +++++++++++++++---- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/forge-gui-mobile/src/forge/assets/ImageCache.java b/forge-gui-mobile/src/forge/assets/ImageCache.java index e244c63ace0..a27dc9cc50f 100644 --- a/forge-gui-mobile/src/forge/assets/ImageCache.java +++ b/forge-gui-mobile/src/forge/assets/ImageCache.java @@ -22,7 +22,6 @@ import com.badlogic.gdx.graphics.Pixmap.Format; import com.badlogic.gdx.graphics.Texture; import com.google.common.cache.CacheBuilder; import com.google.common.cache.LoadingCache; -import com.google.common.cache.CacheLoader.InvalidCacheLoadException; import forge.ImageKeys; import forge.game.card.Card; diff --git a/forge-gui-mobile/src/forge/assets/ImageLoader.java b/forge-gui-mobile/src/forge/assets/ImageLoader.java index 29b15102ad8..a0402049988 100644 --- a/forge-gui-mobile/src/forge/assets/ImageLoader.java +++ b/forge-gui-mobile/src/forge/assets/ImageLoader.java @@ -103,7 +103,7 @@ final class ImageLoader extends CacheLoader { idx--; } if (dotIdx > idx) { - artIndex = Integer.parseInt(cardName.substring(dotIdx, idx)); + artIndex = Integer.parseInt(cardName.substring(idx, dotIdx)); } cardName = cardName.substring(0, idx); } diff --git a/forge-gui-mobile/src/forge/card/CardImageRenderer.java b/forge-gui-mobile/src/forge/card/CardImageRenderer.java index 5f0e869c2c6..4f04f94abe8 100644 --- a/forge-gui-mobile/src/forge/card/CardImageRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardImageRenderer.java @@ -175,14 +175,39 @@ public class CardImageRenderer { } renderer.drawRect(BORDER_THICKNESS, Color.BLACK, x, y, w, h); - float padding = TEXT_FONT.getCapHeight() * 0.75f; - x += padding; - y += padding; - w -= 2 * padding; - h -= 2 * padding; - String text = card.getRules().getOracleText(); - text = text.replace("\\n", "\n"); //replace new line placeholders with actual new line characters - cardTextRenderer.drawText(renderer, text, TEXT_FONT, Color.BLACK, x, y, w, h, y, h, true, HAlignment.LEFT, true); + if (card.isBasicLand()) { + //draw icons for basic lands + FSkinImage image; + switch (card.getName()) { + case "Plains": + image = FSkinImage.MANA_W; + break; + case "Island": + image = FSkinImage.MANA_U; + break; + case "Swamp": + image = FSkinImage.MANA_B; + break; + case "Mountain": + image = FSkinImage.MANA_R; + break; + default: + image = FSkinImage.MANA_G; + break; + } + float iconSize = h * 0.75f; + renderer.drawImage(image, x + (w - iconSize) / 2, y + (h - iconSize) / 2, iconSize, iconSize); + } + else { + float padding = TEXT_FONT.getCapHeight() * 0.75f; + x += padding; + y += padding; + w -= 2 * padding; + h -= 2 * padding; + String text = card.getRules().getOracleText(); + text = text.replace("\\n", "\n"); //replace new line placeholders with actual new line characters + cardTextRenderer.drawText(renderer, text, TEXT_FONT, Color.BLACK, x, y, w, h, y, h, true, HAlignment.LEFT, true); + } } private static void drawPtBox(TextureRenderer renderer, Card card, Color color1, Color color2, float x, float y, float w, float h) {