Split up the CHANGES.txt file into several others for easier automated releases and maintainability

This commit is contained in:
Krazy
2017-04-28 22:06:14 +00:00
parent ac740ca16c
commit 01f6018d4f
13 changed files with 2480 additions and 2195 deletions

6
.gitattributes vendored
View File

@@ -1464,11 +1464,15 @@ forge-gui/.project -text
forge-gui/.settings/org.eclipse.core.resources.prefs -text
forge-gui/.settings/org.eclipse.jdt.core.prefs -text
forge-gui/.settings/org.eclipse.m2e.core.prefs -text
forge-gui/CHANGES.txt -text
forge-gui/LICENSE.txt -text
forge-gui/MANUAL.txt -text
forge-gui/README.txt -text
forge-gui/forge.profile.properties.example -text
forge-gui/pom.xml -text
forge-gui/release-files/CHANGES.txt -text
forge-gui/release-files/CONTRIBUTORS.txt -text
forge-gui/release-files/INSTALLATION.txt -text
forge-gui/release-files/ISSUES.txt -text
forge-gui/res/ai/Default.ai -text
forge-gui/res/ai/Experimental.ai -text
forge-gui/res/ai/Reckless.ai -text

View File

@@ -278,8 +278,11 @@
<target>
<copy todir="${project.build.directory}/res">
<fileset dir="${basedir}/../forge-gui/" includes="LICENSE.txt" />
<fileset dir="${basedir}/../forge-gui/" includes="README.txt" />
<fileset dir="${basedir}/../forge-gui/" includes="CHANGES.txt" />
<fileset dir="${basedir}/../forge-gui/release-files/" includes="CONTRIBUTORS.txt"/>
<fileset dir="${basedir}/../forge-gui/release-files/" includes="INSTALLATION.txt"/>
<fileset dir="${basedir}/../forge-gui/release-files/" includes="ISSUES.txt"/>
<fileset dir="${basedir}/../forge-gui/release-files/" includes="CHANGES.txt"/>
<fileset dir="${basedir}/../forge-gui/" includes="MANUAL.txt" />
<fileset dir="${basedir}/../forge-gui/">
<include name="res/**" />
<exclude name="res/cardsfolder/**" />

File diff suppressed because it is too large Load Diff

View File

@@ -67,20 +67,29 @@ public enum CSubmenuReleaseNotes implements ICDoc {
}
/**
* Returns content of CHANGES.txt.
* Returns content of README.txt (release) or CHANGES.txt (snapshot).
*/
private static String getReleaseNotes() {
// !! Linux is case-sensitive so file name and extension need to match exactly !!
final String filename = ForgeConstants.CHANGES_FILE;
final String filename = ForgeConstants.CHANGES_FILE_NO_RELEASE;
final String filePath = FileUtil.pathCombine(System.getProperty("user.dir"), filename);
//The file packaged with full releases is not the same as the one for snapshots
final String filenameRelease = ForgeConstants.CHANGES_FILE;
final String filePathRelease = FileUtil.pathCombine(System.getProperty("user.dir"), filenameRelease);
String notes;
if (FileUtil.doesFileExist(filePath)) {
notes = filePath + "\n\n" + FileUtil.readFileToString(filePath);
} else if (FileUtil.doesFileExist(filePathRelease)) {
notes = filePathRelease + "\n\n" + FileUtil.readFileToString(filePathRelease);
} else {
notes = filePath + "\nis MISSING!";
}
return notes;
}
}

View File

@@ -6,12 +6,12 @@
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
@@ -31,14 +31,14 @@ import net.miginfocom.swing.MigLayout;
import javax.swing.*;
/**
* Displays contents of CHANGES.txt file.
/**
* Displays contents of README.txt (release) or CHANGES.txt (snapshot) file.
*
* @version $Id$
*
*
*/
public enum VSubmenuReleaseNotes implements IVSubmenu<CSubmenuReleaseNotes> {
/** */
SINGLETON_INSTANCE;
// Fields used with interface IVDoc
@@ -49,10 +49,7 @@ public enum VSubmenuReleaseNotes implements IVSubmenu<CSubmenuReleaseNotes> {
private SkinnedTextArea tar;
private final FScrollPane scroller;
/**
* Constructor.
*/
private VSubmenuReleaseNotes() {
VSubmenuReleaseNotes() {
pnlMain.setOpaque(false);
pnlMain.setLayout(new MigLayout("insets 0, gap 0, wrap 2"));
@@ -165,4 +162,5 @@ public enum VSubmenuReleaseNotes implements IVSubmenu<CSubmenuReleaseNotes> {
}
});
}
}

View File

@@ -1,93 +0,0 @@
Forge Beta: ??-??-2017 ver 1.5.62
16685 cards in total.
-------------
Release Notes
-------------
- IMPORTANT: Partial backwards incompatibility with older decks that contain Masterpieces -
In case you have decks in your profile folder that contain one or more Masterpieces from the Kaladesh/Aether Revolt masterpiece series (previously the set code was MPS), you may experience an issue with cards that are present in the Masterpieces set disappearing visually and malfunctioning in the game (even if you use a version of the same card from a different set). The two primary waya this manifests itself are: a) you get a message stating that there is an unsupported card in one of your decks (this message shows in the console only); b) the card picture does not show in the game or in the deck editor and the card is reported as non-functional. If this happens to you, you have several options: either remove the offending deck altogether (you may have to do a search inside the profile folder to determine which decks have the mentioned card from the MPS set), or manually edit the deck file and change the set code MPS to MPS_KLD for such cards, or start with a fresh profile folder or at least fresh deck subfolder (but the latter obviously only works if you don't mind losing your entire progress and would like to start fresh). We apologize for the inconvenience.
- Amonkhet Release -
This release contains most of the cards from the newly released Amonkhet set. Please bear with us as we iron out any bugs with this set and get the images uploaded.
- Display Storm Count in Prompt Pane/Panel -
There is a new option to visualize the current storm count in the prompt pane (in desktop Forge) or panel (in mobile Forge). It is disabled by default, but can be enabled in Forge preferences, please refer to the "Show Storm Count in Prompt Pane/Panel" option.
- Bug fixes -
As always, this release of Forge features an assortment of bug fixes and improvements based on user feedback during the 1.5.60 Beta release run.
------------
Known Issues
------------
Images for the latest sets will be available soon.
Aluren currently does not allow to cast creatures from other zones (e.g. Graveyard) if there is an active effect from another card permitting to cast them from there. This interaction is rather tricky to implement properly, but hopefully it will be resolved soon.
There is a known issue with the cost reduction for cards that have color-locked X in their mana cost (e.g. Drain Life, Soul Burn). Cost reduction will not apply correctly to these cards if the amount by which the cost is reduced is greater than the amount of colorless mana in the mana cost specified on the card (e.g. 1 for Drain Life, 2 for Soul Burn). Fixing this issue likely requires rewriting the way announced color-locked X is interpreted and paid (most likely it has to be represented with colorless mana shards but still locked to the colors required by the card).
Currently Improvise is implemented as a "clone" of Convoke keyword, which does not work correctly in corner cases (for example, together with an instance of Convoke or Delve). This is planned to be addressed soon.
Replacement effects that happen when a card moves from zone to zone (e.g. ETB replacement effect of Essence of the Wild; Kalitas, Traitor of Ghet replacement effect for a dying creature) need some rework to allow all of them to work in a rule-exact way without the need for special exclusions and hacks (see ReplacementHandler.java:120).
There is a known issue that allows Qasali Ambusher to be cast from any zone for its ambush ability (requires MayPlay update to be fixed). For now, a temporary measure was set up to prevent the AI from abusing this issue, but it is up to the human player to deliberately choose not to abuse this when possible.
Several people have noticed that the cards displayed on the battlefield will fail to be displayed when the number of cards on the battlefield increases. Maximizing the human panel can help to re-display the cards.
Some time was spent turning the static ETB triggers into the proper ETB replacement effects they should be, mainly to interact correctly with each other. This work is not yet finished. As a result there is currently some inconsistencies with "Enters the battlefield with counters" (Not incredibly noticeable).
A recent contribution to the code base should fix some of the bugs that people noticed with cloning type abilities. At this time there is one remaining issue that we hope will be addressed in the near future:
Copies of cards that setup Zone Change triggers via addComesIntoPlayCommand and addLeavesPlayCommand will not function correctly.
----------------------------
Forge Archive Instructions
----------------------------
The Forge archive includes a readme.txt file and we ask that you spend a few minutes reading this file as it contains some information that may prove useful. We do tend to update this file at times and you should quickly read this file and look for new information for each and every new release. Thank you.
The archive format used for the Forge distribution is ".tar.bz2". There are utilities for Windows, Mac OS and the various *nix's that can be used to extract/decompress these ".tar.bz2" archives. We recommend that you extract/decompress the Forge archive into a new and unused folder.
Some people use the Windows application 7zip. This utility can be found at http://www.7-zip.org/download.html. Mac users can double click on the archive and the application Archive Utility will launch and extract the archive. Mac users do not need to download a separate utility.
Once the Forge archive has been decompressed you should then be able to launch Forge by using the included launcher. Launching Forge by double clicking on the forge jar file in the past caused a java heap space error. Forge's memory requirements have increased over time and the launchers increase the java heap space available to Forge. Currently you can launch Forge by double clicking on the forge jar file without a java heap space error but this is likely to change as we add in more sounds, icons, etc.
(Unfortunately, until our Release Manager who owns a Mac is back, the Mac application of Forge can not be distributed. Hopefully it'll be back sooner rather than later.)
- The Mac OS application version -
We can now package Forge as a Mac OS application. You can double click the Forge.app icon to launch the forge application on your Apple computer running Mac OS. This application will automatically increase the java heap space memory for you as it launches. This version does not require the forge.command file and it does not need to start the Terminal application as part of the start up process.
The Mac OS X app version apparently requires the Mavericks OS and is not compatible with earlier OS X versions. People with earlier OS X versions should use the Windows and Linux version and launch forge on their Mac by double clicking on the included "forge.command" file.
----------------------------
Contributors to This Release
----------------------------
Agetian
DrDev
excessum
Gos
Hanmac
KrazyTheFox
Marek14
mcrawford620
Myrd
nefigah
pfps
Sloth
slyfox7777777
Sol
Swordshine
tjtillman
tojammot
torridus
Xyx
Zuchinni
(Quest icons used created by Teekatas, from his Legendora set http://raindropmemory.deviantart.com)
(Thanks to the XMage team for permission to use their targeting arrows.)
(Thanks to http://www.freesound.org/browse/ for providing some sound files.)

1572
forge-gui/MANUAL.txt Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,11 @@
- IMPORTANT: Partial backwards incompatibility with older decks that contain Masterpieces -
In case you have decks in your profile folder that contain one or more Masterpieces from the Kaladesh/Aether Revolt masterpiece series (previously the set code was MPS), you may experience an issue with cards that are present in the Masterpieces set disappearing visually and malfunctioning in the game (even if you use a version of the same card from a different set). The two primary waya this manifests itself are: a) you get a message stating that there is an unsupported card in one of your decks (this message shows in the console only); b) the card picture does not show in the game or in the deck editor and the card is reported as non-functional. If this happens to you, you have several options: either remove the offending deck altogether (you may have to do a search inside the profile folder to determine which decks have the mentioned card from the MPS set), or manually edit the deck file and change the set code MPS to MPS_KLD for such cards, or start with a fresh profile folder or at least fresh deck subfolder (but the latter obviously only works if you don't mind losing your entire progress and would like to start fresh). We apologize for the inconvenience.
- Amonkhet Release -
This release contains most of the cards from the newly released Amonkhet set. Please bear with us as we iron out any bugs with this set and get the images uploaded.
- Display Storm Count in Prompt Pane/Panel -
There is a new option to visualize the current storm count in the prompt pane (in desktop Forge) or panel (in mobile Forge). It is disabled by default, but can be enabled in Forge preferences, please refer to the "Show Storm Count in Prompt Pane/Panel" option.
- Bug fixes -
As always, this release of Forge features an assortment of bug fixes and improvements based on user feedback during the 1.5.60 Beta release run.

View File

@@ -0,0 +1,21 @@
Agetian
Austinio7116
DrDev
excessum
Gos
Hanmac
KrazyTheFox
Marek14
mcrawford620
Myrd
nefigah
pfps
Sloth
slyfox7777777
Sol
Swordshine
tjtillman
tojammot
torridus
Xyx
Zuchinni

View File

@@ -0,0 +1,13 @@
The Forge archive includes a MANUAL.txt file and we ask that you spend a few minutes reading this file as it contains some information that may prove useful. We do tend to update this file at times and you should quickly read this file and look for new information for each and every new release. Thank you.
The archive format used for the Forge distribution is ".tar.bz2". There are utilities for Windows, Mac OS and the various *nix's that can be used to extract/decompress these ".tar.bz2" archives. We recommend that you extract/decompress the Forge archive into a new and unused folder.
Some people use the Windows application 7zip. This utility can be found at http://www.7-zip.org/download.html. Mac users can double click on the archive and the application Archive Utility will launch and extract the archive. Mac users do not need to download a separate utility.
Once the Forge archive has been decompressed you should then be able to launch Forge by using the included launcher. Launching Forge by double clicking on the forge jar file in the past caused a java heap space error. Forge's memory requirements have increased over time and the launchers increase the java heap space available to Forge. Currently you can launch Forge by double clicking on the forge jar file without a java heap space error but this is likely to change as we add in more sounds, icons, etc.
- The Mac OS application version -
(Unfortunately, until our Release Manager who owns a Mac is back, the Mac application of Forge can not be distributed. Hopefully it'll be back sooner rather than later.)
We can now package Forge as a Mac OS application. You can double click the Forge.app icon to launch the forge application on your Apple computer running Mac OS. This application will automatically increase the java heap space memory for you as it launches. This version does not require the forge.command file and it does not need to start the Terminal application as part of the start up process.
The Mac OS X app version apparently requires the Mavericks OS and is not compatible with earlier OS X versions. People with earlier OS X versions should use the Windows and Linux version and launch forge on their Mac by double clicking on the included "forge.command" file.

View File

@@ -0,0 +1,18 @@
Images for the latest sets will be available soon.
Aluren currently does not allow to cast creatures from other zones (e.g. Graveyard) if there is an active effect from another card permitting to cast them from there. This interaction is rather tricky to implement properly, but hopefully it will be resolved soon.
There is a known issue with the cost reduction for cards that have color-locked X in their mana cost (e.g. Drain Life, Soul Burn). Cost reduction will not apply correctly to these cards if the amount by which the cost is reduced is greater than the amount of colorless mana in the mana cost specified on the card (e.g. 1 for Drain Life, 2 for Soul Burn). Fixing this issue likely requires rewriting the way announced color-locked X is interpreted and paid (most likely it has to be represented with colorless mana shards but still locked to the colors required by the card).
Currently Improvise is implemented as a "clone" of Convoke keyword, which does not work correctly in corner cases (for example, together with an instance of Convoke or Delve). This is planned to be addressed soon.
Replacement effects that happen when a card moves from zone to zone (e.g. ETB replacement effect of Essence of the Wild; Kalitas, Traitor of Ghet replacement effect for a dying creature) need some rework to allow all of them to work in a rule-exact way without the need for special exclusions and hacks (see ReplacementHandler.java:120).
There is a known issue that allows Qasali Ambusher to be cast from any zone for its ambush ability (requires MayPlay update to be fixed). For now, a temporary measure was set up to prevent the AI from abusing this issue, but it is up to the human player to deliberately choose not to abuse this when possible.
Several people have noticed that the cards displayed on the battlefield will fail to be displayed when the number of cards on the battlefield increases. Maximizing the human panel can help to re-display the cards.
Some time was spent turning the static ETB triggers into the proper ETB replacement effects they should be, mainly to interact correctly with each other. This work is not yet finished. As a result there is currently some inconsistencies with "Enters the battlefield with counters" (Not incredibly noticeable).
A recent contribution to the code base should fix some of the bugs that people noticed with cloning type abilities. At this time there is one remaining issue that we hope will be addressed in the near future:
Copies of cards that setup Zone Change triggers via addComesIntoPlayCommand and addLeavesPlayCommand will not function correctly.

View File

@@ -45,10 +45,11 @@ public final class ForgeConstants {
public static final String NET_DECKS_LIST_FILE = LISTS_DIR + "net-decks.txt";
public static final String NET_DECKS_COMMANDER_LIST_FILE = LISTS_DIR + "net-decks-commander.txt";
public static final String CHANGES_FILE = ASSETS_DIR + "CHANGES.txt";
public static final String LICENSE_FILE = ASSETS_DIR + "LICENSE.txt";
public static final String README_FILE = ASSETS_DIR + "README.txt";
public static final String HOWTO_FILE = RES_DIR + "howto.txt";
public static final String CHANGES_FILE = ASSETS_DIR + "README.txt";
public static final String CHANGES_FILE_NO_RELEASE = ASSETS_DIR + "CHANGES.txt";
public static final String LICENSE_FILE = ASSETS_DIR + "LICENSE.txt";
public static final String README_FILE = ASSETS_DIR + "MANUAL.txt";
public static final String HOWTO_FILE = RES_DIR + "howto.txt";
public static final String DRAFT_DIR = RES_DIR + "draft" + PATH_SEPARATOR;
public static final String DRAFT_RANKINGS_FILE = DRAFT_DIR + "rankings.txt";