Commit graph

2367 commits

Author SHA1 Message Date
Oleg Agafonov
1ec277631f GUI, game: added card popup support in choose target amount dialogs (example: damage distribution, related to #9827) 2024-10-24 16:30:17 +04:00
Oleg Agafonov
2b9ae8e0aa GUI, table: improved save/load table config for new tourney dialog (miss num seats, decks, skill, player types and other params, related to #12981) 2024-10-12 11:31:42 +04:00
Oleg Agafonov
3475249c99 GUI, table: improved save/load table config to support player types, AI skill level and deck files (closes #12981) 2024-10-11 17:09:15 +04:00
Oleg Agafonov
f652665f87 merge fix 2024-10-11 16:40:27 +04:00
Oleg Agafonov
bad782244f GUI: added new error dialog for more use cases 2024-10-11 16:38:46 +04:00
Oleg Agafonov
8d6ba84556 dev: added support of client code debugging without disconnection (no more connection/pings validation in server's test mode);
server: improved disconnection logs, fixed some race conditional bugs;
2024-10-09 16:03:38 +04:00
Oleg Agafonov
f0c6835d36 GUI, preferences: removed outdated settings with images download threads (it's 5 by default now) 2024-10-06 13:42:27 +04:00
Oleg Agafonov
5e1dace946 GUI: fixed black colored card hint popup on some systems (#12857) 2024-09-28 21:05:44 +04:00
TandEm
571eb69890
GUI, deck editor: improved toolbar icons in dark themes (#12873, #12920)
Co-authored-by: TandEm <tandem@users.noreply.github.com>
2024-09-28 19:44:19 +04:00
Oleg Agafonov
f7d702d5df images: added The Ring image support (part of #12274, #12899);
images: fixed miss dungeon image in choose dungeon dialog (part of #12274);
2024-09-21 18:41:53 +04:00
Oleg Agafonov
b40e7222b3 Dungeon improves:
* Dungeons: added dungeon name hint to room's game log and choices (part of #12274);
* GUI, game: added card popup hints support in feedback panel (yes/no choices);
* Images: fixed miss images for dungeons in command zone, game logs and choice dialogs;
2024-09-19 13:42:23 +04:00
Oleg Agafonov
cd51954208 tests: added verify check for wrong predicates usage in filters (ClassCastException errors like #12774) 2024-09-19 04:32:21 +04:00
Oleg Agafonov
6625db1be1 GUI: reworked GUI to support non-blocking UI:
- GUI: added non-blocking UI to almost all app and game dialogs;
- GUI: it allows to switch between UI dialogs and use any UI elements at any moment;
- GUI: it allows to use chat, card popup, battlefield, concede and other features while choosing (related to #12670);
- GUI: it allows to download images while playing (related to #4160, not fully tested);
- GUI: enabled by default, can be disabled by java option: -Dxmage.guiModalMode=true
- connection: auto-connect will be visible in main menu on startup;
- connection: removed some unused features (auto-connect by command line);
- connection: added <ESC> button to close connection dialog;
- download: added background images download (see non-blocking UI);
- download: improved cancel stability and fixes that it can't stop preparing/downloading process in some use cases;
- app: fixed freezes on macOS systems in some use cases (related to #12431, #11292, #9300, #4920);
2024-09-08 00:40:13 +04:00
xenohedron
54874a59b0
refactor: rename "remixed" to "reshuffled" (#12755) 2024-09-01 01:08:26 -04:00
TandEm
8b57b7ee75
GUI: fix some text colors not using the theme color (#12737)
Co-authored-by: TandEm <tandem@users.noreply.github.com>
2024-08-26 12:17:34 -04:00
TandEm
5cab53c848
New GUI theme: Carbon Fiber (#12733)
Co-authored-by: TandEm <tandem@users.noreply.github.com>
2024-08-25 23:14:02 -04:00
Oleg Agafonov
e386210b91 other: fixed rare errors on images download opening, fixed wrong code in chats and preferences store; 2024-08-16 17:42:33 +04:00
Oleg Agafonov
664ac24dfd GUI, preferences: added some docs/hints about DPI and rendering (part of #969) 2024-08-14 20:06:34 +04:00
Oleg Agafonov
3823e95c4f GUI, preferences: added default gui size settings on app's first run (preset selected due screen resolution, part of #969) 2024-08-14 13:31:47 +04:00
Oleg Agafonov
9733df0afd GUI, preferences: added predefined settings for different screen resolutions from 720p to 4k (closes #6887 part of #969) 2024-08-14 06:08:45 +04:00
Oleg Agafonov
d15f12cdd3 GUI, preferences: added fast buttons with predefined size settings for diff screen sizes (part of #6887 and #969) 2024-08-14 03:29:55 +04:00
Oleg Agafonov
58400833bc GUI, game: improved battlefield sizing (part of #6887 and #969):
- fixed wrong restore of card hint and chat panels;
- now it keep hidden state too (e.g. hidden card hint);
- reworked and share splitters code;
- removed some useless hotkeys to show/hide card hint panel;
2024-08-13 23:49:39 +04:00
Oleg Agafonov
9321c694ca GUI, game: introduced sizeable hand/stack zones (part of #6887 and #969):
- added splitter/divider between hand and stack zone;
- users can resize it by mouse drag;
- users can hide/minimize hand or stack zones by mouse clicks on splitter arrows;
- splitter settings shared between games and stored between app runs;
2024-08-13 16:07:05 +04:00
Oleg Agafonov
bc64ebca14 refactor, preferences: min/max permanents size settings replaced by single size, removed un-used code, fixed starting tab on game preferences use; 2024-08-13 00:08:13 +04:00
Oleg Agafonov
754e5fc41a GUI, preferences: removed rare/useless settings:
* Show ability picker forced - removed and keep enabled for all;
* Show turn info in logs - removed and keep enabled for all;
2024-08-12 21:25:16 +04:00
Oleg Agafonov
4d89fcd72d GUI, game: fixed wrong player panels size on reconnect 2024-08-12 20:58:41 +04:00
Oleg Agafonov
7811bcf4c1 GUI, menu: reworked switch panels from main menu - fixed random positions, now it group buttons by related tables and sort by creating date; 2024-08-11 19:34:29 +04:00
Oleg Agafonov
7916af0e52 server, refactor: added client side info about current table and parent table (tourney's sub-tables with matches); 2024-08-11 19:29:42 +04:00
Oleg Agafonov
f105828e1c GUI: reworked battlefield panels to use layouts and dynamic settings (no needs in NetBeans to modify it, no needs in size calculations, improved positions and sizes, deleted outdated code); 2024-08-05 19:00:42 +04:00
Oleg Agafonov
546fc1ed9a GUI, preferences: fixed that auto-target settings doesn't save, removed outdated code (phase stops settings are global now, not per game); 2024-08-05 03:18:20 +04:00
Oleg Agafonov
76db1d3e65 GUI: combined symbols and images download menus in one, fixed menu colors on theme switch 2024-08-05 02:20:12 +04:00
Oleg Agafonov
42ae6f0f7e Merge fix 2024-08-05 00:54:51 +04:00
Oleg Agafonov
8f7abe2dc5 GUI: added old what's new page (build-in window on startup); 2024-08-05 00:01:38 +04:00
Oleg Agafonov
0a55e37c8c download: reworked scryfall images support:
- download: fixed unmount zip errors on cancel download in some use cases (closes #12536);
- download: significant download speed improvements (now it depends on user's network speed, not api limitations);
- download: added additional error dialogs on bad use cases;
- scryfall: added cards and bulk data api support;
- scryfall: added bulk data download (updates once per week, contains all scryfall cards and store in images\downloading folder, 2 GB size);
- scryfall: added optimized images download without api usage (use direct images links from bulk data, closes #11576);
- scryfall: improved image source searching for some use cases (miss or wrong images problems, closes #12511);
- scryfall: tokens don't use bulk data;
- scryfall: 75k small images downloads 40 minutes and takes 1 GB and 2100 api calls (most of it from tokens);
- scryfall: how-to disable bulk data, e.g. for api testing: -Dxmage.scryfallEnableBulkData=false
2024-08-03 19:41:14 +04:00
Oleg Agafonov
bfa7c4c9a8 download: improved images download from scryfall source:
- fixed wrong timeouts for api (fixed 429 Too Many Requests);
- added any/10 parallel threads support;
- current api limit is 1 request per 300 ms;
2024-08-01 11:46:37 +04:00
Oleg Agafonov
b5527a28db download: added debug logs/stats for http requests (DebugUtil.NETWORK_PROFILE_REQUESTS) 2024-08-01 11:23:54 +04:00
Oleg Agafonov
27e7d4432f refactor: added lazy loading to preferences dialog, fixed tests in headless mode (travis) 2024-07-31 22:50:07 +04:00
Oleg Agafonov
e1cffbde40 download: reworked connection:
- added shareable code with default proxy, headers and other settings for download tasks like images, symbols, mtgjson, etc;
- use XmageURLConnection.downloadText for text resources
- use XmageURLConnection.downloadBinary for any file resources
- added user agent with app version for all requests;
- added http logs and improved error messages;
2024-07-31 21:25:56 +04:00
Oleg Agafonov
1d701df0e8 GUI: added gui scale support for skip and phase button on game panel (part of #969, #6887):
- reworked skip and phase buttons to use layouts instead IDE designer;
- added GUI scale support skip and phase buttons (depend on dialogs font size from preferences settings);
2024-07-28 18:01:15 +04:00
Oleg Agafonov
8186b35dfb GUI: improved gui scale support (part of #969, #6887):
- added GUI scale support for dialog titles;
- added GUI scale support for hints tool;
- fixed broken font in chat and game logs on settings change;
- fixed wrong size of pick choice dialog in some use cases;
2024-07-28 11:47:12 +04:00
Oleg Agafonov
f9b59ca411 GUI, deck editor: added gui scale support for sort/order labels, fixed wrong label hints (part of #969, #6887) 2024-07-27 22:39:29 +04:00
Oleg Agafonov
53a072b759 GUI, preferences: removed 4 useless size settings, fixed wrong fonts in few places like miss image path (part of #969, #6887) 2024-07-27 21:35:33 +04:00
Oleg Agafonov
ba929d5692 GUI: improved GUI scale support (fixed font sizes in card icons popup, ability picker dialog, part of #969) 2024-07-27 17:05:54 +04:00
Oleg Agafonov
21ad11dbdc GUI: added GUI scale support for ability choice dialog (related to #12155, #969) 2024-07-27 11:58:35 +04:00
Oleg Agafonov
2bf6e3e3a2 GUI: added mana and other symbols support in choose spell dialog (closes #12155) 2024-07-27 10:17:22 +04:00
Oleg Agafonov
521a0f6e32 GUI: introduced default card hints:
* refactor: added helper emblems instead rad counter's inherent emblems (use initGameDefaultHelperEmblems to define new card hints or other fake objects);
* refactor: added card hints support for emblems, planes and other command objects;
* GUI: added storm counter as default card hint (use hints tool to see it, closes #12360);
2024-07-27 09:40:41 +04:00
Oleg Agafonov
83823acec7 GUI, performance: fixed memory/resources leaks on some components rendering 2024-07-26 03:27:10 +04:00
Oleg Agafonov
1f3fad6594 GUI, preferences: reworked size settings:
- added size settings for player's panel size (closes #12455, closes #12451, closes #5605);
- size settings can be edit by slider or by text edit;
- size settings for fonts has preview button with real text sample;
- improved some tabs and hints for better UX;
- improved GUI rendering performance;
2024-07-26 03:27:10 +04:00
Oleg Agafonov
2a88745388 GUI, pick choice: fixed slow opening and searching on big lists like card names (related to #8671); 2024-07-19 13:20:47 +04:00
Oleg Agafonov
b07e7b3733 GUI: fixed that pick choice dialog can freeze on search text deleting (closes #8671); 2024-07-19 11:55:16 +04:00