mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Flesh out settings
This commit is contained in:
@@ -138,13 +138,13 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
|||||||
pnlPrefs.add(new NoteLabel("Play with mana burn (from pre-Magic 2010 rules)."), regularConstraints);
|
pnlPrefs.add(new NoteLabel("Play with mana burn (from pre-Magic 2010 rules)."), regularConstraints);
|
||||||
|
|
||||||
pnlPrefs.add(cbEnforceDeckLegality, regularConstraints);
|
pnlPrefs.add(cbEnforceDeckLegality, regularConstraints);
|
||||||
pnlPrefs.add(new NoteLabel("Enforces deck legality relevant to each environment (minimum deck sizes, max card count etc)"), regularConstraints);
|
pnlPrefs.add(new NoteLabel("Enforces deck legality relevant to each environment (minimum deck sizes, max card count etc)."), regularConstraints);
|
||||||
|
|
||||||
pnlPrefs.add(cbCloneImgSource, regularConstraints);
|
pnlPrefs.add(cbCloneImgSource, regularConstraints);
|
||||||
pnlPrefs.add(new NoteLabel("When enabled clones will use their original art instead of the cloned card's art"), regularConstraints);
|
pnlPrefs.add(new NoteLabel("When enabled clones will use their original art instead of the cloned card's art."), regularConstraints);
|
||||||
|
|
||||||
pnlPrefs.add(cbPromptFreeBlocks, regularConstraints);
|
pnlPrefs.add(cbPromptFreeBlocks, regularConstraints);
|
||||||
pnlPrefs.add(new NoteLabel("When enabled, if you would have to pay 0 to block, pay automatically without prompt"), regularConstraints);
|
pnlPrefs.add(new NoteLabel("When enabled, if you would have to pay 0 to block, pay automatically without prompt."), regularConstraints);
|
||||||
|
|
||||||
// Deck building options
|
// Deck building options
|
||||||
pnlPrefs.add(new SectionLabel("Random Deck Generation"), sectionConstraints);
|
pnlPrefs.add(new SectionLabel("Random Deck Generation"), sectionConstraints);
|
||||||
@@ -207,7 +207,7 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
|||||||
pnlPrefs.add(new NoteLabel("Enable sound effects during the game."), regularConstraints);
|
pnlPrefs.add(new NoteLabel("Enable sound effects during the game."), regularConstraints);
|
||||||
|
|
||||||
pnlPrefs.add(cbAltSoundSystem, regularConstraints);
|
pnlPrefs.add(cbAltSoundSystem, regularConstraints);
|
||||||
pnlPrefs.add(new NoteLabel("Use the alternate sound system (only use in case your have issues with sound not playing or disappearing)"), regularConstraints);
|
pnlPrefs.add(new NoteLabel("Use the alternate sound system (only use if you have issues with sound not playing or disappearing)."), regularConstraints);
|
||||||
|
|
||||||
|
|
||||||
// Keyboard shortcuts
|
// Keyboard shortcuts
|
||||||
|
|||||||
@@ -7,10 +7,12 @@ import com.badlogic.gdx.graphics.g2d.BitmapFont.HAlignment;
|
|||||||
|
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.Forge.Graphics;
|
import forge.Forge.Graphics;
|
||||||
|
import forge.ai.AiProfileUtil;
|
||||||
import forge.assets.FSkin;
|
import forge.assets.FSkin;
|
||||||
import forge.assets.FSkinColor;
|
import forge.assets.FSkinColor;
|
||||||
import forge.assets.FSkinFont;
|
import forge.assets.FSkinFont;
|
||||||
import forge.assets.FSkinColor.Colors;
|
import forge.assets.FSkinColor.Colors;
|
||||||
|
import forge.game.GameLogEntryType;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
import forge.screens.FScreen;
|
import forge.screens.FScreen;
|
||||||
import forge.toolbox.FList;
|
import forge.toolbox.FList;
|
||||||
@@ -36,6 +38,7 @@ public class SettingsScreen extends FScreen {
|
|||||||
lstSettings.addGroup("Graphic Options");
|
lstSettings.addGroup("Graphic Options");
|
||||||
lstSettings.addGroup("Sound Options");
|
lstSettings.addGroup("Sound Options");
|
||||||
|
|
||||||
|
//General Settings
|
||||||
lstSettings.addItem(new CustomSelectSetting(FPref.UI_SKIN, "Theme",
|
lstSettings.addItem(new CustomSelectSetting(FPref.UI_SKIN, "Theme",
|
||||||
"Sets the theme that determines how display components are skinned.",
|
"Sets the theme that determines how display components are skinned.",
|
||||||
FSkin.getAllSkins()) {
|
FSkin.getAllSkins()) {
|
||||||
@@ -44,8 +47,94 @@ public class SettingsScreen extends FScreen {
|
|||||||
FSkin.changeSkin(newValue);
|
FSkin.changeSkin(newValue);
|
||||||
}
|
}
|
||||||
}, 0);
|
}, 0);
|
||||||
lstSettings.addItem(new BooleanSetting(FPref.DEV_MODE_ENABLED, "Developer Mode",
|
|
||||||
"Enables menu with functions for testing during development."), 3);
|
//Gameplay Options
|
||||||
|
lstSettings.addItem(new CustomSelectSetting(FPref.UI_CURRENT_AI_PROFILE,
|
||||||
|
"AI Personality",
|
||||||
|
"Choose your AI opponent.",
|
||||||
|
AiProfileUtil.getProfilesArray()),
|
||||||
|
1);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.UI_ANTE,
|
||||||
|
"Play for Ante",
|
||||||
|
"Determines whether or not the game is played for ante."),
|
||||||
|
1);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.UI_UPLOAD_DRAFT,
|
||||||
|
"Upload Draft Picks",
|
||||||
|
"Sends draft picks to Forge servers for analysis, to improve draft AI."),
|
||||||
|
1);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_AI_CHEATS,
|
||||||
|
"Allow AI Cheating",
|
||||||
|
"Allow the AI to cheat to gain advantage (for personalities that have cheat shuffling options set)."),
|
||||||
|
1);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.UI_MANABURN,
|
||||||
|
"Mana Burn",
|
||||||
|
"Play with mana burn (from pre-Magic 2010 rules)."),
|
||||||
|
1);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.ENFORCE_DECK_LEGALITY,
|
||||||
|
"Deck Conformance",
|
||||||
|
"Enforces deck legality relevant to each environment (minimum deck sizes, max card count etc)."),
|
||||||
|
1);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.UI_CLONE_MODE_SOURCE,
|
||||||
|
"Clones Use Original Card Art",
|
||||||
|
"When enabled clones will use their original art instead of the cloned card's art."),
|
||||||
|
1);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.MATCHPREF_PROMPT_FREE_BLOCKS,
|
||||||
|
"Free Block Handling",
|
||||||
|
"When enabled, if you would have to pay 0 to block, pay automatically without prompt."),
|
||||||
|
1);
|
||||||
|
|
||||||
|
//Random Deck Generation
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.DECKGEN_NOSMALL,
|
||||||
|
"Remove Small Creatures",
|
||||||
|
"Disables 1/1 and 0/X creatures in generated decks."),
|
||||||
|
2);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.DECKGEN_SINGLETONS,
|
||||||
|
"Singleton Mode",
|
||||||
|
"Disables non-land duplicates in generated decks."),
|
||||||
|
2);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.DECKGEN_ARTIFACTS,
|
||||||
|
"Remove Artifacts",
|
||||||
|
"Disables artifact cards in generated decks."),
|
||||||
|
2);
|
||||||
|
|
||||||
|
//Advanced Settings
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.DEV_MODE_ENABLED,
|
||||||
|
"Developer Mode",
|
||||||
|
"Enables menu with functions for testing during development."),
|
||||||
|
3);
|
||||||
|
lstSettings.addItem(new CustomSelectSetting(FPref.DEV_LOG_ENTRY_TYPE,
|
||||||
|
"Game Log Verbosity",
|
||||||
|
"Changes how much information is displayed in the game log. Sorted by least to most verbose.",
|
||||||
|
GameLogEntryType.class),
|
||||||
|
3);
|
||||||
|
|
||||||
|
//Graphic Options
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_FOIL_EFFECT,
|
||||||
|
"Display Foil Overlay",
|
||||||
|
"Displays foil cards with the visual foil overlay effect."),
|
||||||
|
4);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.UI_RANDOM_FOIL,
|
||||||
|
"Random Foil",
|
||||||
|
"Adds foil effect to random cards."),
|
||||||
|
4);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.UI_RANDOM_ART_IN_POOLS,
|
||||||
|
"Randomize Card Art",
|
||||||
|
"Generates cards with random art in generated limited mode card pools."),
|
||||||
|
4);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.UI_HIDE_REMINDER_TEXT,
|
||||||
|
"Hide Reminder Text",
|
||||||
|
"Hide reminder text in Card Detail pane."),
|
||||||
|
4);
|
||||||
|
|
||||||
|
//Sound Options
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_SOUNDS,
|
||||||
|
"Enable Sounds",
|
||||||
|
"Enable sound effects during the game."),
|
||||||
|
5);
|
||||||
|
lstSettings.addItem(new BooleanSetting(FPref.UI_ALT_SOUND_SYSTEM,
|
||||||
|
"Use Alternate Sound System",
|
||||||
|
"Use the alternate sound system (only use if you have issues with sound not playing or disappearing)."),
|
||||||
|
5);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -114,6 +203,13 @@ public class SettingsScreen extends FScreen {
|
|||||||
options.add(option);
|
options.add(option);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public <E extends Enum<E>> CustomSelectSetting(FPref pref0, String label0, String description0, Class<E> enumData) {
|
||||||
|
super(pref0, label0 + ":", description0);
|
||||||
|
|
||||||
|
for (E option : enumData.getEnumConstants()) {
|
||||||
|
options.add(option.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void valueChanged(String newValue) {
|
public void valueChanged(String newValue) {
|
||||||
FModel.getPreferences().setPref(pref, newValue);
|
FModel.getPreferences().setPref(pref, newValue);
|
||||||
|
|||||||
Reference in New Issue
Block a user