It is currently 19 May 2025, 18:26
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Bug Reports (snapshot builds)

Postby Agetian » 04 Jan 2014, 18:39

I believe I fixed sideboarding in r24138.

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Diogenes » 04 Jan 2014, 22:36

"Randomize Card Art" no longer works. I'm pretty sure this happened in the last few days.

If no set is specified for a card, Forge will use the latest available image. If a set is specified, Forge will randomly choose one from the available unique images (most notable with basic lands) and use only that image until the program is restarted.
Diogenes
 
Posts: 201
Joined: 12 Jul 2012, 00:54
Has thanked: 39 times
Been thanked: 23 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 05 Jan 2014, 06:05

@ Diogenes: No, this actually happened quite a while ago and over several revisions. Someone simply deleted the relevant code without reimplementing it in whatever way it was supposed to be reimplemented in his mind. I have restored the relevant piece of code.

----
P.S. To whomever it may concern: if this implementation is considered suboptimal now and that's the reason it was removed, please consider reimplementing it in a better way (since you unquestionably know how and I can't read other people's mind ;)). Otherwise, please do not randomly remove this code.
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 05 Jan 2014, 08:12

r24147: Got this crash when closing the Spell Shop window (tried two more times and both times crashed too, so it seems like a recurring bug, not a random one-shot bug):

NullPointerException | Open
Code: Select all
Forge Version:    1.5.9-SNAPSHOT-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Linux 3.8.0-26-generic amd64
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.gui.toolbox.FSkin$JTableSkin.setSelectionBackground(FSkin.java:386)
   at forge.gui.toolbox.itemmanager.views.ItemListView$1.focusLost(ItemListView.java:98)
   at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:230)
   at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229)
   at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229)
   at java.awt.Component.processFocusEvent(Component.java:6397)
   at java.awt.Component.processEvent(Component.java:6261)
   at java.awt.Container.processEvent(Container.java:2229)
   at java.awt.Component.dispatchEventImpl(Component.java:4861)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1895)
   at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:947)
   at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:621)
   at java.awt.Component.dispatchEventImpl(Component.java:4731)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at sun.awt.SunToolkit$1.run(SunToolkit.java:507)
   at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:694)
   at java.awt.EventQueue$3.run(EventQueue.java:692)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby drdev » 05 Jan 2014, 08:23

Agetian wrote:r24147: Got this crash when closing the Spell Shop window (tried two more times and both times crashed too, so it seems like a recurring bug, not a random one-shot bug):

NullPointerException | Open
Code: Select all
Forge Version:    1.5.9-SNAPSHOT-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Linux 3.8.0-26-generic amd64
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.gui.toolbox.FSkin$JTableSkin.setSelectionBackground(FSkin.java:386)
   at forge.gui.toolbox.itemmanager.views.ItemListView$1.focusLost(ItemListView.java:98)
   at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:230)
   at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229)
   at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229)
   at java.awt.Component.processFocusEvent(Component.java:6397)
   at java.awt.Component.processEvent(Component.java:6261)
   at java.awt.Container.processEvent(Container.java:2229)
   at java.awt.Component.dispatchEventImpl(Component.java:4861)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1895)
   at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:947)
   at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:621)
   at java.awt.Component.dispatchEventImpl(Component.java:4731)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at sun.awt.SunToolkit$1.run(SunToolkit.java:507)
   at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:694)
   at java.awt.EventQueue$3.run(EventQueue.java:692)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Fixed in r24148.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 05 Jan 2014, 08:38

r24150: When editing a deck in Quest mode, the subtitle above the card list still says "Main" if you switch the editor into Sideboard mode (but the title in the top part of the editor says Sideboard).

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 05 Jan 2014, 11:36

I committed r21451 in an attempt to fix the Quest mode deck editor bug above. It works for the most part (now it correctly changes the subtitle from Main to Sideboard and vice-versa depending on which section is being edited). However, there's a quirk that I can't get rid of: if you switch the quest deck editor to Sideboard, then switch to a regular (Constructed) deck editor, then back to the quest deck editor, the subtitle will show "Sideboard" while the deck editor will be in the main deck mode. Not sure how to fix the latter, my attempts at inserting the relevant code (updateCaptions, etc.) into a couple spots which seemed viable resulted in NPEs, so I didn't go for them. Please assist if possible.

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 05 Jan 2014, 13:01

Here's something I noticed in relation to the new skinned dialogs: all the new skinned dialogs, including list boxes and whatnot, dim the playfield by a rather strong degree. While this is a nice-looking effect, it does obstruct some visual output on the playfield that is relevant to the choice. Depending on the chosen theme, the effect may be more or less severe, but with some themes in particular (e.g. the popular Journeyman theme), the playfield becomes very dark once dimmed.

Some problematic cases related to the above:

1) When a "choose a card from a list" dialog pops up, selecting a card in the list shows its picture in the card picture box and its detailed info in the card detail box. Unless you remember all cards by heart, it's important to look into those boxes to see what the card you're choosing does. The dimmed playfield makes it more difficult to read the card information.

2) When ordering damage to multiple creatures, you may want to choose a particular creature to be damaged first (e.g. the one that was already damaged, that has or does not have a certain aura on it, etc.). The card is visually highlighted on the playfield, along with its targeting arrow, as it is selected in the list. However, with the dimmed playfield it's more difficult to see which creature you are selecting.

There may be more cases that I didn't think about, but these are the most apparent.

To be honest, I'm not sure what the optimal solution here would be - of course, the simplest way to fix it would be to disable darkening for particular dialog types that cause visual obstruction of important information on the playfield (or at least reduce the degree by which it is darkened so that it's easier to see what's on the playfield). Maybe, however, it'd be possible to either selectively undim the highlighted elements on the playfield (e.g. the currently selected creature on the battlefield) or add the card picture / card detail box to the list dialog so that all the necessary information is visible there?... One way or another, in my opinion something has to be done here...

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby drdev » 05 Jan 2014, 16:53

In r24153, I changed FDialog to use a new backdrop panel that's more transparent than the overlay panel and appears over top of the navigation bar instead of disabling it (since you won't be able to click it anyway).

Agetian, does this solve your concerns? If not, I can now easily tweak the transparency as needed without messing with the appearance of the overlay panel.

FDialogBackdrop.png
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 05 Jan 2014, 17:28

@ drdev: Yep, this looks a lot better! Thanks! :)

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Max mtg » 05 Jan 2014, 20:05

This is "someone" speaking. Forge preferences will be unavailable from game module, that's why match class won't be able to read them from Singletons. The random art feature won't be supported... unless you pass that flag to match somehow,.. probably via RegisteredPlayer class, making that feature individual per player.
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: Bug Reports (snapshot builds)

Postby Agetian » 06 Jan 2014, 05:05

@ Max: Gotcha. I believe this needs some discussion. Please check this post out (I didn't want to spam the bug report thread, so I made a separate brainstorm post elsewhere): viewtopic.php?f=52&t=11583&p=141611#p141611

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 06 Jan 2014, 07:29

r24162: The new skinned dialog boxes that allow to choose an option from a list misbehave a little bit on certain card option dialogs (at least on Linux, I haven't tested the other systems since I don't run any). These dialogs may be too small to display longer options (not sure if these options should actually be presented in the form of a menu instead, by the way), for example here's the first choice for Barbed Lightning:

barbed-lightning-dialog.png


It's possible to scroll to read the rest of the message by using the horizontal scrollbar, but that's tedious and sometimes causes a rather unpleasant visual glitch to happen, here's an example for Grab the Reins:

dialog-glitch-when-scrolling.png


The visual glitch demonstrated above *never* happens for dialogs in which the options fit into the dialog box, it only happens from time to time when horizontally scrolling the text in the dialog.

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby moomarc » 06 Jan 2014, 09:09

r24162: I can't use the dock buttons in a match. As soon as the mouse hovers over a button the following error pops up.
NullPointerException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_21 Oracle Corporation

java.lang.NullPointerException
   at forge.gui.toolbox.FSkin$ComponentSkin.setBackground(FSkin.java:114)
   at forge.gui.match.views.VDock$DockButton$1.mouseEntered(VDock.java:228)
   at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:300)
   at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:299)
   at java.awt.Component.processMouseEvent(Component.java:6514)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
   at java.awt.Component.processEvent(Component.java:6270)
   at java.awt.Container.processEvent(Container.java:2229)
   at java.awt.Component.dispatchEventImpl(Component.java:4861)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
   at java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:4620)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4474)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
   at java.awt.Container.dispatchEventImpl(Container.java:2273)
   at java.awt.Window.dispatchEventImpl(Window.java:2719)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:688)
   at java.awt.EventQueue$3.run(EventQueue.java:686)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
   at java.awt.EventQueue$4.run(EventQueue.java:702)
   at java.awt.EventQueue$4.run(EventQueue.java:700)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 06 Jan 2014, 15:55

r24165: The Quest Deck editor (at the very least, I haven't checked out Constructed or other editors) is broken in a very interesting way right now. Putting a card into the deck does not decrease the count of available cards in the catalog (that is, if you only have one Fireball card in your collection in the quest, you can easily put four Fireballs into your deck - the count of available Fireballs never decreases). Interestingly enough, putting the previously non-existent card back from the deck into the catalog works - this way it's possible to cheat-add a lot of extra copies of cards to your collection and sell them.

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 51 guests


Who is online

In total there are 51 users online :: 0 registered, 0 hidden and 51 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 51 guests

Login Form