It is currently 19 May 2025, 22:51
   
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 Max mtg » 27 Dec 2013, 16:26

DevMode Planewalk to - needs to be invoked in game thread (Game.action.invoke(...))

The Phasing icon - there should be an event (notification to redraw creature) fired as soon as phase state changed
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 » 29 Dec 2013, 05:04

r24095: Not sure if this is a bug or a feature, but it's a nuisance anyway: when using the Spell Shop in Quest mode, accidentally clicking the little "-" icon (which decreases the amount of cards in deck by one when using the standard deck editor), even on a non-selected card, automatically sells the card without any prior warning. This is especially a nightmare when you accidentally sell an expensive card that way while trying to select it in the list because the buyout price can be extremely steep. Maybe it's worth either adding a confirmation dialog ("Would you like to sell such-and-such card for such-and-such price?") or not showing these icons at all when in Spell Shop mode?

- 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 » 31 Dec 2013, 06:13

r24115: A couple UI-related bugs:
1) I had a creature on the table which had a cumulative upkeep "Sacrifice a creature" (don't remember the exact name of the creature, but the bug is quite generic so it's not important, I believe). I was asked to sacrifice two creatures. I selected one and then realized that I didn't want to pay the cumulative upkeep, so I canceled the payment by hitting "Cancel". However, the creature which I have selected kept its purple border and the selection icon - not only for the remainder of the current game, but, interestingly enough, for all the subsequent games I played in that Sealed Deck tournament, so, for instance, I saw this in the next game in my hand:
glitch-with-selection.jpg


2) Creatures that have "This creature attacks each turn if able" do not cause the declare attackers UI event to fire, which causes the "attacker declared" icon not to appear immediately. Does anyone know where the relevant piece of code would be where to insert the said UI event call?

Also, a Sealed Deck/Booster Draft AI-related bug (or just an unimplemented feature?): the AI puts snow-covered lands of colors chosen for the deck in its sideboard and does not prioritize putting those into its main deck even though the AI takes a lot of cards that have snow-activated abilities in their costs (which it can use without a problem, I can say). Not sure if this ever worked correctly, but I believe that it'd be a good idea to make the AI put snow-covered lands of appropriate color instead of similar regular basic lands into its deck when building a sealed deck/booster draft deck.

- 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 » 31 Dec 2013, 17:59

Agetian wrote:r24095: Not sure if this is a bug or a feature, but it's a nuisance anyway: when using the Spell Shop in Quest mode, accidentally clicking the little "-" icon (which decreases the amount of cards in deck by one when using the standard deck editor), even on a non-selected card, automatically sells the card without any prior warning. This is especially a nightmare when you accidentally sell an expensive card that way while trying to select it in the list because the buyout price can be extremely steep. Maybe it's worth either adding a confirmation dialog ("Would you like to sell such-and-such card for such-and-such price?") or not showing these icons at all when in Spell Shop mode?

- Agetian
I added confirmation prompts for buying and selling cards in the Spell Shop. That should alleviate any misclick concerns.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby fmartel » 01 Jan 2014, 22:35

I got this report when I load forge from the pinned shortcut in my start menu :
Description: [loading forge]

UncheckedExecutionException | Open
Code: Select all
Forge Version:    1.5.7-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_45 Oracle Corporation

com.google.common.util.concurrent.UncheckedExecutionException: java.awt.color.CMMException: Invalid image format
   at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199)
   at com.google.common.cache.LocalCache.get(LocalCache.java:3932)
   at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3936)
   at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4806)
   at forge.ImageCache.getImage(ImageCache.java:218)
   at forge.ImageCache.getOriginalImage(ImageCache.java:149)
   at forge.ImageCache.scaleImage(ImageCache.java:179)
   at forge.ImageCache.getIcon(ImageCache.java:130)
   at forge.gui.home.quest.PnlEvent.<init>(PnlEvent.java:57)
   at forge.gui.home.quest.CSubmenuDuels.update(CSubmenuDuels.java:127)
   at forge.gui.home.CHomeUI.itemClick(CHomeUI.java:52)
   at forge.gui.home.CHomeUI.selectPrevious(CHomeUI.java:134)
   at forge.gui.home.CHomeUI.initialize(CHomeUI.java:80)
   at forge.control.FControl.setCurrentScreen(FControl.java:307)
   at forge.view.FView.initialize(FView.java:153)
   at forge.control.FControl$3.run(FControl.java:250)
   at java.awt.event.InvocationEvent.dispatch(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.awt.color.CMMException: Invalid image format
   at sun.java2d.cmm.kcms.CMM.checkStatus(Unknown Source)
   at sun.java2d.cmm.kcms.CMM.createTransform(Unknown Source)
   at java.awt.image.ColorConvertOp.filter(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.acceptPixels(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)
   at javax.imageio.ImageIO.read(Unknown Source)
   at javax.imageio.ImageIO.read(Unknown Source)
   at forge.ImageLoader._findFile(ImageLoader.java:88)
   at forge.ImageLoader.load(ImageLoader.java:52)
   at forge.ImageLoader.load(ImageLoader.java:16)
   at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3522)
   at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2315)
   at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2278)
   at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2193)
   ... 29 more
fmartel
 
Posts: 281
Joined: 31 Dec 2013, 19:27
Location: Québec City
Has thanked: 8 times
Been thanked: 4 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 03 Jan 2014, 01:45

After winning two duels in Quest Mode, each time I went to the spell shop to see what's available. The second time I get this error... it leaves me in an awkward place where the previous shops contents is visible, but the tab says main. I was going to take a screenshot, but I didn't realize it was going to exit when I hit the X since it looked like the spellshop.


NullPointerException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_21 Oracle Corporation

java.lang.NullPointerException
   at forge.gui.deckeditor.CDeckEditorUI.hasChanges(CDeckEditorUI.java:105)
   at forge.gui.deckeditor.menus.DeckFileMenu.updateSaveEnabled(DeckFileMenu.java:46)
   at forge.gui.deckeditor.menus.DeckFileMenu.getMenu(DeckFileMenu.java:39)
   at forge.gui.deckeditor.menus.CDeckEditorUIMenus.getMenus(CDeckEditorUIMenus.java:18)
   at forge.gui.deckeditor.CDeckEditorUI.getMenus(CDeckEditorUI.java:626)
   at forge.gui.menus.ForgeMenu.refresh(ForgeMenu.java:65)
   at forge.gui.menus.ForgeMenu.setProvider(ForgeMenu.java:48)
   at forge.gui.deckeditor.CDeckEditorUI.initialize(CDeckEditorUI.java:642)
   at forge.control.FControl.setCurrentScreen(FControl.java:303)
   at forge.gui.home.quest.SSubmenuQuestUtil.showSpellShop(SSubmenuQuestUtil.java:264)
   at forge.gui.home.quest.CSubmenuDuels$1.run(CSubmenuDuels.java:44)
   at forge.gui.toolbox.FLabel._doMouseAction(FLabel.java:311)
   at forge.gui.toolbox.FLabel.access$1300(FLabel.java:52)
   at forge.gui.toolbox.FLabel$6.onLeftClick(FLabel.java:353)
   at forge.gui.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:184)
   at java.awt.Component.processMouseEvent(Component.java:6505)
   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.processMouseEvent(Container.java:4492)
   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)
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby drdev » 03 Jan 2014, 02:26

friarsol wrote:After winning two duels in Quest Mode, each time I went to the spell shop to see what's available. The second time I get this error... it leaves me in an awkward place where the previous shops contents is visible, but the tab says main. I was going to take a screenshot, but I didn't realize it was going to exit when I hit the X since it looked like the spellshop.


NullPointerException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_21 Oracle Corporation

java.lang.NullPointerException
   at forge.gui.deckeditor.CDeckEditorUI.hasChanges(CDeckEditorUI.java:105)
   at forge.gui.deckeditor.menus.DeckFileMenu.updateSaveEnabled(DeckFileMenu.java:46)
   at forge.gui.deckeditor.menus.DeckFileMenu.getMenu(DeckFileMenu.java:39)
   at forge.gui.deckeditor.menus.CDeckEditorUIMenus.getMenus(CDeckEditorUIMenus.java:18)
   at forge.gui.deckeditor.CDeckEditorUI.getMenus(CDeckEditorUI.java:626)
   at forge.gui.menus.ForgeMenu.refresh(ForgeMenu.java:65)
   at forge.gui.menus.ForgeMenu.setProvider(ForgeMenu.java:48)
   at forge.gui.deckeditor.CDeckEditorUI.initialize(CDeckEditorUI.java:642)
   at forge.control.FControl.setCurrentScreen(FControl.java:303)
   at forge.gui.home.quest.SSubmenuQuestUtil.showSpellShop(SSubmenuQuestUtil.java:264)
   at forge.gui.home.quest.CSubmenuDuels$1.run(CSubmenuDuels.java:44)
   at forge.gui.toolbox.FLabel._doMouseAction(FLabel.java:311)
   at forge.gui.toolbox.FLabel.access$1300(FLabel.java:52)
   at forge.gui.toolbox.FLabel$6.onLeftClick(FLabel.java:353)
   at forge.gui.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:184)
   at java.awt.Component.processMouseEvent(Component.java:6505)
   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.processMouseEvent(Container.java:4492)
   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)
Fixed in r24126.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby fmartel » 04 Jan 2014, 02:32

Hello, I don't know if it's a bug or not, but here goes :

I play Warren Instigator, He blocks it with Nightveil Specter, I do a Magma Jet on it so the FS of the instigator would kill it, and then, as the CD resolve, I would put a goblin from my hand in play.

That's my general Idea. But the AI seem to thik otherwise...

imageshack com/a/img703/7325/nh8x.png
imageshack com/a/img10/8020/h27s.png
imageshack com/a/img827/5477/g4lq.png
imageshack com/a/img823/9596/eprs.png

Also, is it possible to change the edition of the card ? Like instead of a Mountain from a starter I would have 'em of Zendikar or Unhinged ??
fmartel
 
Posts: 281
Joined: 31 Dec 2013, 19:27
Location: Québec City
Has thanked: 8 times
Been thanked: 4 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 04 Jan 2014, 02:37

fmartel wrote:Hello, I don't know if it's a bug or not, but here goes :

I play Warren Instigator, He blocks it with Nightveil Specter, I do a Magma Jet on it so the FS of the instigator would kill it, and then, as the CD resolve, I would put a goblin from my hand in play.
That's not how the rules work. Once a creature is blocked, it will never deal damage to the defending player/planeswalker unless that creature has Trample.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 04 Jan 2014, 02:58

r24129
I cast Terminus miracled, I have two tokens in play, the AI has two creatures. After the Terminus resolves, I'm given a Dual List Box with all 4 cards listed on it as opposed to just the ones I own.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 04 Jan 2014, 14:09

r24135: I got this crash after I clicked OK after sideboarding between duels in a Quest Mode match (if it matters, my sideboard didn't really have any cards in it, so I just clicked OK to continue with the next duel, at which point the game crashed with the NPE below). It was a fatal crash, I was unable to continue playing.

P.S. Definitely a recurring crash. Reproduced it over and over again with different quest decks.

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.util.ItemPool.addAll(ItemPool.java:153)
   at forge.game.Match.prepareAllZones(Match.java:283)
   at forge.game.Match.access$000(Match.java:36)
   at forge.game.Match$1.run(Match.java:109)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:724)
And another serious Quest Mode glitch: if you manage to win a duel and get a bonus booster pack, the list box used for choosing the format for the bonus booster pack (Standard, Extended, Modern, etc.) does not work and actually hangs in something like an infinite loop (I would select, for example, Standard and then click OK, the window would simply appear once more. Clicking OK over and over again doesn't help and the game hangs in this state).

The two bugs mentioned above make the Quest mode broken and completely unplayable.

- 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, 15:58

The new skinned dialogs look great, drdev! Unfortunately, it seems that in today's daily it is impossible to dismiss the box that pops up before a match listing the cards the AI will not play (requires killing the process.)

edit: Also, it looks like the message has been shortened to "AI can't play well these cards" to fit the line. If I remember right, that was the first part of the message explaining why the AI won't play flagged cards at all. Something like "Cards unusable by AI opponent" might be a little more accurate.
Diogenes
 
Posts: 201
Joined: 12 Jul 2012, 00:54
Has thanked: 39 times
Been thanked: 23 times

Re: Bug Reports (snapshot builds)

Postby drdev » 04 Jan 2014, 16:30

I fixed the infinite re-prompt bug in r24136. I'm having trouble reproducing the crash upon sideboarding though. Agetian, can you send me a screenshot of what the sideboard dialog looked like before you pressed OK to get the crash?
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 » 04 Jan 2014, 16:46

@ drdev: A simple way to reproduce the sideboard crash: create a new quest (non-fantasy mode - probably it won't matter but still), use "Event or Starter Deck" for the starting pool (I used Air Razers, probably shouldn't matter). Start a duel, immediately concede a match, click "Continue" to get to duel two. You'll get a sideboarding window with 0 cards in the sideboard. Click "OK" to continue. Crash.

Here are the screenshots demonstrating what things look like:

The sideboarding window:
sideboard-before-crash.png


After clicking OK:
sideboard-after-crash.png
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 » 04 Jan 2014, 17:45

Diogenes wrote:The new skinned dialogs look great, drdev! Unfortunately, it seems that in today's daily it is impossible to dismiss the box that pops up before a match listing the cards the AI will not play (requires killing the process.)

edit: Also, it looks like the message has been shortened to "AI can't play well these cards" to fit the line. If I remember right, that was the first part of the message explaining why the AI won't play flagged cards at all. Something like "Cards unusable by AI opponent" might be a little more accurate.
I went ahead and updated the title for that dialog, including moving the player's name out of the list and into the title (showing one dialog per player).

While I was at it, I also added a GuiChoose.reveal method that allows showing a list of items without caring what the user selects. This in turn allows the OK button to receive default focus and the Escape key / Close button to close the dialog. The result looks like this:

Reveal.png

Let me know if this works for you or if I need to tweak anything.

Thanks.
-Dan
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 40 guests


Who is online

In total there are 40 users online :: 0 registered, 0 hidden and 40 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 40 guests

Login Form