Gauntlet Mode
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
21 posts
• Page 1 of 2 • 1, 2
Gauntlet Mode
by Doublestrike » 07 Oct 2012, 11:25
I was poking around in my Forge cave, turned over a rock, and...Gauntlet Mode!

Please report issues here.

Please report issues here.
Last edited by Doublestrike on 09 Oct 2012, 03:37, edited 1 time in total.
---
A joke is a very serious thing.
A joke is a very serious thing.
-
Doublestrike - UI Programmer
- Posts: 715
- Joined: 08 Aug 2011, 09:07
- Location: Bali
- Has thanked: 183 times
- Been thanked: 161 times
Re: Surprise
by Doublestrike » 07 Oct 2012, 11:27
Just one "documentation" type note that's not self-explanatory:
There's the "Contests" section, which is for gauntlets like "World Championships 1997" or something.
The deck packs that Gos creates are perfect for these. I've added "DotP Preconstructed" from one of his recent posts, and "Swimming with Sharks".
If a dev wants to add more of these, just add the prefix "LOCKED_" to the beginning of the .dat file in /res/gauntlets and it will show up on the contests screen.
There's the "Contests" section, which is for gauntlets like "World Championships 1997" or something.
The deck packs that Gos creates are perfect for these. I've added "DotP Preconstructed" from one of his recent posts, and "Swimming with Sharks".
If a dev wants to add more of these, just add the prefix "LOCKED_" to the beginning of the .dat file in /res/gauntlets and it will show up on the contests screen.
---
A joke is a very serious thing.
A joke is a very serious thing.
-
Doublestrike - UI Programmer
- Posts: 715
- Joined: 08 Aug 2011, 09:07
- Location: Bali
- Has thanked: 183 times
- Been thanked: 161 times
Re: Surprise
by Hellfish » 07 Oct 2012, 11:58
Got an exception after the splash disappears.
- Code: Select all
java.lang.ExceptionInInitializerError
at forge.gui.framework.EDocID.<clinit>(EDocID.java:79)
at forge.gui.match.VMatchUI.<init>(VMatchUI.java:36)
at forge.gui.match.VMatchUI.<clinit>(VMatchUI.java:32)
at forge.view.FView.cacheUIStates(FView.java:215)
at forge.view.FView.initialize(FView.java:102)
at forge.control.FControl$6.run(FControl.java:178)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalArgumentException: No enum constant forge.properties.ForgePreferences.FPref.SUBMENU_GAUNTLET
at java.lang.Enum.valueOf(Enum.java:236)
at forge.properties.ForgePreferences$FPref.valueOf(ForgePreferences.java:1)
at forge.gui.home.VMainMenu.<init>(VMainMenu.java:154)
at forge.gui.home.VMainMenu.<clinit>(VMainMenu.java:75)
... 20 more
- Code: Select all
Error loading Gauntlet Data
java.io.FileNotFoundException: res\gauntlet\.svn (Access is denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at forge.gauntlet.GauntletIO.loadGauntlet(GauntletIO.java:105)
at forge.gui.home.gauntlet.CSubmenuGauntletLoad.updateData(CSubmenuGauntletLoad.java:72)
at forge.gui.home.gauntlet.CSubmenuGauntletLoad.initialize(CSubmenuGauntletLoad.java:57)
at forge.view.FView.initialize(FView.java:107)
at forge.control.FControl$6.run(FControl.java:178)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
So now you're
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
-
Hellfish - Programmer
- Posts: 1297
- Joined: 07 Jun 2009, 10:41
- Location: South of the Pumphouse
- Has thanked: 110 times
- Been thanked: 169 times
Re: Surprise
by ArsenalNut » 07 Oct 2012, 14:54
I am getting the same exception when I try to start Forge.Hellfish wrote:Got an exception after the splash disappears.Adding the constant to FPref let's it go on to another exception
- Code: Select all
java.lang.ExceptionInInitializerError
at forge.gui.framework.EDocID.<clinit>(EDocID.java:79)
at forge.gui.match.VMatchUI.<init>(VMatchUI.java:36)
at forge.gui.match.VMatchUI.<clinit>(VMatchUI.java:32)
at forge.view.FView.cacheUIStates(FView.java:215)
at forge.view.FView.initialize(FView.java:102)
at forge.control.FControl$6.run(FControl.java:178)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalArgumentException: No enum constant forge.properties.ForgePreferences.FPref.SUBMENU_GAUNTLET
at java.lang.Enum.valueOf(Enum.java:236)
at forge.properties.ForgePreferences$FPref.valueOf(ForgePreferences.java:1)
at forge.gui.home.VMainMenu.<init>(VMainMenu.java:154)
at forge.gui.home.VMainMenu.<clinit>(VMainMenu.java:75)
... 20 more
- Code: Select all
Error loading Gauntlet Data
java.io.FileNotFoundException: res\gauntlet\.svn (Access is denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at forge.gauntlet.GauntletIO.loadGauntlet(GauntletIO.java:105)
at forge.gui.home.gauntlet.CSubmenuGauntletLoad.updateData(CSubmenuGauntletLoad.java:72)
at forge.gui.home.gauntlet.CSubmenuGauntletLoad.initialize(CSubmenuGauntletLoad.java:57)
at forge.view.FView.initialize(FView.java:107)
at forge.control.FControl$6.run(FControl.java:178)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
So many cards, so little time
-
ArsenalNut - Posts: 512
- Joined: 08 Jul 2011, 03:49
- Has thanked: 27 times
- Been thanked: 121 times
Re: Surprise
by Max mtg » 07 Oct 2012, 21:02
I saw this one as wellArsenalNut wrote:
- Code: Select all
java.lang.ExceptionInInitializerError
at forge.gui.framework.EDocID.<clinit>(EDocID.java:79)
at forge.gui.match.VMatchUI.<init>(VMatchUI.java:36)
at forge.gui.match.VMatchUI.<clinit>(VMatchUI.java:32)
at forge.view.FView.cacheUIStates(FView.java:215)
at forge.view.FView.initialize(FView.java:102)
at forge.control.FControl$6.run(FControl.java:178)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalArgumentException: No enum constant
Tried to fix it myself. see r17396
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Surprise
by friarsol » 07 Oct 2012, 21:35
I just played a Gauntlet Match. It looks like Gauntlet mode is only half ignoring the ante checkbox. No cards are ante-d in the beginning of the game, but at the end of the game it tries to add the blank cards to your deck. Providing this error:
Detailed error trace:
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(Unknown Source)
at forge.gui.match.ControlWinLose.executeAnte(ControlWinLose.java:115)
at forge.gui.match.ControlWinLose.startNextRound(ControlWinLose.java:99)
at forge.gui.match.ControlWinLose.actionOnContinue(ControlWinLose.java:71)
at forge.gui.match.ControlWinLose$1.actionPerformed(ControlWinLose.java:48)
Detailed error trace:
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(Unknown Source)
at forge.gui.match.ControlWinLose.executeAnte(ControlWinLose.java:115)
at forge.gui.match.ControlWinLose.startNextRound(ControlWinLose.java:99)
at forge.gui.match.ControlWinLose.actionOnContinue(ControlWinLose.java:71)
at forge.gui.match.ControlWinLose$1.actionPerformed(ControlWinLose.java:48)
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Surprise
by Max mtg » 07 Oct 2012, 23:22
Gauntlet mode is not adding games played to FMatchState (method addGamePlayed). If he did, the list from Singletons.getModel().getMatchState().getGamesPlayed() would have contained a game and there would be no OoBfriarsol wrote:I just played a Gauntlet Match. It looks like Gauntlet mode is only half ignoring the ante checkbox. No cards are ante-d in the beginning of the game, but at the end of the game it tries to add the blank cards to your deck. Providing this error:
Detailed error trace:
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(Unknown Source)
at forge.gui.match.ControlWinLose.executeAnte(ControlWinLose.java:115)
at forge.gui.match.ControlWinLose.startNextRound(ControlWinLose.java:99)
at forge.gui.match.ControlWinLose.actionOnContinue(ControlWinLose.java:71)
at forge.gui.match.ControlWinLose$1.actionPerformed(ControlWinLose.java:48)
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Surprise
by Chris H. » 08 Oct 2012, 00:05
I updated to rev 17403 and attempted to run forge from within Eclipse and I get the following crash report:
I used a utility to display all hidden files/folders starting with a "." and I can see the ".svn" folder located within the /res/gauntlet/ folder.
- Crash Report | Open
- This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.
Error loading Gauntlet Data
Version:
Forge version SVN
OS: Mac OS X Version: 10.7.5 Architecture: x86_64
Java Version: 1.6.0_35 Vendor: Apple Inc.
Detailed error trace:
java.io.FileNotFoundException: res/gauntlet/.svn (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at forge.gauntlet.GauntletIO.loadGauntlet(GauntletIO.java:105)
at forge.gui.home.gauntlet.CSubmenuGauntletLoad.updateData(CSubmenuGauntletLoad.java:73)
at forge.gui.home.gauntlet.CSubmenuGauntletLoad.initialize(CSubmenuGauntletLoad.java:58)
at forge.view.FView.initialize(FView.java:107)
at forge.control.FControl$6.run(FControl.java:178)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:702)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:663)
at java.awt.EventQueue$2.run(EventQueue.java:661)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:672)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
I used a utility to display all hidden files/folders starting with a "." and I can see the ".svn" folder located within the /res/gauntlet/ folder.
-
Chris H. - Forge Moderator
- Posts: 6320
- Joined: 04 Nov 2008, 12:11
- Location: Mac OS X Yosemite
- Has thanked: 644 times
- Been thanked: 643 times
Re: Surprise
by Doublestrike » 08 Oct 2012, 00:13
Wow, tough crowd 
I've tested on my two development environments and I'm not getting the SVN error...should be easy to fix if I can find it.
I'll fix the ante problem. I never use ante so it slipped through testing...on the list.

I've tested on my two development environments and I'm not getting the SVN error...should be easy to fix if I can find it.
I'll fix the ante problem. I never use ante so it slipped through testing...on the list.
---
A joke is a very serious thing.
A joke is a very serious thing.
-
Doublestrike - UI Programmer
- Posts: 715
- Joined: 08 Aug 2011, 09:07
- Location: Bali
- Has thanked: 183 times
- Been thanked: 161 times
Re: Surprise
by friarsol » 08 Oct 2012, 00:18
Now now. Gauntlet mode has easily been the top of the list of reasonable feature requests, I just want to make sure everything runs smoothly. Looked awesome before it died on meDoublestrike wrote:Wow, tough crowd

Last edited by friarsol on 08 Oct 2012, 00:23, edited 1 time in total.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Surprise
by Chris H. » 08 Oct 2012, 00:20
Doublestrike wrote:Wow, tough crowd![]()
We really appreciate your efforts and we all were anxious to try the new gauntlet mode out and a few of us had some problems and we are just trying to provide enough data to help the process along.

We will get it sorted out and we want to thank you for this new mode.

-
Chris H. - Forge Moderator
- Posts: 6320
- Joined: 04 Nov 2008, 12:11
- Location: Mac OS X Yosemite
- Has thanked: 644 times
- Been thanked: 643 times
Re: Surprise
by Doublestrike » 08 Oct 2012, 00:25
Glad it's working out then!
---
A joke is a very serious thing.
A joke is a very serious thing.
-
Doublestrike - UI Programmer
- Posts: 715
- Joined: 08 Aug 2011, 09:07
- Location: Bali
- Has thanked: 183 times
- Been thanked: 161 times
Re: Surprise
by Doublestrike » 08 Oct 2012, 01:11
Had a look at the ante problem and it's happening in Constructed mode too, which suggests a global bug, so I'm going to take this off my list for now.
(Screenshot is from constructed mode win; no cards are eligible to be added.)
(Screenshot is from constructed mode win; no cards are eligible to be added.)
---
A joke is a very serious thing.
A joke is a very serious thing.
-
Doublestrike - UI Programmer
- Posts: 715
- Joined: 08 Aug 2011, 09:07
- Location: Bali
- Has thanked: 183 times
- Been thanked: 161 times
Re: Surprise
by ArsenalNut » 08 Oct 2012, 13:13
I added a check in the GauntletIO methods that will ignore .svn directories. I was able to start forge without any errors after that.Chris H. wrote:I updated to rev 17403 and attempted to run forge from within Eclipse and I get the following crash report:
- Crash Report | Open
- This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.
Error loading Gauntlet Data
Version:
Forge version SVN
OS: Mac OS X Version: 10.7.5 Architecture: x86_64
Java Version: 1.6.0_35 Vendor: Apple Inc.
Detailed error trace:
java.io.FileNotFoundException: res/gauntlet/.svn (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at forge.gauntlet.GauntletIO.loadGauntlet(GauntletIO.java:105)
at forge.gui.home.gauntlet.CSubmenuGauntletLoad.updateData(CSubmenuGauntletLoad.java:73)
at forge.gui.home.gauntlet.CSubmenuGauntletLoad.initialize(CSubmenuGauntletLoad.java:58)
at forge.view.FView.initialize(FView.java:107)
at forge.control.FControl$6.run(FControl.java:178)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:702)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:663)
at java.awt.EventQueue$2.run(EventQueue.java:661)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:672)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
I used a utility to display all hidden files/folders starting with a "." and I can see the ".svn" folder located within the /res/gauntlet/ folder.
So many cards, so little time
-
ArsenalNut - Posts: 512
- Joined: 08 Jul 2011, 03:49
- Has thanked: 27 times
- Been thanked: 121 times
Re: Surprise
by Max mtg » 08 Oct 2012, 13:25
Wish you used my StorageReaderFolder class for readin all files in a folder.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
21 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 53 guests