Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring

This commit is contained in:
leriomaggio
2021-08-04 08:51:56 +01:00
610 changed files with 49923 additions and 49745 deletions

View File

@@ -160,6 +160,7 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
UI_AUTO_CACHE_SIZE("false"),
UI_ALLOW_ORDER_GRAVEYARD_WHEN_NEEDED ("Never"),
UI_DEFAULT_FONT_SIZE("12"),
UI_CARD_ART_FORMAT("Full"),
UI_SELECT_FROM_CARD_DISPLAYS("true"),
UI_FOR_TOUCHSCREN("false"),
UI_SWITCH_STATES_DECKVIEW("Always"),

View File

@@ -23,6 +23,7 @@ import forge.game.event.GameEventLandPlayed;
import forge.game.event.GameEventManaBurn;
import forge.game.event.GameEventPlayerLivesChanged;
import forge.game.event.GameEventPlayerPoisoned;
import forge.game.event.GameEventRollDie;
import forge.game.event.GameEventShuffle;
import forge.game.event.GameEventSpellResolved;
import forge.game.event.GameEventTokenCreated;
@@ -85,6 +86,8 @@ public class EventVisualizer extends IGameEventVisitor.Base<SoundEffectType> imp
@Override
public SoundEffectType visit(final GameEventFlipCoin event) { return SoundEffectType.FlipCoin; }
@Override
public SoundEffectType visit(final GameEventRollDie event) { return SoundEffectType.RollDie; }
@Override
public SoundEffectType visit(final GameEventPlayerLivesChanged event) { return event.newLives < event.oldLives ? SoundEffectType.LifeLoss : SoundEffectType.LifeGain; }
@Override
public SoundEffectType visit(final GameEventManaBurn event) { return SoundEffectType.ManaBurn; }

View File

@@ -79,6 +79,7 @@ public enum SoundEffectType {
RedLand("red_land.mp3", false),
Regen("regeneration.mp3", false),
RemoveCounter("remove_counter.mp3", true),
RollDie("roll_die.mp3", false),
Sacrifice("sacrifice.mp3", true),
ScriptedEffect("", false), // Plays the effect defined by SVar:SoundEffect
Shuffle("shuffle.mp3", false),

View File

@@ -39,7 +39,7 @@ public abstract class ImageFetcher {
private HashMap<String, HashSet<Callback>> currentFetches = new HashMap<>();
private HashMap<String, String> tokenImages;
private String getScryfallDownloadURL(PaperCard c, boolean backFace){
private String getScryfallDownloadURL(PaperCard c, boolean backFace, boolean useArtCrop){
StaticData data = StaticData.instance();
CardEdition edition = data.getEditions().get(c.getEdition());
if (edition == null) // edition does not exist - some error occurred with card data
@@ -48,7 +48,7 @@ public abstract class ImageFetcher {
String setCode = edition.getScryfallCode();
String langCode = edition.getCardsLangCode();
return ForgeConstants.URL_PIC_SCRYFALL_DOWNLOAD +
ImageUtil.getScryfallDownloadUrl(c, backFace, setCode, langCode);
ImageUtil.getScryfallDownloadUrl(c, backFace, setCode, langCode, useArtCrop);
}
public void fetchImage(final String imageKey, final Callback callback) {
@@ -64,6 +64,7 @@ public abstract class ImageFetcher {
if (imageKey.length() < 2)
return;
boolean useArtCrop = "Crop".equals(FModel.getPreferences().getPref(ForgePreferences.FPref.UI_CARD_ART_FORMAT));
final String prefix = imageKey.substring(0, 2);
final ArrayList<String> downloadUrls = new ArrayList<>();
File destFile = null;
@@ -73,17 +74,28 @@ public abstract class ImageFetcher {
System.err.println("Paper card not found for: " + imageKey);
return;
}
// Skip fetching if artist info is not available for art crop
if (useArtCrop && paperCard.getArtist().isEmpty())
return;
final boolean backFace = imageKey.endsWith(ImageKeys.BACKFACE_POSTFIX);
final String filename = ImageUtil.getImageKey(paperCard, backFace, true);
String filename = ImageUtil.getImageKey(paperCard, backFace, true);
if (useArtCrop) {
filename = TextUtil.fastReplace(filename, ".full", ".artcrop");
}
destFile = new File(ForgeConstants.CACHE_CARD_PICS_DIR, filename + ".jpg");
//move priority of ftp image here
StringBuilder setDownload = new StringBuilder(ForgeConstants.URL_PIC_DOWNLOAD);
setDownload.append(ImageUtil.getDownloadUrl(paperCard, backFace));
downloadUrls.add(setDownload.toString());
//skip ftp if using art crop
if (!useArtCrop) {
//move priority of ftp image here
StringBuilder setDownload = new StringBuilder(ForgeConstants.URL_PIC_DOWNLOAD);
setDownload.append(ImageUtil.getDownloadUrl(paperCard, backFace));
downloadUrls.add(setDownload.toString());
}
final String cardCollectorNumber = paperCard.getCollectorNumber();
if (!cardCollectorNumber.equals(IPaperCard.NO_COLLECTOR_NUMBER)){
final String scryfallURL = this.getScryfallDownloadURL(paperCard, backFace);
final String scryfallURL = this.getScryfallDownloadURL(paperCard, backFace, useArtCrop);
if (scryfallURL != null)
downloadUrls.add(scryfallURL);
}