diff --git a/forge-core/src/main/java/forge/ImageKeys.java b/forge-core/src/main/java/forge/ImageKeys.java index 98a4b070944..1bf50907c4b 100644 --- a/forge-core/src/main/java/forge/ImageKeys.java +++ b/forge-core/src/main/java/forge/ImageKeys.java @@ -1,5 +1,6 @@ package forge; +import forge.card.CardEdition; import forge.item.PaperCard; import forge.util.FileUtil; import forge.util.TextUtil; @@ -38,6 +39,8 @@ public final class ImageKeys { private static Map CACHE_CARD_PICS_SUBDIR; private static Map editionImageLookup = new HashMap<>(); + + private static Map editionAlias = new HashMap<>(); private static Set toFind = new HashSet<>(); private static boolean isLibGDXPort = false; @@ -187,6 +190,19 @@ public final class ImageKeys { toFind.remove(filename); } } + String setCode = filename.contains("/") ? filename.substring(0, filename.indexOf("/")) : ""; + if (!setCode.isEmpty() && editionAlias.containsKey(setCode)) { + file = findFile(dir, TextUtil.fastReplace(filename, setCode + "/", editionAlias.get(setCode) + "/")); + if (file != null) { + cachedCards.put(filename, file); + return file; + } + file = findFile(dir, TextUtil.fastReplace(fullborderFile, setCode + "/", editionAlias.get(setCode) + "/")); + if (file != null) { + cachedCards.put(filename, file); + return file; + } + } } //if an image, like phenomenon or planes is missing .full in their filenames but you have an existing images that have .full/.fullborder if (!filename.contains(".full")) { @@ -355,6 +371,11 @@ public final class ImageKeys { Boolean editionHasImage = editionImageLookup.get(pc.getEdition()); if (editionHasImage == null) { String setFolder = getSetFolder(pc.getEdition()); + CardEdition ed = StaticData.instance().getEditions().get(setFolder); + if (ed != null && !editionAlias.containsKey(setFolder)) { + String alias = ed.getAlias(); + editionAlias.put(setFolder, alias == null ? ed.getCode() : alias); + } editionHasImage = FileUtil.isDirectoryWithFiles(CACHE_CARD_PICS_DIR + setFolder); editionImageLookup.put(pc.getEdition(), editionHasImage); if (editionHasImage) { diff --git a/forge-gui/res/editions/Love Your LGS 2020.txt b/forge-gui/res/editions/Love Your LGS 2020.txt index 0b2f29dcf78..33388813837 100644 --- a/forge-gui/res/editions/Love Your LGS 2020.txt +++ b/forge-gui/res/editions/Love Your LGS 2020.txt @@ -3,7 +3,6 @@ Code=PLG20 Date=2020-05-18 Name=Love Your LGS 2020 Code2=PLGS -Alias=PLGS Type=Promo ScryfallCode=PLG20 diff --git a/forge-gui/res/editions/Modern Horizons 1 Timeshifts.txt b/forge-gui/res/editions/Modern Horizons 1 Timeshifts.txt index 476fb9db59b..09f79f8a91a 100644 --- a/forge-gui/res/editions/Modern Horizons 1 Timeshifts.txt +++ b/forge-gui/res/editions/Modern Horizons 1 Timeshifts.txt @@ -3,7 +3,6 @@ Code=H1R Date=2021-06-18 Name=Modern Horizons 1 Timeshifts Code2=RMH1 -Alias=RMH1 Type=Draft ScryfallCode=H1R diff --git a/forge-gui/res/editions/Planechase.txt b/forge-gui/res/editions/Planechase.txt index 662fae17127..fbc275e2f41 100644 --- a/forge-gui/res/editions/Planechase.txt +++ b/forge-gui/res/editions/Planechase.txt @@ -2,8 +2,7 @@ Code=HOP Date=2009-09-04 Name=Planechase -Alias=PCH -Code2=HOP +Code2=PCH Type=Multiplayer ScryfallCode=HOP diff --git a/forge-gui/res/editions/Wizards Play Network 2009.txt b/forge-gui/res/editions/Wizards Play Network 2009.txt index b5a88c2ff3b..c14356b11ed 100644 --- a/forge-gui/res/editions/Wizards Play Network 2009.txt +++ b/forge-gui/res/editions/Wizards Play Network 2009.txt @@ -3,7 +3,6 @@ Code=PW09 Date=2009-01-01 Name=Wizards Play Network 2009 Code2=PWP09 -Alias=PWP09 Type=Promo ScryfallCode=PW09 diff --git a/forge-gui/res/editions/Wizards Play Network 2010.txt b/forge-gui/res/editions/Wizards Play Network 2010.txt index 102ad969213..2e026b15fb8 100644 --- a/forge-gui/res/editions/Wizards Play Network 2010.txt +++ b/forge-gui/res/editions/Wizards Play Network 2010.txt @@ -3,7 +3,6 @@ Code=PW10 Date=2010-01-01 Name=Wizards Play Network 2010 Code2=PWP10 -Alias=PWP10 Type=Promo ScryfallCode=PW10 diff --git a/forge-gui/res/editions/Wizards Play Network 2011.txt b/forge-gui/res/editions/Wizards Play Network 2011.txt index 8cb3e1989c8..7f71aeb9835 100644 --- a/forge-gui/res/editions/Wizards Play Network 2011.txt +++ b/forge-gui/res/editions/Wizards Play Network 2011.txt @@ -3,7 +3,6 @@ Code=PW11 Date=2011-01-01 Name=Wizards Play Network 2011 Code2=PWP11 -Alias=PWP11 Type=Promo ScryfallCode=PW11 diff --git a/forge-gui/res/editions/Wizards Play Network 2012.txt b/forge-gui/res/editions/Wizards Play Network 2012.txt index 2fd1a315566..45557ba02ca 100644 --- a/forge-gui/res/editions/Wizards Play Network 2012.txt +++ b/forge-gui/res/editions/Wizards Play Network 2012.txt @@ -3,7 +3,6 @@ Code=PW12 Date=2012-01-01 Name=Wizards Play Network 2012 Code2=PWP12 -Alias=PWP12 Type=Promo ScryfallCode=PW12 diff --git a/forge-gui/res/editions/Wizards Play Network 2021.txt b/forge-gui/res/editions/Wizards Play Network 2021.txt index f0638a94644..6d56366ae12 100644 --- a/forge-gui/res/editions/Wizards Play Network 2021.txt +++ b/forge-gui/res/editions/Wizards Play Network 2021.txt @@ -3,7 +3,6 @@ Code=PW21 Date=2021-06-18 Name=Wizards Play Network 2021 Code2=PWP21 -Alias=PWP21 Type=Promo ScryfallCode=PW21 diff --git a/forge-gui/res/editions/World Magic Cup Qualifiers.txt b/forge-gui/res/editions/World Magic Cup Qualifiers.txt index fa5dc5f49f0..57a836dadbe 100644 --- a/forge-gui/res/editions/World Magic Cup Qualifiers.txt +++ b/forge-gui/res/editions/World Magic Cup Qualifiers.txt @@ -3,7 +3,6 @@ Code=WMC Date=2013-04-06 Name=World Magic Cup Qualifiers Code2=PWCQ -Alias=PWCQ Type=Promo ScryfallCode=WMC