Mulitstate cards test drive
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Mulitstate cards test drive
by jendave » 24 Oct 2011, 15:15
Thanks for the vote of confidence! Looks like friarsol beat me to the answer.Chris H. wrote:`
Good question Hellfish. I wish that I had a good answer. I hope that Dave sees this message and can give some guidance.
Re: Mulitstate cards test drive
by Hellfish » 24 Oct 2011, 18:15
Welp, I had to run it 3 times, but then all the needed downloads finished and it built without a plugin error!
Check out post 1 for a jar!

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: Mulitstate cards test drive
by jeffwadsworth » 24 Oct 2011, 19:02
Using latest patch. Attacked with 3 creatures, all transformed. Gatstaf Howler, Unholy Fiend, and Stalking Vampire. No creatures on other side. This error popped up.
- | 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.
null
Version:
Forge version 1.1.7-SNAPSHOT-r0000
OS: Windows XP Version: 5.1 Architecture: x86
Java Version: 1.6.0_26 Vendor: Sun Microsystems Inc.
Detailed error trace:
java.lang.NullPointerException
at forge.CombatUtil.predictPowerBonusOfAttacker(CombatUtil.java:1156)
at forge.CombatUtil.damageIfUnblocked(CombatUtil.java:638)
at forge.CombatUtil.sumDamageIfUnblocked(CombatUtil.java:678)
at forge.CombatUtil.lifeThatWouldRemain(CombatUtil.java:724)
at forge.CombatUtil.lifeInDanger(CombatUtil.java:775)
at forge.ComputerUtil_Block2.getBlockers(ComputerUtil_Block2.java:587)
at forge.ComputerAI_General.declare_blockers(ComputerAI_General.java:384)
at forge.gui.input.InputControl.updateInput(InputControl.java:172)
at forge.gui.input.InputControl.updateInput(InputControl.java:156)
at forge.GuiInput.update(GuiInput.java:30)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.MyObservable.updateObservers(MyObservable.java:17)
at forge.Phase.nextPhase(Phase.java:445)
at forge.GuiDisplay4$33.actionPerformed(GuiDisplay4.java:1147)
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.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$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$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)
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Mulitstate cards test drive
by Hellfish » 24 Oct 2011, 19:43
Thanks! It has now been fixed! 

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: Mulitstate cards test drive
by jendave » 24 Oct 2011, 21:15
Thoughts on committing this to the code tree? I know Hellfish wanted to wait since it may take awhile, but I think delaying the next beta is perfectly fine until this major feature is done. In any case, thanks Hellfish for your work!
Re: Mulitstate cards test drive
by Chris H. » 25 Oct 2011, 00:02
Slapshot and Marc are working on another important part of the project and we should give them as much time as they need to finish their work before we release the next beta. 

-
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: Mulitstate cards test drive
by Hellfish » 25 Oct 2011, 07:13
Well, Slaphot and Marc's token work seems done, and Sloth said he wanted to wait for this commit before he started working on some cardcopying changes so... I'll commit tonight when I get home unless someone objects. 

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: Mulitstate cards test drive
by Chris H. » 25 Oct 2011, 12:42
I play tested the test build last night for awhile. Good work Hellfish. I like the way you handled the flip/transform button in the deck editor.
We recently had a bug report in reference to the new deck editor code. When the deck editor is at the minimum size the card detail and picture panels are drawn partly off screen. This is most noticeable in the quest mode since the deck editor does not scale up in size.
The wonderful new flip/transform button appears to exacerbate this issue.
The Change/Remove picture buttons appear to no longer work. I think that this portion of the code base broke a long time ago. I suggest that we replace these two non-functioning buttons with the flip/transform button.
The two tables displayed in the deck editor would still need to have their minimum width set to a smaller size.
`
We recently had a bug report in reference to the new deck editor code. When the deck editor is at the minimum size the card detail and picture panels are drawn partly off screen. This is most noticeable in the quest mode since the deck editor does not scale up in size.
The wonderful new flip/transform button appears to exacerbate this issue.

The Change/Remove picture buttons appear to no longer work. I think that this portion of the code base broke a long time ago. I suggest that we replace these two non-functioning buttons with the flip/transform button.
The two tables displayed in the deck editor would still need to have their minimum width set to a smaller size.
`
Last edited by Chris H. on 25 Oct 2011, 14:33, edited 2 times in total.
Reason: Spelling
Reason: Spelling
-
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: Mulitstate cards test drive
by Hellfish » 25 Oct 2011, 13:13
I can try, but I'm not very GUI-minded.. The only way I managed this was trial-and-mostly-error, I don't think I can manage that without everything breaking.
What resolution is that anyway? 


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: Mulitstate cards test drive
by Milod » 25 Oct 2011, 13:42
i like the flip efects u made hellfish i dont play story mode so only contructed for me and its great thnx
bring moaarrzzz flip efects plz

bring moaarrzzz flip efects plz
Re: Mulitstate cards test drive
by Hellfish » 25 Oct 2011, 13:55
Glad you like it, Milod. 
I expect once I fix up drafting and commit the code most of the flips and dfcs will be added in short order.

I expect once I fix up drafting and commit the code most of the flips and dfcs will be added in short order.
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: Mulitstate cards test drive
by Chris H. » 25 Oct 2011, 14:00
`Hellfish wrote:I can try, but I'm not very GUI-minded.. The only way I managed this was trial-and-mostly-error, I don't think I can manage that without everything breaking.What resolution is that anyway?
Yeah, I feel your pain.
I spent some time in the past with this section of code and was only able to make a few very small changes. This code section recently was re-written and what little experience I gained is now lost.

The res used for that pic is Forge's minimum setting at 1024 x 768. That pic is for the constructed mode, the quest mode is stuck at the same size and is not scalable.
-
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: Mulitstate cards test drive
by Hellfish » 25 Oct 2011, 15:25
I committed what I had for now, maybe someone more graphically inclined can tweak the deck editors, which at least work in higher resolutions.
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: Mulitstate cards test drive
by Max mtg » 25 Oct 2011, 19:14
Hellfish wrote:The CardDb now keeps a separate CardPrinted for each state, meaning that multistate cards works with both deck editors AND Download Set Pictures LQ.

for download set pictures: if ( card.rules.hasSecondFace ) { cList.add(new DownloadObject( ... }
CardRuleCharacteristics - why get/set instead of public fields? (and yes, mindless javadocs)
Why keep this container inside CardRules?
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: Mulitstate cards test drive
by Hellfish » 25 Oct 2011, 19:27
I actually had it setup for CardRules to have two sets of characteristics(CardRulesCharacteristics is a remnant of this, I'll remove that), but it caused some problems I don't remember offhand, but I can probably set that back up if there's something inherently bad with keeping a CardPrinted object for each card face? In my mind it simplifies things a great bit.
@Chris: I removed the buttons for the time being. They're easily reinserted if need be,though.
@Chris: I removed the buttons for the time being. They're easily reinserted if need be,though.
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
Who is online
Users browsing this forum: No registered users and 71 guests