Commit graph

2035 commits

Author SHA1 Message Date
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
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
157d94360c spjspj - Modifications to shrink size of players who have left. 2016-06-24 19:20:46 +10: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
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
f691017cda * Gryff's Boon - Fixed that the target was wrongly selected during resolution. 2016-06-19 16:13:50 +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
LevelX2
469febfafd Merge pull request #2000 from aastrand/aastrand/password
Add TablesPanel filter for passworded games
2016-06-17 13:44:23 +02:00
LevelX2
5d1b96e4c9 Merge pull request #1986 from draxdyn/clicks
Recognize double clicks made in rapid succession
2016-06-17 13:42:38 +02:00
spjspj
8c017fe3d2 Merge pull request #2002 from draxdyn/getwizardsimage_npe
Fix NPE in getWizardsCard
2016-06-16 12:16:02 +10:00
draxdyn
54a7be59d0 fix NPE in getWizardsCard 2016-06-15 13:11:40 +02:00
Kranken
c445270783 Make password filter behave nice with settings 2016-06-15 00:03:22 +02:00
Kranken
9fee893ed1 Add TablesPanel filter for passworded games
This commit makes passworded a first class property of
TableView as well as adds filtering capabilities
of open and passworded games. Useful for hiding
passworded games when looking for open play and
useful for hiding open games when playing vs
a friend on a busy server.
2016-06-14 23:19:17 +02:00
draxdyn
d671a22398 Fix ArrayIndexOutOfBoundsException in ButtonColumn.actionPerformed
Don't call convertRowIndexToModel with a -1 row.
2016-06-14 18:31:33 +02:00
draxdyn
0b8404f0a4 Recognize double clicks made in rapid succession
Currently they are not recognized, because getClickCount() will be
higher than 2 since Java interprets them as quadruple, sextuple, etc. clicks.

So, instead of checking for getClickCount() == 2, check for getClickCount()
being an even number.

This allows to quickly remove or add many cards to a deck.
2016-06-14 13:02:51 +02:00
Alex Marcotte
a7e29b3fd0 Adding way to import deck from clipboard 2016-06-05 15:06:02 -04:00
LevelX2
266a0870ca Xmage 1.4.12v0 2016-05-29 10:59:39 +02:00
LevelX2
98fadbd8ba Merge pull request #1946 from Simown/master
Reverted changes to deck generation sliders
2016-05-29 10:19:11 +02:00
LevelX2
9fa0bf7bd2 Swapped main menu position of Feedback and Preferences (so Preferences is always available if you switch to a too big font size). 2016-05-29 09:53:56 +02:00
fireshoes
20ec737a58 [EMA] Added 5/23 spoilers. 2016-05-23 18:38:04 -05:00
Simown
dc10a52caf Reverted changes to deck generation sliders 2016-05-23 12:31:56 +01:00
LevelX2
f44987aa37 * Fixed that Suspend was handled as activated ability for increase/decrease of mana activation costs. 2016-05-22 16:02:10 +02:00
Quercitron
c781728b97 Add rating to the client (#1498) 2016-05-17 17:27:43 +03:00
fireshoes
a2c56d821c Added a bunch of promo cards and the new sets that were announced today. 2016-05-16 23:05:31 -05:00
LevelX2
308c485a67 Merge pull request #1913 from Bitmaximus/master
Add tracking for quantity of artifacts in card lists. Add tracking for quantity of card types in graveyard.
2016-05-15 18:15:28 +02:00
spjspj
f9e363fb30 spjspj - Update Rich Man draft to allow Random packs 2016-05-15 23:52:13 +10:00
LevelX2
d9066db141 * Fixed that freeform tables were not shown in thelist of open games. 2016-04-30 12:01:42 +02:00
Liam Speirs
8675e47c88 Add Card-type counter for graveyard label hover and in graveyard Dialog window. (To mirror magic online and to make delirium easier to check) 2016-04-28 00:13:32 -04:00
jeff
043a3b50cc - Added 2 great decks from the Pro Tour SOI 2016 2016-04-27 16:13:23 -05:00
Liam Speirs
8758c2de36 Add tracking for number of artifacts in card lists. 2016-04-27 14:43:40 -04:00
LevelX2
e2a8ddef0f Merge pull request #1905 from KWottrich/clean-up-java-imports
Clean up java imports
2016-04-26 11:37:35 +02:00
LevelX2
1fcd26fc60 xmage 1.4.11v0 2016-04-26 00:59:03 +02:00
Kenny Wottrich
f3c83d54f5 Remove Unused Imports
Delete unused java imports that cause compiler warnings
2016-04-24 19:50:29 -05:00
drmDev
5ab54142de W16 fix. Eldrazi Obligator fix and test 2016-04-15 12:24:04 -04:00
drmDev
e136e409fd [W16] cards added. Still does not show as Standard legal. HELP 2016-04-15 09:15:26 -04:00
Fenhl
430ae503c7 Change all line endings to LF 2016-04-14 16:18:01 +00:00
Jared Hall
3f2611de76 Fixes #1836 2016-04-12 08:16:15 -04:00
spjspj
bfc66ff3f3 spjspj - Further fixes for useFirstManaAbility 2016-04-07 15:29:18 +10:00
spjspj
dacef8db5e spjspj - Further fix for User First Mana ability. It should be false unless the user explicitly turns it on through ALT+1 or the menu options. 2016-04-07 10:46:29 +10:00
LevelX2
bcdde0a945 XMage version 1.4.10v0 2016-04-06 22:56:02 +02:00
spjspj
822917322c spjspj - Use first Mana ability fixes 2016-04-05 21:37:04 +10:00
spjspj
e5ca1bd6d2 spjspj - Implement a 'Use the first available mana ability for a land mode'.
This allows people to float mana more easily and to not have to get the popup forcing them to select which mana ability they would like to activate.
There's a new option in the menu system under the Mana Payment section which is set via pressing 'Alt' and the number '1' key (aka Alt+1) (and is unset by releasing Alt+1).
Or they can set it from the right click menu as well.
2016-04-04 20:30:28 +10:00
Jared Hall
44388719a6 Fixes #1755 2016-04-03 20:35:59 -04:00
spjspj
85a22ea9d9 spjspj - Add in message for F11 button 2016-04-02 10:13:54 +11:00
spjspj
3dfe9de05f spjspj - Add the 'Skip to End Step of Previous Player' button to the GamePanel and associated changes 2016-03-27 00:07:23 +11:00
fireshoes
185447c424 [SOI] Added some additional token types. Updated mtg-cards-data.txt with 3/22 spoilers. 2016-03-22 10:18:10 -05:00
fireshoes
b58a0374c6 Added missing Blessed vs Cursed image information. [SOI] Added basic lands, some additional token types and emblems. 2016-03-22 00:05:55 -05:00
rkfg
059b56e11a Add transparency to highlighted player panel. 2016-03-21 21:49:25 +03:00
rkfg
66a9e5140a Highlight current player's panel. 2016-03-20 18:42:58 +03:00
rkfg
ae66db20ad Adjust sliders on reset. 2016-03-17 15:13:29 +03:00
rkfg
981665bcd0 Remove adjust parameter. 2016-03-17 15:13:28 +03:00
rkfg
74f925b579 Fix deck generator sliders. 2016-03-17 06:30:21 +03:00
rkfg
eec3e779bd Simplify controlling of advanced deck generator sliders. 2016-03-17 03:19:20 +03:00
fireshoes
0a38430d49 [SOI] Added 3/14-15 spoilers to mtg-cards-data.txt Added Angel of Deliverance, Anguished Unmaking, Descend upon the Sinful, Drogskol Cavalry, Nephalia Moondrakes, and Sinister Concoction. 2016-03-15 17:47:21 -05:00
Simown
9dc71d2996 Added advanced deck generator functions and tidied up the layout. 2016-03-13 11:33:45 +00:00
rkfg
fec2ed464f Fix default value for "Store images in zip files".
It's set to true as the default checkbox state but to false as the
default cached value. Because of that if preferences are never saved
images are stored to directories though the checkbox will be set in
preferences.
2016-03-11 20:41:19 +03:00
rkfg
909a99ceec Fix transformable cards state desync. 2016-03-09 16:27:00 +03:00
rkfg
8be72c404e Add debug logging to LinePool. 2016-03-09 14:37:59 +03:00
rkfg
b513f3c7b6 Properly close, free and stop lines. 2016-03-09 14:37:58 +03:00
rkfg
d7cdfa016e Minor change, add comments. 2016-03-09 14:37:57 +03:00
LevelX2
7ac679048c Fixed a problem that a chang of the card offset value in preferences was not immediately applied to the card selector in deck editor. 2016-03-09 12:26:35 +01:00
LevelX2
4f8a3e5ae8 Fixed a bug that quitting a tournament by using the "Quit Tournament" button on the tournament panel did not work (fixes #1601). 2016-03-09 12:25:01 +01:00
rkfg
d8ff28c7f7 Refactor audio manager, add line pool. 2016-03-08 02:09:57 +03:00
Quercitron
6e4a4285b8 Fix images download from magiccards.info 2016-03-08 01:21:34 +03:00
rkfg
f95921cc73 Enable hyperlinks handling only in the game log window. 2016-03-07 03:33:04 +03:00
LevelX2
0c242bce5f * Some more support for GUI resizing. 2016-03-06 02:59:47 +01:00
LevelX2
c6f8d09229 Merge origin/master 2016-03-06 02:06:37 +01:00
LevelX2
e29c4c3516 * Fixed that the storm counter was no shown on the game panel. 2016-03-06 02:06:10 +01:00
rkfg
5fe67bda4c Remove unneded import. 2016-03-06 02:55:30 +03:00
rkfg
768b004d3e Fix race condition on tooltip resize in EDT.
CardInfoPane.setCard() performs the tooltip resize, initially it's of
zero width and height. The resize happens in the EDT but location is
calculated in the thread pool's thread, i.e. before the first resize.
Because of that the first time the tooltip appears it may be partially
off-screen, nothing fatal but looks ugly. Now all calculations are moved
to EDT as well and they're guaranteed to happen after the resize.
2016-03-06 02:53:32 +03:00
rkfg
98c291be7b Protect tooltip counter from going negative forever. 2016-03-06 02:53:31 +03:00
LevelX2
dd9431c8ea * Added scrolling to the game dialog area. Some more GUI resizing. Removed some unwanted borders of viewports. 2016-03-05 21:00:55 +01:00
rkfg
1ff8e42222 Prevent tooltip counter going up on hyperlink click. 2016-03-05 01:03:39 +03:00
rkfg
63ca80fc86 Recreate card thumbnails wrongly encoded as CMYK JPEG from PNG. Fixes
#1589.
2016-03-05 00:06:57 +03:00
rkfg
79568c82f2 Fix that when you quickly move cursor from one hyperlink to another,
tooltip disappears.
2016-03-04 21:39:48 +03:00
rkfg
75324f778e Fix tooltip for cards with apostrophes. If there are cards with quotes
or lt/gt in the name, this will need more generic approach.
2016-03-04 21:39:47 +03:00
rkfg
a612eb4585 Fix CRLF mess again. 2016-03-04 10:29:40 +03:00
LevelX2
3f57012c85 Merge origin/master
Conflicts:
	Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java
2016-03-03 23:22:06 +01:00
rkfg
e8091daea5 Reverted crlf's back. 2016-03-04 01:13:27 +03:00
rkfg
b9bbf9ccec Store symbols as .gif instead of .jpg, rename already downloaded ones on
start, fixes #98.
2016-03-04 01:06:53 +03:00
rkfg
47b2a64cee Store symbols as .gif instead of .jpg, rename already downloaded ones on
start, fixes #98.
2016-03-04 00:59:12 +03:00
rkfg
9cf972ced4 Faster symbols load. 2016-03-03 23:04:35 +03:00
rkfg
89bce030d0 Add colorless mana filter to deck generator. 2016-03-03 00:39:58 +03:00
rkfg
6cfe43e9b7 Make DeckGeneratorDialog fields non-static for more OOP-style. 2016-03-03 00:39:57 +03:00