Forge version 1.3.15
 Posted: 03 May 2013, 12:40
Posted: 03 May 2013, 12:40Tentative target release date: Friday May 17.
Would be nice to get a few of the bugs fixed for this version.
			Would be nice to get a few of the bugs fixed for this version.

High Quality Resources for Collectible Card Games
https://www.slightlymagic.net/forum/
https://www.slightlymagic.net/forum/viewtopic.php?f=52&t=10230
 Posted: 03 May 2013, 12:40
Posted: 03 May 2013, 12:40
 Posted: 03 May 2013, 14:15
Posted: 03 May 2013, 14:15
 Posted: 03 May 2013, 14:21
Posted: 03 May 2013, 14:21Hellfish wrote:Any bug in particular you were thinking of?
 
  
 Max mtg wrote:Sure, should be good for a mantainance release.
Some issues to b concerned of:
1. Dgm boosters yeild gates in common slot (someone should write a rule to filter them out, see related thread)
2. Preemptivelty make decision for optional tiggers on stack. The ui was referring to game directly, while it should get the current player controlled by gui and write the choices made to its PlayerContoller class instance.
3. Use a thread-safe collection for stack, or maybe marking getStack with synchronized keyword will be sufficint. Edt does not always know the exact number of items on stack, which results in OOB exception.
4. Get x count cannot get a not-null opponent when the game is over which results in npe.
Wish i could do any of the above by that day, but the tablet i have here is not a propper tool to write code.
 Posted: 03 May 2013, 14:32
Posted: 03 May 2013, 14:32
 Posted: 03 May 2013, 17:38
Posted: 03 May 2013, 17:38 Posted: 03 May 2013, 18:02
Posted: 03 May 2013, 18:02Hellfish, it looks like your fix for #3 may have broken some triggers. Can you check out the one that gos reported on the release thread and see if it happens before your changes?Hellfish wrote:I know 2 and 4 are fixed and I'm hopeful that 3 is fixed too, it just needs testing.Havn't looked at 1...yet.
 Posted: 03 May 2013, 22:30
Posted: 03 May 2013, 22:30 Posted: 03 May 2013, 23:01
Posted: 03 May 2013, 23:01 Posted: 04 May 2013, 05:24
Posted: 04 May 2013, 05:24 Posted: 04 May 2013, 10:53
Posted: 04 May 2013, 10:53 
 - Bug Fixes -
Reverted the synchronize changes since it seemed to break all of the trigger payment stuff.
Added DGM into RTR block and made DGM lands no longer appear in the common slot.
- DGM card pictures -
Most but not all of the LQ non-set DGM card pics are now available for downloading. The DGM set pics might become available in about a couple of weeks or so.
- Java 7 -
The devs are discussing a plan to update the battlefield display code with Java FX 2.2 and this should help to improve a few things. Java FX 2.2 requires Java 7 so it is important for members of our user base to update in the near future as Forge at the time of the update will no longer run under Java 6.
 Posted: 04 May 2013, 17:45
Posted: 04 May 2013, 17:45I've done this and am running through my quest mode to test things even more than I already have. The cases mentioned in the release thread ( Invoke Prejudice, Counterspell, costed/targeted triggers (Blood Artist, Mentor of the Meek)) all work correctly.Max mtg wrote:What had to be marked as synchronized - i meant getStack routine originally, but Hellfish was thinking in a right direction to mark add/remove methods synchronized as well, yet those routines do a lot more than just adding something to stack, and that broke everything.
What could do the job is enclose into sync-d blocks only the code that alters the 'stack' member of MagicStack class, but i have to note it again, this needs testing.
 Posted: 04 May 2013, 19:05
Posted: 04 May 2013, 19:05 Posted: 04 May 2013, 19:51
Posted: 04 May 2013, 19:51 As I understood what I have read; firstly, you should synchronize on the object you are performing operations on to get exclusive access and secondly, it's bad practice to synchronize on this rather than a private member because code outside the class can synchronize on the same instance (and unlock it? I'm a little fuzzy on this bit).
 As I understood what I have read; firstly, you should synchronize on the object you are performing operations on to get exclusive access and secondly, it's bad practice to synchronize on this rather than a private member because code outside the class can synchronize on the same instance (and unlock it? I'm a little fuzzy on this bit).