It is currently 22 May 2025, 22:46
   
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 » 17 Mar 2013, 23:09

Oh! I want a colored nickname too!
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 moomarc » 18 Mar 2013, 07:45

myk wrote:Also, the default alternate pic for nezumi_graverobber_nighteyes_the_desecrator.txt (that is, Nighteyes the Desecrator.full.jpg) is incorrect on the server -- it is not flipped when it should be. Would it be possible to host a corrected card pic?
There's nothing wrong with the image. It's just that the flipped card's image isn't being updated properly. I also tried with Budoka Gardener and a few others. Doesn't help flipping the cards either so it seems that the new image isn't being set when the card is flipped. Something to do with cacheing?
-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 Max mtg » 18 Mar 2013, 10:06

I suggest to download a single image and filp these cards programmatically.
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 7543021 » 19 Mar 2013, 06:24

It seems like creature transforming lands'ablity have some problems here.
Activating Celestial Colonnade and Raging Ravine to become a creature will crash the game.
RuntimeException | Open
Code: Select all
Forge Version:    1.3.11-SNAPSHOT-r20460u
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_01 Oracle Corporation

java.lang.RuntimeException: CardUtil : getShortColor() invalid argument - White
   at forge.CardUtil.getShortColor(CardUtil.java:55)
   at forge.CardUtil.getShortColorsString(CardUtil.java:76)
   at forge.card.ability.effects.AnimateEffect.resolve(AnimateEffect.java:110)
   at forge.card.ability.AbilityApiBased.resolve(AbilityApiBased.java:62)
   at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1228)
   at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1022)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:840)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:737)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:73)
   at forge.game.ai.AiInputCommon.showMessage(AiInputCommon.java:114)
   at forge.gui.InputProxy.setInput(InputProxy.java:62)
   at forge.control.input.InputControl.setNewInput(InputControl.java:256)
   at forge.gui.InputProxy.update(InputProxy.java:49)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.control.input.InputControl.resetInput(InputControl.java:140)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:742)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:73)
   at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:77)
   at forge.gui.InputProxy.selectButtonOK(InputProxy.java:71)
   at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:57)
   at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
   at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
   at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
   at java.awt.Component.processMouseEvent(Unknown Source)
   at javax.swing.JComponent.processMouseEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$000(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.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.awt.EventQueue$4.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)
7543021
 
Posts: 14
Joined: 16 Feb 2013, 08:54
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby moomarc » 19 Mar 2013, 08:22

Max mtg wrote:I suggest to download a single image and filp these cards programmatically.
+1 I think it would make the most sense.
-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 Sloth » 19 Mar 2013, 08:22

7543021 wrote:It seems like creature transforming lands'ablity have some problems here.
Activating Celestial Colonnade and Raging Ravine to become a creature will crash the game.
Fixed! Thanks 7543021.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Bug Reports (snapshot builds)

Postby Chris H. » 19 Mar 2013, 12:43

Description: Launched the local copy of forge from within Eclipse and then clicked on the Deck Editor button. This copy of forge is not set up with pics in the cards folder and I suspect that this lack of pics may have lead to the Null Pointer Exception.

NullPointerException | Open
Code: Select all
Forge Version:    SVN
Operating System: Mac OS X 10.7.5 x86_64
Java Version:     1.6.0_41 Apple Inc.

java.lang.NullPointerException
   at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:191)
   at com.google.common.cache.LocalCache.put(LocalCache.java:4210)
   at com.google.common.cache.LocalCache$LocalManualCache.put(LocalCache.java:4808)
   at forge.ImageCache.scaleImage(ImageCache.java:124)
   at forge.ImageCache.getImage(ImageCache.java:83)
   at forge.gui.CardPicturePanel.setImage(CardPicturePanel.java:90)
   at forge.gui.CardPicturePanel.update(CardPicturePanel.java:69)
   at forge.gui.CardPicturePanel.setCard(CardPicturePanel.java:80)
   at forge.gui.match.controllers.CPicture.showCard(CPicture.java:53)
   at forge.gui.match.controllers.CPicture.showCard(CPicture.java:58)
   at forge.gui.deckeditor.CDeckEditorUI.setCard(CDeckEditorUI.java:88)
   at forge.gui.deckeditor.tables.EditorTableModel.showSelectedCard(EditorTableModel.java:193)
   at forge.gui.deckeditor.tables.EditorTableModel$2.focusGained(EditorTableModel.java:216)
   at java.awt.AWTEventMulticaster.focusGained(AWTEventMulticaster.java:203)
   at java.awt.Component.processFocusEvent(Component.java:6271)
   at java.awt.Component.processEvent(Component.java:6138)
   at java.awt.Container.processEvent(Container.java:2083)
   at java.awt.Component.dispatchEventImpl(Component.java:4744)
   at java.awt.Container.dispatchEventImpl(Container.java:2141)
   at java.awt.Component.dispatchEvent(Component.java:4572)
   at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1856)
   at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:911)
   at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:523)
   at java.awt.Component.dispatchEventImpl(Component.java:4616)
   at java.awt.Container.dispatchEventImpl(Container.java:2141)
   at java.awt.Component.dispatchEvent(Component.java:4572)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:710)
   at java.awt.EventQueue.access$400(EventQueue.java:82)
   at java.awt.EventQueue$2.run(EventQueue.java:669)
   at java.awt.EventQueue$2.run(EventQueue.java:667)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
   at java.awt.EventQueue$3.run(EventQueue.java:683)
   at java.awt.EventQueue$3.run(EventQueue.java:681)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:680)
   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)
User avatar
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: Bug Reports (snapshot builds)

Postby Max mtg » 19 Mar 2013, 13:43

the culprit is r20476 - you may revert it in any way that pleases you.
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 Chris H. » 19 Mar 2013, 16:54

Max mtg wrote:the culprit is r20476 - you may revert it in any way that pleases you.
 
I commented out that line in my local copy and that fixed the problem. I looked at this section of the ImageCache class and it is above my level of expertise.

Looks like we are attempting to assign an Image via it's key to a BufferedImage object. If the BufferedImage object is null we then are putting the key + a null into the CACHE.

I can temporarily comment out this one line of code, but I am not sure how this situation should be handled.

At one point Rob created a card image that had no art, no text and no name or other information as part of the image. It was just a blank image that would be displayed for all cards that did not have a picture file associated with that particular card.
User avatar
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: Bug Reports (snapshot builds)

Postby Max mtg » 19 Mar 2013, 19:27

Chris, I remember that blurred image of artifact in old card design. But cannot find the picture file anywhere.

r20484 - I used a placeholder image to add it into cache. It's not null, so looks valid from the cache's PoV. The image lookup method returns to outer code null anyway, because placeholder image could be somewhat invalid and program fails at resize operation.
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 Chris H. » 19 Mar 2013, 21:59

Max mtg wrote:Chris, I remember that blurred image of artifact in old card design. But cannot find the picture file anywhere.

r20484 - I used a placeholder image to add it into cache. It's not null, so looks valid from the cache's PoV. The image lookup method returns to outer code null anyway, because placeholder image could be somewhat invalid and program fails at resize operation.
 
Thank you Max.

Rob at one point created a pic file named "morph.jpg" that is supposed to replace the normal image of a card that is morphed. This pic is downloaded with the quest pics and appears in the icons tokens folder.

Rob also created a similar card, (may have been named "blank.jog".) This card, unlike the "morph.jpg", did not have the card art, card text, etc and was an empty frame. As such it was a suitable image for a card that did not have a matching jpg image. I have not been able to find it, yet I continue to look for it.
 
Attachments
morph.jpg
morph.jpg
User avatar
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: Bug Reports (snapshot builds)

Postby Chris H. » 19 Mar 2013, 22:21

Ah, found the card pics that I was talking about.

I seem to remember that a jpg could be imbedded into the code itself. This way Rob's image would be used for all pics until a pic download could be utilized.
 
Attachments
none.jpg
none.jpg @ 480 x 680
none.jpg
none.jpg @ 200 x 285
User avatar
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: Bug Reports (snapshot builds)

Postby Max mtg » 20 Mar 2013, 05:39

Chris, I have set up a default image in r20490

Consider adjusting the picture if it is too bright.
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 Chris H. » 20 Mar 2013, 12:57

Max mtg wrote:Chris, I have set up a default image in r20490

Consider adjusting the picture if it is too bright.
 
Thank you Max.

Looks good to me.
User avatar
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: Bug Reports (snapshot builds)

Postby moomarc » 20 Mar 2013, 14:10

Opponents aren't being assigned avatars in constructed duels - this also includes the various multiplayer variants, normal constructed, sealed/booster and gauntlets.
-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

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 24 guests


Who is online

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

Login Form