Commit graph

15815 commits

Author SHA1 Message Date
LevelX2
facd5ffa2c Merge pull request #2028 from draxdyn/cardpanel_threading
Fix broken threading in CardPanel
2016-06-28 13:28:37 +02:00
LevelX2
0733729382 Merge pull request #2029 from draxdyn/audio_threadpool
Use a dedicated thread pool for audio
2016-06-28 13:27:18 +02:00
LevelX2
d220c739a8 Merge pull request #2030 from draxdyn/performance
Improve GUI performance
2016-06-28 13:26:44 +02:00
LevelX2
f7cecdf050 Merge pull request #2033 from draxdyn/f6
Add support for F6
2016-06-28 09:16:09 +02:00
LevelX2
c505c2f44f Merge pull request #2027 from draxdyn/resize_editor
Update image when cards in editor are resized
2016-06-28 09:08:37 +02:00
fireshoes
fd29307ad4 [EMN] Added additional 6/27 spoilers to mtg-cards-data.txt Fixed Identity Thief's translated name. Implemented several new EMN cards. Fixed rules text on several tap and don't untap cards. 2016-06-27 19:33:05 -05:00
fireshoes
744e303265 [EMN] Added 6/27 spoilers to mtg-cards-data.txt Fixed Thalia's translated name. 2016-06-27 11:40:00 -05:00
spjspj
05ff3d18bf Merge pull request #2036 from spjspj/master
Slight fix for Molten Sentry (RAV)
2016-06-26 22:56:11 +10:00
spjspj
a3dc06c51f Slight fix for Molten Sentry (RAV) 2016-06-26 22:52:48 +10:00
spjspj
8eb74565b1 Merge pull request #2035 from spjspj/master
spjspj - Add Insidious Dreams (TOR)
2016-06-26 22:38:44 +10:00
spjspj
efa8bade8f spjspj - Add Insidious Dreams (TOR) 2016-06-26 22:30:57 +10:00
spjspj
784447dad4 Merge pull request #2034 from spjspj/master
spjspj - Add Rich man cube draft
2016-06-26 13:04:32 +10:00
spjspj
b73d68437e spjspj - Add Rich Man Cube draft. This is a variation on the Rich Man set draft. It still (like cube) shouldn't let there be more than one copy of a card in the draft but will give each player a new pack from the cards that haven't been picked already each time. Allows 2 player cube drafts to be playable. 2016-06-26 12:57:52 +10:00
spjspj
2eb68403cf spjspj - Add Rich Man Cube draft. This is a variation on the Rich Man set draft. It still (like cube) shouldn't let there be more than one copy of a card in the draft but will give each player a new pack from the cards that haven't been picked already each time. Allows 2 player cube drafts to be playable. 2016-06-26 12:54:59 +10:00
drmDev
c1c63c7c91 Thopter Squadron 2nd ability fix 2016-06-25 10:58:21 -04:00
draxdyn
62d5d45a45 Add support for F6
Skips everything until next turn, except for declare attackers and blockers.

F11 and F9 are a better design, but F6 is provided for compatibility with
established conventions.

There is currently no GUI button for it.
2016-06-24 21:34:30 +02:00
spjspj
b7a05a6e5b Merge pull request #2031 from spjspj/master
spjspj - Modifications to shrink size of players who have left.
2016-06-24 20:13:57 +10:00
spjspj
157d94360c spjspj - Modifications to shrink size of players who have left. 2016-06-24 19:20:46 +10:00
fireshoes
48ae863459 [EMN] Implemented Thalia, Heretical Cathar 2016-06-23 15:56:13 -05:00
emerald000
32f6ed94af Minor rule text fix. 2016-06-23 13:26:48 -04:00
fireshoes
95a1146947 Added Vintage Cube June 2016. [EMN] Added Thalia, ~Identity Impersonator, and Hanweir, the Writhing Township to mtg-cards-data.txt. 2016-06-23 11:37:23 -05:00
draxdyn
053580c412 Add support for disabling animations 2016-06-23 16:21:34 +02:00
draxdyn
b8e5f5f942 Draw CardPanel to a buffered image and cache it across instances
Speeds up GUI performance.
2016-06-23 16:21:34 +02:00
draxdyn
892cfdce45 Draw MageRoundPane and its shadow to a buffered image and cache it across instances
Speeds up GUI performance.
2016-06-23 16:21:34 +02:00
draxdyn
ffb65d48fe Draw GlowText to a buffered image and cache it across instances
Speeds up GUI performance.
2016-06-23 16:21:34 +02:00
draxdyn
4b190eeaf4 Drastically simplify ScaledImagePanel by having it just use the resized image cache
All the current behavior of ScaledImagePanel seems to be useless, since the source
images are static, so we can just use the highest quality scaling possible and
cache the result using TransformedImageCache.
2016-06-23 16:21:34 +02:00
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