Remove outdated stuff (#9105)

This commit is contained in:
tool4ever
2025-11-07 12:28:33 +01:00
committed by GitHub
parent c765769466
commit a29ead42b0
16 changed files with 37 additions and 131 deletions

View File

@@ -2,8 +2,6 @@
[Official repo](https://github.com/Card-Forge/forge.git).
Dev instructions here: [Getting Started](https://github.com/Card-Forge/forge/wiki) (Somewhat outdated)
## Requirements / Tools
- your favourite Java IDE (IntelliJ, Eclipse, VSCodium, Emacs, Vi...)
@@ -18,11 +16,10 @@ Dev instructions here: [Getting Started](https://github.com/Card-Forge/forge/wik
## Project Quick Setup
- Login into GitHub with your user account and fork the project.
- Login into GitHub with your user account and fork the project
- Clone your forked project to your local machine
- Go to the project location on your machine. Run Maven to download all dependencies and build a snapshot. Example for Windows & Linux: `mvn -U -B clean -P windows-linux install`
- Go to the project location on your machine. Run Maven to download all dependencies and build a snapshot.
- Example for Windows & Linux: `mvn -U -B clean -P windows-linux install`
## IntelliJ
@@ -30,107 +27,28 @@ IntelliJ is the recommended IDE for Forge development. Quick start guide for [se
## Eclipse
Eclipse includes Maven integration so a separate install is not necessary. For other IDEs, your mileage may vary.
At this time, Eclipse is not the recommended IDE for Forge development.
Eclipse includes Maven integration so a separate install is not necessary.
Google no longer supports Android SDK releases for Eclipse.
### Project Setup
- Follow the instructions for cloning from GitHub. You'll need to setup an account and your SSH key.
If you are on a Windows machine you can use Putty with TortoiseGit for SSH keys. Run puttygen.exe to generate the key -- save the private key and export
the OpenSSH public key. If you just leave the dialog open, you can copy and paste the key from it to your GitHub profile under
"SSH keys". Run pageant.exe and add the private key generated earlier. TortoiseGit will use this for accessing GitHub.
- Fork the Forge git repo to your GitHub account.
- Clone your forked repo to your local machine.
- Make sure the Java SDK is installed -- not just the JRE. Java 17 or newer required. If you execute `java -version` at the shell or command prompt, it should report version 17 or later.
- Install Eclipse 2021-12 or later for Java. Launch it.
- Create a workspace. Go to the workbench. Right-click inside of Package Explorer > Import... > Maven > Existing Maven Projects > Navigate to root path of the local forge repo and
ensure everything is checked > Finish.
- Let Eclipse run through building the project. You may be prompted for resolving any missing Maven plugins -- accept the ones offered. You may see errors appear in the "Problems" tab. These should
be automatically resolved as plug-ins are installed and Eclipse continues the build process. If this is the first time for some plug-in installs, Eclipse may prompt you to restart. Do so. Be patient
for this first time through.
- Once everything builds, all errors should disappear. You can now advance to Project launch.
### Project Launch
#### Desktop
This is the standard configuration used for releasing to Windows / Linux / MacOS.
- Right-click on forge-gui-desktop > Run As... > Java Application > "Main - forge.view" > Ok
- The familiar Forge splash screen, etc. should appear. Enjoy!
#### Mobile (Desktop dev)
This is the configuration used for doing mobile development using the Windows / Linux / MacOS front-end. Knowledge of libgdx is helpful here.
- Right-click on forge-gui-mobile-dev > Run As... > Java Application > "Main - forge.app" > Ok.
- A view similar to a mobile phone should appear. Enjoy!
### Eclipse / Android SDK Integration
Google no longer supports Android SDK releases for Eclipse. use IntelliJ.
#### Android SDK
## Windows
TBD
##### Windows
## Linux / Mac OSX
TBD
##### Linux / Mac OSX
### Android Platform
TBD
#### Android Plugin for Eclipse
TBD
#### Android Platform
In Intellij, if the SDK Manager is not already running, go to Tools > Android > Android SDK Manager. Install the following options / versions:
In IntelliJ, if the SDK Manager is not already running, go to Tools > Android > Android SDK Manager. Install the following options / versions:
- Android SDK Build-tools 35.0.0
- Android 15 (API 35) SDK Platform
#### Proguard update
### Proguard update
Standalone Proguard 7.6.0 is included with the project (proguard.jar) under forge-gui-android > tools and supports up to Java 23 (latest android uses Java 17).
#### Android Build
TBD
#### Android Deploy
TBD
#### Android Debugging
TBD
### Windows / Linux SNAPSHOT build
SNAPSHOT builds can be built via the Maven integration in Eclipse.
1. Create a Maven build for the forge top-level project. Right-click on the forge project. Run as.. > Maven build...
- On the Main tab, set Goals: clean install, set Profiles: windows-linux
2. Run forge Maven build. If everything built, you should see "BUILD SUCCESS" in the Console View.
The resulting snapshot will be found at: forge-gui-desktop/target/forge-gui-desktop-[version]-SNAPSHOT
## Card Scripting
Visit [this page](https://github.com/Card-Forge/forge/wiki/Card-scripting-API) for information on scripting.
@@ -193,3 +111,5 @@ Mobile GUI game logic utilizing [libgdx](https://libgdx.badlogicgames.com/) libr
#### forge-gui-mobile-dev
Libgdx backend for desktop development for mobile backends. Utilizes LWJGL. Relies on forge-gui-mobile for GUI logic.
#### forge-installer

View File

@@ -1,5 +1,7 @@
Using the Forge API you can create your own custom cards and sets. This tutorial will walk you through the process of creating custom cards via the Force Custom Card Script.
If you are trying to script cards for a new set make sure you take advantage of the [Developer Mode](Development/DevMode.md) for testing to try and contribute without any obvious bugs.
## File Locations
### Custom Card Scripts

View File

@@ -2,19 +2,10 @@ Developer Mode is a Mode that allows Developers to try out different
things and gain different shortcuts during play. In a Normal program,
this Mode would be available in a Debug build, but removed from the code
during the Retail build. Since Forge is in constant Beta, this Mode is
available during our Beta releases. On the NewGame Screen, just make
sure it's checked and you'll be able to edit the options at any point
during the game.
available during our Beta releases. You can turn on or off this mode at the
Home View -> Game Settings -> Preferences -> Gameplay Options section.
## Lose By Decking
This one is a simple Checkbox. If your Library is Empty and you try to
try a card, you normally lose the game. This checkbox should be on by
Default (meaning you lose) but if you are running a deck without many
cards, uncheck this box so you don't lose when failing to draw a card
when you need to.
\[THIS OPTION NOT READILY VISIBLE IN VERSIONS 1.6.23\]
It's important to note you won't get achievements in a game once you started cheating.
## View Zone
@@ -26,8 +17,7 @@ that Zone are revealed to you.
## Generate Mana
Useful for not needing Land in your Deck while you are just trying to
test something out, by selecting Generate Mana, 7 of each color and 7
colorless is generated and put into your Mana Pool.
test something out, by selecting Generate Mana, 7 of each type is generated and put into your Mana Pool.
## Setup Game State
@@ -179,5 +169,3 @@ AI hands and leaves them intact, and adds Force of Nature, Raging
Goblin, and Amulet of Kroog to the computer's graveyard. Does not
replace either library. Sets the current player to Human and the current
phase to Main 1.
It's important to note you won't get achievements in a game once you started cheating.

View File

@@ -40,7 +40,5 @@ It would be useful for other people to be comfortable with the release process.
* Create a PR from your branch and get it merged as quickly as you can (ideally before other PRs are merged).
* Create a new release from https://github.com/Card-Forge/forge/releases
* Upload the package and its sha to the create new release page
4. Marketing
5. Marketing
* Advertise in the #announcements channel in the Discord

View File

@@ -26,6 +26,8 @@ Mostly old-style interface with new age loading screen. Initial card scripting i
Supports over 10,000 cards. We start using a reconstructed UI that allows for better theming. And makes things feel less like an "Application" and more like a "Game"
## 2013-10 - ver 1.5.1 is the first with Commander
## 2014-05 - Android app is published via Maven
## 2015-04 - Network play is rudimentary but available

View File

@@ -55,9 +55,8 @@ _**Download and unpack/install the package to their own new folder!**_
## What if double-clicking doesnt work?
Sometimes double-clicking will open the jar file in a different program.
In Windows, you may need to right-click and open the properties to
change the launching program to Java. This might be different in OSX or
Linux systems (file permission related).
In Windows, you may need to right-click and open the properties to change the launching program to Java.
This might be different in OSX or Linux systems (file permission related).
## Manual Extraction (tar.bz2)
@@ -87,3 +86,10 @@ Linux systems (file permission related).
- If adventure mode option does not show up;
- check you're up to date with your version.
- check in the settings that the "Selector Mode" is set to `Default`
# Gameplay
## Full Control
Right click/long tap on your player avatar:<br />
This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.

View File

@@ -20,7 +20,7 @@
- [Equipments and Items](Adventure/Equipments-and-Items.md)
- [Keyboard Shortcuts](Keyboard-Shortcuts.md)
- [Controller Support](Adventure/GAMEPAD.md)
- [Console and Cheats](Console-and-Cheats.md)
- [Console and Cheats](Adventure/Console-and-Cheats.md)
- [Modding and content creation](Adventure/Modding.md)
@@ -43,12 +43,13 @@
- [Costs](Card-scripting-API/Costs.md)
- [Affected / Targets](Card-scripting-API/Targeting.md)
- [Restrictions / Conditions](Card-scripting-API/Restrictions.md)
- [Tutorial: Creating a custom Card](Card-scripting-API/Creating-a-Custom-Card.md)
- [Tutorial: creating a custom card](Card-scripting-API/Creating-a-Custom-Card.md)
- [Development]((SM-autoconverted)-how-to-get-started-developing-forge.md)
- [IntelliJ Setup](Development/IntelliJ-setup/IntelliJ-setup.md)
- [Snapshots and Releases](Development/Snapshots-and-Releases.md)
- [Android Builds](Development/Android-Builds.md)
- [Dev Mode](Development/DevMode.md)
- [Ownership](Development/ownership.md)
- [Docker Container](docker-setup.md)

View File

@@ -1514,9 +1514,9 @@ public final class CMatchUI
Set<FullControlFlag> controlFlags = getGameView().getGame().getPlayer(pv).getController().getFullControl();
final String lblFullControl = Localizer.getInstance().getMessage("lblFullControl");
final JPopupMenu menu = new JPopupMenu(lblFullControl);
GuiUtils.addMenuItem(menu, lblFullControl, null, () -> {
FOptionPane.showMessageDialog(Localizer.getInstance().getMessage("lblFullControlDetails"), lblFullControl);
});
menu.add(
GuiUtils.createMenuItem("- " + lblFullControl + " -", null, null, false, true)
);
addFullControlEntry(menu, "lblChooseCostOrder", FullControlFlag.ChooseCostOrder, controlFlags);
addFullControlEntry(menu, "lblChooseCostReductionOrder", FullControlFlag.ChooseCostReductionOrderAndVariableAmount, controlFlags);

View File

@@ -68,7 +68,6 @@ import forge.toolbox.FDisplayObject;
import forge.toolbox.FOptionPane;
import forge.trackable.TrackableCollection;
import forge.util.ITriggerEvent;
import forge.util.Localizer;
import forge.util.MessageUtil;
import forge.util.WaitCallback;
import forge.util.collect.FCollectionView;
@@ -751,10 +750,7 @@ public class MatchController extends AbstractGuiGame {
FPopupMenu menu = new FPopupMenu() {
@Override
protected void buildMenu() {
addItem(new FMenuItem(Forge.getLocalizer().getMessage("lblFullControl"),
e -> {
FOptionPane.showMessageDialog(Localizer.getInstance().getMessage("lblFullControlDetails"), "Full Control details");
}));
addItem(new FMenuItem("- " + Forge.getLocalizer().getMessage("lblFullControl") + " -", null, false));
addItem(getFullControlMenuEntry("lblChooseCostOrder", FullControlFlag.ChooseCostOrder, controlFlags));
addItem(getFullControlMenuEntry("lblChooseCostReductionOrder", FullControlFlag.ChooseCostReductionOrderAndVariableAmount, controlFlags));
addItem(getFullControlMenuEntry("lblNoPaymentFromManaAbility", FullControlFlag.NoPaymentFromManaAbility, controlFlags));

View File

@@ -1293,7 +1293,6 @@ lblMorph=Morph
lblCraft=anzahl der herzustellenden Karten
#PlayerControllerHuman.java
lblFullControl=Full Control
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
lblChooseCostOrder=Choose cost order
lblChooseCostReductionOrder=Choose cost reduction order & amount
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana

View File

@@ -1300,7 +1300,6 @@ lblMorph=Mutar
lblCraft=cuántas cartas crear
#PlayerControllerHuman.java
lblFullControl=Full Control
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
lblChooseCostOrder=Choose cost order
lblChooseCostReductionOrder=Choose cost reduction order & amount
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana

View File

@@ -1294,7 +1294,6 @@ lblMorph=Morph
lblCraft=combien de cartes créer
#PlayerControllerHuman.java
lblFullControl=Full Control
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
lblChooseCostOrder=Choose cost order
lblChooseCostReductionOrder=Choose cost reduction order & amount
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana

View File

@@ -1291,7 +1291,6 @@ lblMorph=Metamorfosi
lblCraft=quante carte creare
#PlayerControllerHuman.java
lblFullControl=Full Control
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
lblChooseCostOrder=Choose cost order
lblChooseCostReductionOrder=Choose cost reduction order & amount
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana

View File

@@ -1293,7 +1293,6 @@ lblMorph=変異
lblCraft=カードを何枚作成するか
#PlayerControllerHuman.java
lblFullControl=Full Control
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
lblChooseCostOrder=Choose cost order
lblChooseCostReductionOrder=Choose cost reduction order & amount
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana

View File

@@ -1320,7 +1320,6 @@ lblMorph=Metamorfose
lblCraft=quantas cartas criar
#PlayerControllerHuman.java
lblFullControl=Full Control
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
lblChooseCostOrder=Choose cost order
lblChooseCostReductionOrder=Choose cost reduction order & amount
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana

View File

@@ -1297,7 +1297,6 @@ lblMorph=变身
lblCraft=需要制作多少张卡片
#PlayerControllerHuman.java
lblFullControl=Full Control
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
lblChooseCostOrder=Choose cost order
lblChooseCostReductionOrder=Choose cost reduction order & amount
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana