Problem was due to inability to deserialize display_new_layout.xml. I changed that file's default serializer to XStream. This fix maintains compatibility with existing display_new_layout.xml when possible, and uses an XStream-generated display_layout.xml when it cannot parse the former.
Note this updates the default display_layout.xml, which looks OK under Windows XP with resolution 1024x768.
Bug: 144
* Updated the default display_layout.xml to look good on a Windows XP 1024x768 display.
* Updated GuiDisplay4.java to load from default layout if user's "new" layout does not exist.
* We have not had display_new_layout.xml in the repository for some time, but that is a related change.
Bug: 117
-replaced the old ImageCache class with ImageCache2
-extracted the card picture- and detail code from GuiDisplay/DeckEditor into separate classes (in forge.gui.game). therefore, CardDetailUtil and forge.CardPanel were deleted. GuiDisplayUtil is no longer used to create the card panels.
TESTS:
-confirmed all changed GUIs (but the quest deck editor - changes are the same as normal deck editor) to show details and pictures.
-I played a game with reduced heap size (-Xmx200M). Occasionally the image cache size shrinked along with the used memory.
-In a game without reduced heap size (memory usage ~500M, over 1000 cached images), i noticed slowdown when some images were missing.
-I noticed the stack elements now having a border with the card's color; this doesn't hurt IMO.
NOT WORKING
I wasn't able to adapt one thing: GUI_PictureHQ, i just didn't know what it does. for everything else to work, some code sections were commented out and tagged with "TODO reenable"
- Made a fix on Kiki-Jiki, Mirror Breaker: if it uses its ability on a stolen creature (Control Magic, Sower etc.), "leavesPlay triggers" should affect the correct player now (e.g. Meadowboon).
- Fixed Sower of Temptation: its ability will now trigger as it enters the battlefield. This allows for comboing with cards like Kiki-Jiki, Mirror Breaker.
- Added some new Worldwake cards: Avenger of Zendikar and Bestial Menace.
- Eviscerator should only be played by the AI if his lifetotal is larger than 7.
- Fixed Merfolk Sovereign AI targeting.
- Fixed Sarkhan Vol second ability.
- Added some code to Knight of the Reliquary which should make it attack more often.
- Fixed some of the "Sacrifice a creature" spells ("destroy" effects would sometimes not happen).
- Added a few cards: Propaganda, Ghostly Prison, Windborn Muse, Arctic Nishoba, Peacekeeper, Marsh Viper.
- Yet another fix to Force of Will.
- Fixed Bog Initiate Manacost.
- Some slight performance improvements for displaying cards (not sure if it helps much).
- A bunch of Adarkar Valkyrie bugs should be fixed now.
- Added some kind of caching algorithm, hopefully it will actually make a difference.
- Rebel / Merc searches shouldn't fetch non-permanents (with Changeling) anymore.
- Fixed Shadowmage Infiltrator, Thieving Magpie, Lu Xun, Scholar General, Augury Adept, Hypnotic Specter, (when control changes, the correct player should draw/discard cards).
- Fixed a bug where lands could be played with other spells/abilities on the stack.
- Discarding when controlling Necropotence should exile the card.
- Fixed a bug in the combat code where if a creature has received equal to its toughness, it will die no matter what.
- Umezawa's Jitte should trigger now when attacking a planeswalker.
- Added Pit Scorpion and Serpent Generator.
- Exploration / Fastbond effects shouldn't carry over anymore.
- Vendilion Clique CIP ability should work now.
- AI playing Flight or Launch shouldn't target creatures with flying anymore.
- Small fix to Dovescape.
- Needlestorm, Oros, the Avenger, Incendiary Command and Spitting Spider shouldn't be able to damage creatures with protection anymore.
- Timber Protector should work correctly now.
- Added Chainer, Dementia Master, Vorosh, the Hunter, Rith, the Awakener.
- AEther Web should be castable at any time now (flash).
- AI should be able to use Tezzeret's first ability now.
- Fixed a few issues in the GUI code, where Moxes that turn into creatures would show up twice.
- Adun Oakenshield's ability shouldn't be playable from hand anymore.
- Added Tezzeret the Seeker.
- Fixed an issue with the AI countering spells that trigger on cast (Sigil of the Empty Throne, Standstill, etc.).
- Timetwister shouldn't show up in both graveyards anymore.
- Figure of Destiny's 2nd and 3rd abilities should work if the creature has changeling, plus a check for the prerequisites is performed on resolution.
- Fixed Dryad Arbor / Mutavault / Mishra's Factory summoning sickness issues.
- Fixed Umara Raptor manacost.
- Added Vasiliy's Deck editor filter, and it works now! It's much easier to find cards now with the card text search feature.
- Fetching Bound in Silence with a rebel should be allowed to be attached to any creature.
- Demonic Tutor shouldn't be castable with other spells on the stack anymore.
- Added a property for token images (currently set to 'pics/tokens' - just set to 'pics' to keep it the way it always was).