draxdyn
e3d84ca212
Cache resized and rotated images
...
RotatedResizedImageCache and MultiRotatedResizedImageCache contain the caching
machinery.
A cache of rotated and resized images is added to ImageCache, and is used by
the resizing functions there.
All the resizing and rotation functions in ImageHelper are redirected to the
ones in ImageCache.
This is slightly inefficient because it will cache some calls that are never
repeated, but it prevents developers from mistakenly using uncached functions
when calls are repeated, seriously impacting performance.
Also resizing functions that only take a width or an height have been removed,
and their calls fixed to provide the other dimension. It's still possible to
specify -1 as width or height to ignore constraints in that dimension, though.
Greatly speeds up UI performance.
2016-06-23 16:21:34 +02:00
draxdyn
1999dfe5c0
Add mechanism to register image caches and flush them all on GUI size change
...
This should avoid the issue of having lots of unused entries in caches if the
GUI size is changed multiple times.
2016-06-23 16:21:34 +02:00
draxdyn
415c8cce7e
Don't call setText() on the popup text component until it is shown
...
Performance improvement, impacts profiles.
2016-06-23 16:21:34 +02:00
draxdyn
9513b5bf74
Don't call setText in MageTextArea if the text hasn't changed
...
Minor UI speedup, shows up in profiles for simple games.
2016-06-23 16:21:34 +02:00
draxdyn
8c2c1f4887
Don't call setEditable in ColorPane
...
Shows up in profiles, and should be unnecessary.
2016-06-23 16:21:34 +02:00
draxdyn
0b13660348
Use mouse point in event instead of calling getMousePosition()
...
Improves performance and is also the correct way to do this.
2016-06-23 16:21:34 +02:00
draxdyn
d8b791a506
Use a dedicated thread pool for audio
...
Audio threads are busy while the sound plays, which could be several seconds,
potentially stalling other tasks competing for the thread pool.
So use a dedicated thread pool, which also allows to have it sized based
on the number of the audio lines.
2016-06-23 16:16:48 +02:00
draxdyn
1dddda6599
Fix broken threading in CardPanel
...
The current code is broken, can't touch the UI in a thread pool thread,
UI.invokeLater must be used to get back on the UI thread.
Also, it must check whether the card has been changed again before setting
the image and do nothing in that case.
2016-06-23 16:12:15 +02:00
draxdyn
5c177dcdc8
Update image when cards in editor are resized
...
Currently images are blurred when changing GUI size in the editor,
and this fixes the issue.
2016-06-23 16:01:47 +02:00
emerald000
748fcd9a16
[EMN] Added Emrakul, the Promised End.
2016-06-23 00:05:29 -04:00
Quercitron
207961ee5f
Fix that isType2 flag was not set for second sides of transform cards and flipped cards in the pictures download.
2016-06-22 13:10:42 +03:00
LevelX2
8beaeab485
* Prismatic Strands - Added game log message with the color chosen.
2016-06-21 10:15:16 +02:00
LevelX2
d26cc4ac1b
* Curse of the Pierced Heart - Fixed that the ability triggered wrongly in the draw instead of the upkeep step.
2016-06-21 09:42:03 +02:00
LevelX2
0b05bdeeec
* Everglades - Fixed a bug that it produced colorless instead of black mana.
2016-06-21 09:30:04 +02:00
fireshoes
9ae4c2c2de
[EMN] Added Coax from the Blind Eternities to mtg-cards-data.txt. Implemented Ulrich.
2016-06-20 18:13:23 -05:00
fireshoes
de236aec90
[EMN] Added Ulrich to mtg-cards-data.txt
2016-06-20 16:02:01 -05:00
fireshoes
203d56df61
[EMN] Added Emrakul to mtg-cards-data.txt
2016-06-20 14:24:46 -05:00
LevelX2
185f56a7da
* Fireblast - Fixed that a wrong text was shown for the land sacrifice. Also that the spell was wrongly marked as castable also if only one mountain was on the battlefield.
2016-06-20 16:23:03 +02:00
LevelX2
c15719b36b
Fixed the transform message shown in the game log.
2016-06-20 16:21:52 +02:00
LevelX2
ea53692b57
Merge pull request #2020 from Styxo/master
...
Added Heal the Scars and Hunter Of Eyeblights
2016-06-20 09:10:31 +02:00
Styxo
9bf92ae9d8
Added Heal the Scars and Hunter Of Eyeblights
2016-06-19 20:11:05 +02:00
LevelX2
b44e2f3cdd
* Winter Orb - Implemented errata 2016-06-08
2016-06-19 17:29:19 +02:00
LevelX2
ef9ab0769d
* Glimmervoid - Fixed that the condition was not implemented as an “Intervening If” clause.
2016-06-19 16:39:22 +02:00
LevelX2
4022a47a0d
* Din of the Fireherd - Fixed that the created token was not counted for the sacrifice effect.
2016-06-19 16:22:40 +02:00
LevelX2
f691017cda
* Gryff's Boon - Fixed that the target was wrongly selected during resolution.
2016-06-19 16:13:50 +02:00
LevelX2
7563b0c30f
Some rework for "Name a nonland card" effects.
2016-06-19 16:05:17 +02:00
LevelX2
3edca4234a
Merge pull request #2017 from Styxo/master
...
Added Brain Pry, Slithering Shade and Gruul Scrapper
2016-06-19 15:55:22 +02:00
spjspj
70ef347091
Merge pull request #2019 from spjspj/master
...
spjspj - Minor change for VesuvanShapeshifter (TSP)
2016-06-19 22:57:48 +10:00
spjspj
35c05c0d65
spjspj - Minor change for VesuvanShapeshifter (TSP)
2016-06-19 22:55:44 +10:00
spjspj
e29bcd6f5c
Merge pull request #2018 from spjspj/master
...
spjspj - Minor change for Masterwork of Ingenuity (C14)
2016-06-19 21:14:46 +10:00
spjspj
6f6d9bc314
spjspj - Minor change for Masterwork of Ingenuity (C14)
2016-06-19 21:12:44 +10:00
LevelX2
a669c5daaa
* Icatian Javelineers - Fixed rule text generation.
2016-06-19 11:12:35 +02:00
Styxo
a8a5321702
Added Brain Pry, Slithering Shade and Gruul Scrapper
2016-06-18 20:36:40 +02:00
spjspj
22c7ee5862
Merge pull request #2016 from spjspj/master
...
spjspj - Some fixes for Synod Sanctum (ARC)
2016-06-19 01:48:24 +10:00
spjspj
802414764d
spjspj - Some fixes for Synod Sanctum (ARC)
2016-06-19 01:45:18 +10:00
LevelX2
e74f5995cb
Fixed some more possible null pointer exceptions.
2016-06-18 14:46:35 +02:00
LevelX2
7e9d285a49
Fixed some possible null pointer exceptions.
2016-06-18 12:56:25 +02:00
LevelX2
663c6fe1e9
Try to fix "Comparison method violates its general contract" error.
2016-06-18 12:55:54 +02:00
LevelX2
1bee035aaa
* Phyrexian Ingester - Fixed possible null pointer exception.
2016-06-18 11:58:08 +02:00
LevelX2
34668ba5d9
Fresh Meat, Caller of the Claw - Fixed problem with watchers using the same internal name.
2016-06-18 11:34:39 +02:00
LevelX2
70a22da8e3
Fixed possible null pointer exception.
2016-06-18 11:31:50 +02:00
LevelX2
bdebcbaf63
* Angelic Skirmisher - Fixed that the ability choice caused error.
2016-06-18 10:47:40 +02:00
LevelX2
7750bc2cd9
Fixed possible null pointer exception.
2016-06-18 10:01:38 +02:00
LevelX2
6a973f1f7b
Some minor changes.
2016-06-17 18:50:57 +02:00
LevelX2
2b3fb81cdd
Some minor changes.
2016-06-17 15:16:24 +02:00
LevelX2
e334d85078
* Willbender - Fixed that target of abilities could not be changed.
2016-06-17 15:11:05 +02:00
LevelX2
f6c1538bda
* Cleansing Beam - Fixed that the target creature was damaged twice.
2016-06-17 14:50:30 +02:00
LevelX2
089996edce
Braids, Cabal Minion - Fixed tooltip rule text.
2016-06-17 14:32:29 +02:00
LevelX2
ac989ddf36
Merge pull request #2010 from shootbot/master
...
Fixed Leeching Sliver bug
2016-06-17 14:10:40 +02:00
LevelX2
84989973ed
Merge pull request #2001 from draxdyn/fix_oobe
...
Fix ArrayIndexOutOfBoundsException in ButtonColumn.actionPerformed
2016-06-17 13:45:03 +02:00