Commit graph

2363 commits

Author SHA1 Message Date
LevelX2
5d8ae4d411 * Workaround to fix problem with deck layout. 2016-10-08 19:03:09 +02:00
LevelX2
157827addc XMage 1.4.16v0 2016-10-08 11:14:13 +02:00
spjspj
be6e900dba spjspj - Add Media Inserts to Grabbag Image Source 2016-10-08 11:19:05 +11:00
spjspj
30bfeb497d spjspj - Add Kaladesh Inventions to Grabbag Image Source 2016-10-08 01:40:37 +11:00
spjspj
624bb8da76 spjspj - Show dialog box for import from clipboard 2016-10-07 20:27:26 +11:00
spjspj
250873263c spjspj - Show dialog box for import from clipboard 2016-10-07 20:15:36 +11:00
spjspj
72b0192bae spjspj - Fix cube from deck from being broken with layouts 2016-10-07 10:38:56 +11:00
spjspj
56e1a96d76 spjspj - Manifest/Morph image to mtg.onl 2016-10-06 18:45:52 +11:00
spjspj
b63874b62d Opaque PlayerPanelExt 2016-10-06 00:02:11 +11:00
spjspj
84e26e6677 Opaque PlayerPanelExt 2016-10-06 00:00:20 +11:00
LevelX2
7c4b40073c Fixed some exception problems (deck layout, mana symbols). 2016-10-04 23:57:11 +02:00
Mark Langen
d604b18f6b Separate setting for split position in sideboarding vs deck construction
* Depending on the orientation of the sideboard / maindeck the split should be a separate setting, not one single one.
2016-10-04 01:18:50 -06:00
Mark Langen
5af417ed0b More Drag & Drop editor fixes
* Fixed cards being blurry. The problem isn't completely fixed, but the fix will suffice in most cases. Card Images are only loaded in once, and the cards were loaded in initially at a small size instead of their eventual size after layout. Really they should reload images when resized, but I will tackle that later, and it's only noticable when significantly resizing cards within one usage of the editor anyways.
* Removed some of the unneeded UI on the sideboard half of the DeckView so that componently are less likely to overlap at a small size. Not sure how to ideally handle this, as Swing doesn't really provide an elegant way to hide components at small sizes, and I'm sure the user would rather the components overlap than be unable to resize the window as small as they want due to a minimum size requirement.
2016-10-04 00:23:13 -06:00
Mark Langen
f6d50ce04f Various new Drag & Drop deck editor improvements
* Shift-Click / Shift-Drag now work as expected as far as multi-selection
* Deck editor saves split pane split positions
* Card layout and sort settings are now saved along side the a deck when saving to the .dck format, so that you have back the exact same deck layout when you re-load the deck.
* Fixed the symbol image downloader to work around some of the large-size symbol images being missing on gatherer. Falls back to the medium sized images currently for those symbols.
2016-10-04 00:09:51 -06:00
spjspj
4d3f28ed6d spjspj - one more token 2016-10-04 10:01:41 +11:00
fireshoes
7cbb3df889 Fixed that Eternal format matches did not show in the matchmaking lobby. 2016-10-03 16:39:11 -05:00
LevelX2
9a00dd20ca Fixed some problems with constructed formats definition and custom sets. 2016-10-03 20:25:08 +02:00
LevelX2
bdaa78e144 Some minor changes. 2016-10-03 10:00:48 +02:00
LevelX2
f6839f9e1d Merge origin/master 2016-10-03 01:43:02 +02:00
LevelX2
fcba98f985 Some minor changes. 2016-10-03 01:42:35 +02:00
fireshoes
002da57ccd Fixed that Constructed - Freeform format did not appear in the games lobby. 2016-10-02 18:40:45 -05:00
LevelX2
c4b4804903 Fixed that no abilitues were shown for selecting the order of triggered abilities from a dies triggered ability of tokens. 2016-10-02 23:34:06 +02:00
LevelX2
e49c92e80c Added "E" to the to be replaced symbols with icon in rule text. 2016-09-29 16:20:13 +02:00
spjspj
6ad012fa87 Merge pull request #2405 from spjspj/master
spjspj - Player Panel
2016-09-29 23:05:47 +10:00
spjspj
1bbed6dc5f spjspj - Player Panel 2016-09-29 23:03:57 +10:00
Lymia Aluysia
09cc9646a0
Remove outdated comment. 2016-09-29 06:48:22 -05:00
spjspj
52f6d36063 Merge pull request #2403 from spjspj/master
spjspj - Player Panel *fix offset of {W}*
2016-09-29 17:39:51 +10:00
spjspj
fa627a3efb spjspj - Player Panel *fix offset of {W}* 2016-09-29 17:33:22 +10:00
Mark Langen
a018f2021b Fixed a bug with JFileChooser in the DeckEditorPanel
* On specific platforms (it seems Windows 7-10, JRT 7+), under our specific configuration, in the case where the user selects the exact same file as they chose during a previous selection, JFileChooser reports that the user selected a file, but returns chosen file = null. This commit works around that by assuming they chose the same file as last time in that case.
2016-09-28 23:27:46 -06:00
Mark Langen
615b93f8c3 Finished the new Drag & Drop deck view. It is currently implemented in main deck editor, and limited deck construction.
Still to do:
* Integrate it into the draft view
2016-09-28 20:57:23 -06:00
Mark Langen
56a3c6dc8c Mostly working Drag n Drop deck editor
* Still trying to iron out how to signal back events from cards moving between different drag and drop targets to the DeckEditorPane
2016-09-28 20:57:22 -06:00
Mark Langen
3c2c793f5d Drag n Drop Deck Editor WIP
* Working standalone proof-of-concept application in DragCardGrid.

* Still needs listener functionality in order to integrate it into the existing DeckEditorPanel class.
2016-09-28 20:57:22 -06:00
Mark Langen
2d55ccc73c Change "Ask for graveyard order" setting to not ask by default
* The cases where graveyard order matters are so staggeringly few that that the setting should almost certainly default to false.
2016-09-28 20:57:21 -06:00
spjspj
458cbfa71a spjspj - Further changes to height of Player Panel. 2016-09-28 23:27:15 +10:00
spjspj
5b941d4c5e spjspj - Make zero values less noticeable on player panel 2016-09-28 22:58:55 +10:00
spjspj
240c7950d0 Merge pull request #2386 from spjspj/master
spjspj - Add in energy/experience counters
2016-09-27 17:50:26 +10:00
spjspj
de3c3ae036 spjspj - Add in energy/experience counters 2016-09-27 17:49:34 +10:00
fireshoes
783a278fca Added Frontier format (M15 forward). Added Kaladesh block constructed. 2016-09-27 01:54:49 -05:00
spjspj
1a81f2151f spjspj - Add in energy/experience counters 2016-09-26 03:17:06 +10:00
spjspj
d259efc093 spjspj - Add in energy/experience counters 2016-09-26 03:01:35 +10:00
spjspj
5671ab8ff7 spjspj - Add in energy/experience counters 2016-09-26 02:58:59 +10:00
spjspj
db3074ceda spjspj - experience.png resource (candidate for a more gooderer one..) 2016-09-26 02:50:37 +10:00
spjspj
80b498f044 spjspj - Energy.png resource 2016-09-26 02:45:20 +10:00
spjspj
16bb17e5bb spjspj - Add option of 'Number of Seats'. This is for Tournaments so that you can draft say a 4 way draft and then have a 4 way game at the end of it. 2016-09-25 00:46:16 +10:00
LevelX2
b85dc8c0cd Some minor changes. 2016-09-24 14:55:09 +02:00
LevelX2
4c91440f5e Chnaged color frame for active player to green (that white was a no go). 2016-09-22 21:48:39 +02:00
LevelX2
b7f3a4b202 Merge pull request #2321 from getgrenade/master
Player Panel UI redesign (new icons, new colors, new buttons)
2016-09-22 19:55:20 +02:00
spjspj
e22184180d spjspj - Add 'Delayed Submit' button to the deck editor 2016-09-20 01:49:51 +10:00
Get
ed7378da66 Player Panel UI redesign (new icons, new colors, new buttons) 2016-09-18 17:10:54 +03:00
spjspj
88b557e1b2 Merge pull request #2317 from spjspj/master
Some minor fixes for grabbag
2016-09-18 20:22:00 +10:00
spjspj
8cf4acb68a Some minor fixes. 2016-09-18 20:20:04 +10:00
Fenhl
ab7e86cb27 Change AE to Ae 2016-09-17 16:59:24 +00:00
LevelX2
04ca15a3a9 Some minor fixes. 2016-09-17 16:45:53 +02:00
Mark Langen
7feb237c06 Fixed card stacking offset in Editor / Library / etc.
* Rather than respecting the spacing setting from Preferences, the spacing is now calculated from the card size if characteristic based rendering is enabled, since from the renderer we know exactly what spacing is actually needed.
2016-09-16 16:41:00 -06:00
Mark Langen
28c04e2009 Fix cards still not showing selectable highlight in some cases
* Simply invalidating the image render is not enough, a repaint call is also needed in a few cases where a repaint hadn't already been scheduled by the same change that trigged the selectable/chosen status change.
2016-09-16 16:41:00 -06:00
LevelX2
d7dd635bca Revert "introduced StringUtil class with .isEmpty(String input) and .isNotEmp…" 2016-09-16 23:55:54 +02:00
ingmargoudt
f1cf9e7adb introduced StringUtil class with .isEmpty(String input) and .isNotEmpty(String input), to replace str != null && str.length()>0 statements 2016-09-16 21:23:31 +02:00
ingmargoudt
71398d6d83 added some missing session references 2016-09-16 08:58:44 +02:00
Mark Langen
7e2f606d8a Fix issue #2249 - Black borders on non-rendered cards
* Turns out that drawing black borders on non-rendered cards, while it fixes what was probably a bug, has unintentional and undesirable implications. Needs further work in the future, but revert it for now.
2016-09-15 20:06:37 -06:00
Mark Langen
24beaa08f9 Vehicle P/T Rendering Enhancement
* Non-animated vehicle permanents have their P/T dimmed to distinugish their status past the type line changes.
2016-09-15 17:18:20 -06:00
LevelX2
ce004cc2b7 * Added some missing static SessionHandler usages. 2016-09-16 00:40:37 +02:00
Mark Langen
80e8603a3a Fixed mana-symbol-textbox being rendered on permanents other than lands
* Basic lands have the mana symbol in their textbox rather than their actual text. That was erroneously being applied to other permanents like Elvish Mystics with only a single mana adding ability as text.
2016-09-15 16:07:24 -06:00
Mark Langen
5a6a62ecbf Fix wrong order on ability rendering
* Keyword abilities were being rendered *last* on cards instead of first as they should be.
2016-09-15 16:07:24 -06:00
LevelX2
f6ef3db9b9 * Added some missing static SessionHandler usages. 2016-09-15 22:30:41 +02:00
ingmargoudt
3019991473 removed the Session out of local scope and introduced a static SessionHandler that acts as interface to remote.Session 2016-09-15 20:52:41 +02:00
spjspj
a0c09ecf6a spjspj - Add 'grab-bag' of images that seem harder to get. 2016-09-16 01:41:10 +10:00
Mark Langen
9927123cb3 Made deck area orientation dynamic.
* Deck area orientation now changes depending on the context.
* In free building and sideboarding, the sideboard and maindeck are shown side by side.
* In limited deckbuilding, the sideboard (with your limited pool) is shown above the maindeck.
2016-09-15 00:55:23 -06:00
Mark Langen
577bdaea84 Fixes and additions to card rendering
* Vehicles are rendered with a vehicle background and changed P/T box color
* Kaladesh Inventions are rendered with the invention frame
* Kaladesh Inventions use the full-frame art if they detect that you have that full art downloaded instead of normal card images.
* Changed land text-box colors to be a bit more saturated to make it clearer what colors they produce
* Added mana symbol in the textbox of basic lands instead of rules text as long as they have no additional abilities.
* Fixed problem with triggered abilities on the stack showing up with a type of "??? Ability". Not sure what the real cause is but those abilities have abilityType = null, just worked around it.
2016-09-14 19:37:12 -06:00
ingmargoudt
3128bd2b4b replace [list].size() == 0 and [string].length() == 0 to use .isEmpty() instead 2016-09-14 15:27:31 +02:00
spjspj
4a15228bf2 spjspj - Add alternative SCG tokens from alternative.mtg.onl 2016-09-14 02:13:01 +10:00
spjspj
08df195bc3 spjspj - Fix for mtg.onl 2016-09-14 00:38:24 +10:00
LevelX2
5e7a4d265e Merge pull request #2254 from royk/add-deck-support
Add support for .dek files
2016-09-13 11:56:46 +02:00
Mark Langen
610c4789e5 Fixed card rendering breaking when view is missing set code. Real issue is #2260, but that will take more work to fix. 2016-09-12 23:25:48 -06:00
fireshoes
6ea98ba19b [KLD] Updated mtg-cards-data.txt with spoilers through 9/12. Add Masterpiece Series set and 4 known reprints so far. 2016-09-12 14:02:48 -05:00
Roy Klein
1e39c99914 Add support for .dek files 2016-09-11 23:34:17 +02:00
spjspj
c5577dc09e d'oh 2016-09-12 01:13:16 +10:00
spjspj
3bbf5d1d56 spjspj - Add in last ditch token attempt (for momir vig mainly) 2016-09-12 01:00:43 +10:00
LevelX2
bb8326d46b XMage 1.4.15v0 2016-09-10 12:31:18 +02:00
Mark Langen
8d90f4558d Merge pull request #2234 from stravant/master
Characteristic-Based rendering initial release completed unless further bugs come up before then.
2016-09-07 23:16:10 -06:00
Mark Langen
26b98d1afb Added more card text sizes. And other small fixes.
* Changed card rules text rendering to use 5 total possible text sizes to better support HD+ display resolutions.

* Made a P/T box be shown on vehicles.

* Small bugfixes, fixing crashes when characteristics like type line or name are missing for whatever reason.
2016-09-07 22:35:14 -06:00
Mark Langen
a638625c77 Fixed full-arts seemingly not replicating properly
* The problem was that they key for caching rendered cards did not take into account the full art / not full artness of the cards, so when someone has both full art and non-full art variants of a land from the same set it one would override the other.
2016-09-07 17:35:05 -06:00
Mark Langen
f0a1938b3e Full art Land rendering
* Added "frameStyle" tagging to relevant full art lands (ZEN, BFZ, UNG, UHG)

* Added support for rendering based off of frameStyle

* Outstanding bug that frameStyle doesn't seem to be replicated exactly properly
2016-09-07 02:20:51 -06:00
emerald000
df2782fdb6 [KLD] Basic implementation of energy counters. Added Woodweaver's Puzzleknot.
Better display of energy counters would be preferred.
2016-09-07 01:07:21 -04:00
Mark Langen
0ea9d33211 Fixed card highlighting
* Changed CardPanelRenderImpl to correctly invalidate its render when its panel has its isChoosable / isSelected override set. Before things like selecting cards in a draft view would not visibly have an effect as the render wasn't invalidated.
2016-09-06 18:15:37 -06:00
Mark Langen
f9e088b51d Card Rendering name & type line fixes
* Changed Name and Type line rendering to use Arial / Arial Narrow instead of Beleren. At small font sizes, those fonts are much more readable.

* The P/T box still uses the Beleren font, as the numbers in that font are quite readable even at small sizes.

* Changed the name / type lines to switch between Arial and Arial Narrow depending on whether there is space available using Arial or not.
2016-09-06 17:03:28 -06:00
ingmargoudt
e2a479255a refactor : removed all instances of new Random() and replaced with RandomUtil for a ThreadLocal randomizer 2016-09-05 15:03:47 +02:00
fireshoes
f2cc8d4571 Removed Nissa vs Ob Nixilis from ignored images. 2016-09-04 23:06:13 -05:00
fireshoes
b9d29d3ebf Added upcoming sets. [KLD] Updated mtg-cards-data.txt. Added some simple cards. 2016-09-04 22:54:05 -05:00
fireshoes
16c40d0248 Merge origin/master 2016-09-04 09:13:47 -05:00
fireshoes
5e911ca63c Updated image sources for upcoming sets. 2016-09-04 09:08:46 -05:00
spjspj
fb5087683f spjspj - Implement new token source (mtg.onl) for downloading of tokens to tokenDescriptor format in TOK.zip 2016-09-04 22:34:43 +10:00
LevelX2
720a4457fd * Fixed hybrid mana symbol display for characteristic-based card rendering. Removed not used import statements. 2016-09-03 10:52:14 +02:00
Mark Langen
629da22dd9 Small fix to renderer. 2016-09-01 17:23:17 -06:00
Mark Langen
b2895ee9eb Tweaked layout for small card text. 2016-09-01 16:13:28 -06:00
Mark Langen
463576dbd0 Merged up to current 2016-09-01 15:44:14 -06:00
Mark Langen
818efb8535 * Textual set symbols no longer displayed if set symbol image doesn't exist.
* Fixed a small graphical mispositioning in rendering of keyword abilities.
* Added an option to hide set symbols entirely when rendering.
* Fixed flip walkers like Arlin Kord showing a "0" loyalty on their back face (when they should have no loyalty there).
* Removed some log files I accidentally committed.
* Fixed a bug in tokens, where they are missing their expansion symbol of they are created by another token
* Fixed the the new Rendering based CardPanel not returning the correct Image through getImage (resulting in a poor quality image in the card preview window)
2016-09-01 15:00:46 -06:00
spjspj
0f043d480d spjspj - Implement new method for image generation of tokens. 2016-09-01 17:11:12 +10:00
Mark Langen
d33f8a636e Most obvious bugs ironed out. Ready for PR. 2016-08-31 23:37:31 -06:00
Mark Langen
d5415d2d04 Working Card Rendering 2016-08-31 04:43:28 -06:00
spjspj
4bf78fd6d4 Update devs 2016-08-19 19:45:23 +10:00
LevelX2
873ecddb1d Fixed that token images were not loaded. 2016-08-15 11:13:06 +02:00
LevelX2
539b03bd1d Xmage 1.4.14v0 2016-08-13 10:14:38 +02:00
fwannmacher
9b5a02c09c - Fixed issue #2075 2016-08-04 09:52:56 -03:00
LevelX2
a0fbcddeb9 * Added preference option to set the size of the enlarged image popup window. 2016-08-02 12:00:36 +02:00
fireshoes
88e8894b29 Added Duel Decks: Nissa vs Ob Nixilis and From the Vault: Lore. 2016-08-01 15:05:25 -05:00
Quercitron
c04bd6d64a Replace Yes/No text with Mulligan/Keep text on mulligan answer buttons to make options more clear. 2016-07-31 15:57:45 +03:00
Derek M
86e7ace06e Merge pull request #2112 from fwannmacher/master
Converted cardNumber from int to String. Now card number with "a" or "b" can be used.
2016-07-25 16:24:01 -04:00
spjspj
883b63a01d spjspj - Update to push deck List across from Client to Server for Custom Cube 2016-07-25 22:44:21 +10:00
fwannmacher
10778cdd6b - Converted CardImpl.cardNumber from int to String
- Fixed Issue #1953
- Fixed Issue #1914
- Fixed Issue #739
2016-07-24 15:18:54 -03:00
fwannmacher
78f327e822 - Fixed more image url properties 2016-07-21 01:19:28 -03:00
fwannmacher
9861f762b7 - Added option to select number of threads for image download 2016-07-20 16:08:36 -03:00
fwannmacher
8c1e7ec42e - Fixed some image url properties 2016-07-20 14:23:22 -03:00
fireshoes
9630320ba9 Changed set codes in image sources and Mage Sets to match recent changes. Changed Portal Second Age set code back to PO2. Updated tokens with recent sets to product correct images. Fixed that there was no basic land slot in EMN packs. 2016-07-18 15:49:43 -05:00
Quercitron
91f74ced1f Add downloading of double-faced cards from the mythicspoiler.com 2016-07-12 03:31:08 +03:00
LevelX2
d0ecb473da Xmage 1.4.13v0 2016-07-11 22:54:43 +02:00
LevelX2
8e76430d07 Revert "Use a dedicated thread pool for audio" 2016-07-10 22:01:06 +02:00
fireshoes
4cf3f29c4c [EMN] Added complete spoiler to mtg-cards-data.txt. Added existing reprints. 2016-07-08 11:18:14 -05:00
spjspj
26d38f0773 spjspj - Add the option of having a .dck file as a cube 2016-07-04 00:20:31 +10:00
LevelX2
ce91f6aae7 Fixed a problem with transformed image cache. 2016-07-02 19:07:26 +02:00
LevelX2
1c2aa4c10a Fixed cleint exception problem with transformable cards. 2016-07-02 18:38:29 +02:00
LevelX2
7cfdd80c57 Chnaged permanent row handling so creatures are always shown towards the opponent side. 2016-07-02 13:45:34 +02:00
LevelX2
e9993f980a Added workaround to deck generator to handle missing basic lands. 2016-07-02 13:44:36 +02:00
LevelX2
2874996994 Merge pull request #2032 from draxdyn/hold_priority
Hold priority on Ctrl+click
2016-07-01 16:00:20 +02:00
LevelX2
3b0f7b074f * Some changes to distance calculation of enchantments on the battlefield. Added minimal permanet size preference setting (not working correctly yet). 2016-07-01 15:08:40 +02:00
fireshoes
33ac32f5c4 [EMN] Added additional 6/30 spoilers to mtg-cards-data.txt. Added some more cards. 2016-06-30 14:47:59 -05:00
draxdyn
a7409f3d08 Hold priority on Ctrl+click
In most cases, it is not useful to hold priority after doing something,
since the spell or ability added to the stack can just be performed
beforehand.

Hence, automatically passing priority is the only comfortable setting.

However, in some cases it is useful (chiefly for Infernal Tutor +
Lion's Eye Diamond and similar interaction), and currently players
have to open Preferences, change the option and then change it back
whenever they need to hold priority, which is very annoying.

This change allows to temporarily hold priority by simply holding
Control while performing an action, which solves the issue in a
manner similar to other clients.

A "Hold" indicator next to the spells cast indicator is displayed so
that the user knows his Control key holding was registered.

The code works by adding a new HOLD_PRIORITY player action that causes
the automatic priority pass options to be ignored until the player is
given priority again.

The client sends the message whenever it's not already holding priority
and Ctrl+click/space/enter happens anywhere.

This is somewhat "loose" as it means that Ctrl+click on the background
also holds priority, but this might actually be desirable and it greatly
simplifies the code, since only a global AWT event listener is required,
and there is no need to change every place in the code that could add
something to the stack.

It is also possible to hold priority and stop holding priority using
the context menu.
2016-06-29 19:57:45 +02:00
drmDev
9deb1bd0da Ignition Team implementation (requested card) 2016-06-29 03:21:40 -04:00
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
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
rkfg
5b9a38bf22 Fix first card tooltip show. 2016-03-02 14:48:57 +03:00
rkfg
ba0cd24b55 Show card tooltips in system logs. 2016-03-01 01:12:57 +03:00
rkfg
abff5c1958 Filter HTML in ability picker. 2016-02-29 20:53:03 +03:00
rkfg
f7314307a6 Reload symbols after closing the symbols download window (better UX). 2016-02-29 20:08:52 +03:00
rkfg
f00a588e24 Add Generate button to Deck Editor. 2016-02-29 19:40:00 +03:00
rkfg
3658a8c7bc Prevent NPE if client never connected to any server and doesn't have
sets downloaded.
2016-02-29 19:39:59 +03:00
LevelX2
6d4a3bac28 Fixed that wathcing games did not work correctly. 2016-02-28 10:52:55 +01:00
LevelX2
f87c5bbbec Fixed that the flag on avatar image could be to big. 2016-02-27 12:33:08 +01:00
LevelX2
ad4b68dcb5 Fixed card grid dimension initialisation. 2016-02-27 09:30:21 +01:00
LevelX2
56294eac50 Merge origin/master 2016-02-27 09:28:01 +01:00
LevelX2
ac757b6a88 Fixed card grid dimension initialisation. 2016-02-27 09:27:43 +01:00
LevelX2
d2b7aea306 Merge pull request #1566 from rkfg/master
Fix building, fix NPE on sideboarding, fix one of the perl scripts.
2016-02-27 09:26:25 +01:00
LevelX2
aa015b52e6 GUI Size - Fixed that table header lines were not horizontally moved. 2016-02-27 09:15:17 +01:00
rkfg
9842199d6f Fix NPE after finishing a round. 2016-02-26 21:09:11 +03:00
rkfg
b9dc5036ef Assembly fix. 2016-02-26 21:05:21 +03:00
Goesta
ad62546807 Improved download speed of foreign language cards 2016-02-25 19:30:20 +01:00
LevelX2
df98b4e0af * Fixed a bug with time stamp order and change of basic land type (e.g. Blood Moon and Spreading Seas). 2016-02-25 17:08:17 +01:00
Quercitron
61cad91f9b Fix images download from magiccards.info 2016-02-24 02:17:02 +03:00
LevelX2
3cd9dc3bf6 Merge pull request #1555 from goesta/wizard-multilanguage-card-download
Added support for downloading multi-language cards form Wizards.com
2016-02-23 21:51:36 +01:00
Goesta
36e084990a Added Wizards.com multi-language cards download 2016-02-23 17:27:01 +01:00
tritoch
3b17587b80 Spelling
apllication -> application
2016-02-22 15:14:02 -06:00
LevelX2
b9d3e55f94 Fixed Secluded Steppe card number in the "Wade into Battle" commander 2015 deck sample-decks directory. 2016-02-21 23:50:30 +01:00
LevelX2
74b4e5941b Fixed a spelling error in GUI Size text. 2016-02-21 23:21:21 +01:00
LevelX2
e9638bcc4d Release 1.4.9v0 2016-02-21 12:58:58 +01:00
LevelX2
51a0d8a4b2 Some more changes to GUI to better support high screen resolutions. 2016-02-21 12:15:11 +01:00
LevelX2
e04c82a227 Some more changes to GUI to better support high screen resolutions. 2016-02-21 11:30:12 +01:00
LevelX2
249d709cc7 Sizable GUI - game dialog area elements resize now. 2016-02-20 02:31:47 +01:00
LevelX2
e15807b9ed * Some more changes to adjustment possibilities of GUI size. 2016-02-19 16:30:52 +01:00
LevelX2
35505b29bb Some more changes to GUI to better support high screen resolutions. 2016-02-19 01:56:15 +01:00
LevelX2
77eff0984a Some more changes to GUI to better support high screen resolutions. 2016-02-18 00:27:48 +01:00
LevelX2
28b129018f * Some more changes to adjustment possibilities of GUI size. 2016-02-17 18:08:21 +01:00
LevelX2
5ca4e3bc7a Some more changes to GUI to better support high screen resolutions. 2016-02-16 23:15:34 +01:00
LevelX2
f54c675c4b * Fixed a bug of colorless mana (e.g. caused Heartbeat of Spring not working with Urza's lands). 2016-02-16 17:15:47 +01:00
LevelX2
129c6ca6ff Merge origin/master 2016-02-16 11:33:14 +01:00
LevelX2
4f8c4fc019 * Fixed bug that request to show players hadn did not work. 2016-02-16 11:32:23 +01:00
fireshoes
bf3e90b8ee Added DDQ and SOI cards. Added Duel Deck sample decks. Corrected Mindwrack Demon translation. 2016-02-16 00:36:17 -06:00
LevelX2
f7a7b2e7a0 Some more changes to GUI to better support high screen resolutions. 2016-02-14 23:34:36 +01:00
LevelX2
1835671f3d Some more changes to GUI to better support high screen resolutions. 2016-02-14 13:41:43 +01:00
LevelX2
7ef0a0a7f0 Some more changes to GUI to better support high screen resolutions. 2016-02-13 02:30:05 +01:00
LevelX2
706d319f81 Some more changes to GUI to better support high screen resolutions. 2016-02-12 13:35:04 +01:00
LevelX2
7b79de8e40 Some more changes to GUI to better support high screen resolutions. 2016-02-10 23:34:16 +01:00
LevelX2
a0ff08b0b9 Some more changes to GUI to better support high screen resolutions. 2016-02-10 08:31:21 +01:00
fireshoes
2a92f5e77a Added SOI and EMN sets. Added some SOI cards. 2016-02-08 20:53:09 -06:00
LevelX2
a07db4cb8e Some more changes to support GUI size for high resolutions. 2016-02-09 03:06:32 +01:00
Quercitron
d139cd591c Fix images download from magiccards.info 2016-02-09 01:39:28 +03:00
LevelX2
77a8e3e7a9 * Some fixes to font size change of chat panels. 2016-02-08 16:16:19 +01:00
LevelX2
ac2570f982 Added a chat font size option to preferences. 2016-02-08 08:49:57 +01:00
LevelX2
687ab7ec6b Added some tooltips to user table headers. History is shown in tournament player table now. Changed ratio column to numberic format. 2016-02-06 21:22:51 +01:00
LevelX2
81af372bc1 Fixed some problems with possible ConcurrentModificationExceptions and some minor changes. 2016-01-31 23:23:09 +01:00
Me Car
284c36b756 Add allowed quit ratio option to match option and tourney option. 2016-02-01 02:25:44 +09:00
Me Car
574e3cfd36 Split History column into Matches and Tourneys column. 2016-01-30 16:01:04 +09:00
LevelX2
e31b12325e Added "info [username]" command to get history for offline players. Remove user info column. 2016-01-23 16:59:15 +01:00
LevelX2
151e678e84 Changed history handling for user a bit. Added history to table waiting dialog and user avatar tooltip. 2016-01-23 13:37:34 +01:00
LevelX2
4acadf051d Minor changes. 2016-01-23 01:27:08 +01:00
LevelX2
5981816a4b Switch to 1.4.8 for upcoming realease. 2016-01-22 22:33:58 +01:00
LevelX2
93ac094470 Fixed a problem that symbols were not redownloaded if a 0 size file was created because the target file to download was not available before. 2016-01-22 14:28:46 +01:00
LevelX2
b23ddd99a0 * Some adjustments for the colorless mana symbol. 2016-01-21 23:49:24 +01:00
fireshoes
f51be0b3ef Added OGW tokens to card-pictures-tok.txt 2016-01-20 09:15:03 -06:00
LevelX2
c6eff03339 Merge pull request #1482 from menocar/user-stats
Record game histories. Compute user stats and show them in the client.
2016-01-20 07:31:11 +01:00
Me Car
379e61f98a Adjust the index correctly. 2016-01-20 13:04:04 +09:00
Me Car
550648ccbe Record game histories. Compute user stats and show them in the user panel. 2016-01-20 12:47:58 +09:00
LevelX2
cdbda6a7e6 * Fixed ArrayIndexOutOfBoundsException by trying to do actions on tables removed meanwhile. 2016-01-15 21:03:39 +01:00
Me Car
ea480a6593 Create MagePreferences class for managing preferences. We should move preference related code from MageFrame and PreferencesDialog to the class. Push all raw string preference key manipulations for serverAddress, serverPort, userName, password and email into the class. 2016-01-15 03:08:52 +09:00
Me Car
b114c17135 Store usrName and password per server. Update input boxes with corresponding values when server is changed in ConnectDialog. Save prefs on successful requests in RegisterUserDialog and ResetPasswordDialog. 2016-01-14 18:00:04 +09:00
Me Car
f5765383c7 Use server and port specified in ConnectDialog rather than in the preference. 2016-01-14 10:01:30 +09:00
Me Car
cb050c3208 Send password on reconnect. 2016-01-14 09:53:23 +09:00
Me Car
199e278ed9 Add input boxes to password reset form for server address and port. 2016-01-14 07:12:03 +09:00
Me Car
8801b63744 Add tooltip messages to clarify the usage of user authentication. 2016-01-12 13:31:27 +09:00
Me Car
746d034461 Implement a password reset flow. 2016-01-11 21:49:02 +09:00
Me Car
f99660a451 Add some password validation. 2016-01-11 11:15:01 +09:00
LevelX2
121f40c019 Prepared 1.4.7. 2016-01-10 22:13:59 +01:00
LevelX2
7f4291ac07 Fixed a problem of image download for OGW. 2016-01-10 22:13:30 +01:00