Commit graph

4106 commits

Author SHA1 Message Date
Oleg Agafonov
10641f8d63 GUI: hand - added default card sorting on mulligan (lands > other > creatures; mana value, name); 2023-12-14 22:13:07 +04:00
theelk801
9df074880f [RVR] add set 2023-12-13 09:23:13 -05:00
Oleg Agafonov
00a7cc645d Copy abilities - fixed wrong copy of transformed tokens like Incubator/Phyrexian (related to #11535, #11307, #10801, #10263); 2023-12-10 14:49:47 +04:00
PurpleCrowbar
1006115912 Add Incubator token images. Related to #11535 2023-12-09 21:12:14 +00:00
ssk97
6cd8649857
GUI: lobby - improved details info about match (#11438) 2023-12-09 16:35:09 +04:00
Oleg Agafonov
6aaaa8cb46 GUI: improved main and battlefield menus (related to #11533):
- main menu: better naming for deck editor;
- battlefield menu: added deck view for computer players, better naming;
- network: improved experimental connection;
2023-12-09 15:20:29 +04:00
Oleg Agafonov
960e896903
Network upgrade and new reconnection mode (#11527)
Network upgrade and new reconnection mode:
* users can disconnect or close app without game progress loose now;
* disconnect dialog will show active tables stats and additional options;
* all active tables will be restored on reconnect (tables, tourneys, games, drafts, sideboarding, constructing);
* user must use same server and username on next connection;
* there are few minutes for reconnect until server kick off a disconnected player from all player's tables (concede/loose);
* now you can safety reconnect after IP change (after proxy/vpn/wifi/router restart);

Other improvements and fixes:
* gui: main menu - improved switch panel button, added stats about current tables/panels;
* gui: improved data sync and updates (fixes many use cases with empty battlefield, not started games/drafts/tourneys, not updatable drafts, etc);
* gui: improved stability on game updates (fixes some random errors related to wrong threads);
* server: fixed miss messages about player's disconnection problems for other players in the chat;
* refactor: simplified and improved connection and network related code, deleted outdated code, added docs;
* tests: improved load test to support lands only set for more stable performance/network testing (set TEST_AI_RANDOM_DECK_SETS = PELP and run test_TwoAIPlayGame_Multiple);
2023-12-07 20:56:52 +04:00
theelk801
a242e2fa18 [CLU] add set 2023-12-05 22:10:41 -05:00
theelk801
115766df3d [MKM] add set 2023-12-05 21:47:03 -05:00
Oleg Agafonov
57a556105c Merge fix 2023-12-03 00:32:25 +04:00
Oleg Agafonov
eaa510b265 GUI: added restriction card icon to permanent (contains all applied restrictions and requirements, #7471) 2023-12-03 00:01:47 +04:00
Oleg Agafonov
6157dfed47 Merge fix 2023-12-01 00:02:00 +04:00
Oleg Agafonov
1777a45ee4 performance: fixed app freeze after first connection, moved sets and formats preload to client startup instead connection 2023-11-30 21:55:08 +04:00
Oleg Agafonov
0b0e947741 connection: improved error processing and stability in connect dialog 2023-11-30 21:52:47 +04:00
Oleg Agafonov
adf57a0677 fixed regression with clicks (closes #11493) 2023-11-30 11:20:05 +04:00
Oleg Agafonov
e534497834 GUI: hand zone - fixed wrong dragging effect while click on card, improved dragging animation, fixed wrong click if user return card to the original place 2023-11-30 09:21:53 +04:00
Oleg Agafonov
b695f8906c GUI: improved game logs, added mouse cursor and hover style over active card names like browsers 2023-11-29 03:10:53 +04:00
Oleg Agafonov
9c6fc4187f GUI: improved ability picker, added card popup support (closes #6678) 2023-11-29 03:08:48 +04:00
Oleg Agafonov
491c9cbe04 GUI: fixed empty battlefield/players after reconnection, if it still empties then press any skip button (closes #11201) 2023-11-29 03:02:47 +04:00
Oleg Agafonov
16d82e9049 gui: fixed wrong hands message with AI games (regression) 2023-11-28 22:18:08 +04:00
Oleg Agafonov
cacf8226aa refactor: fixed wrong random value usage 2023-11-28 21:48:41 +04:00
Oleg Agafonov
01dd8c33ba gui: fixed possible game error with player timer on client side 2023-11-28 21:48:41 +04:00
Tirth Bharatiya
8ad3238109
refactor: improved code usage in DeckGeneratorPool (#11479)
* moved generateSpells and generateLands method to DeckGeneratorPool.
* moved generateBasicLands method to DeckGeneratorPool.
2023-11-28 11:14:53 +04:00
Oleg Agafonov
2eac541b80 gui: fixed broken watcher view mode (closes #11481) 2023-11-28 08:04:14 +04:00
Tirth Bharatiya
6a1f4a35d4
refactor: extracted resource load methods from ModernCardRenderer to ModernCard (#11478) 2023-11-27 23:27:17 +04:00
Oleg Agafonov
c5632f6868 refactor: removed client side threads from a server, improved test log files rotation; 2023-11-27 18:13:05 +04:00
Oleg Agafonov
0470ae9799 GUI: fixed wrong ability text format for stack objects in popup image mode (closes #4057) 2023-11-27 01:54:38 +04:00
Oleg Agafonov
6e3fe7ec46 Cascade and other "cast spell without paying" abilities - added card popup support for casting card (closes #11355) 2023-11-27 00:49:37 +04:00
Oleg Agafonov
1dc040a2c9 GUI: added card popup support in feedback/choice panel (related to #9609) 2023-11-27 00:22:39 +04:00
Oleg Agafonov
550e97e1e3 refactor: removed some outdated GUI components and code 2023-11-27 00:20:11 +04:00
Oleg Agafonov
d016e4c4c3 GUI: added starting chat hints about popup hotkeys (hold <ALT+E> to force image, press <ALT+D> to show/hide right card panel) 2023-11-26 22:48:24 +04:00
Oleg Agafonov
f78c1ef08c GUI: improved stability of card popup in image mode (fixed errors in logs) 2023-11-26 22:32:39 +04:00
Oleg Agafonov
939ff7b441 GUI: added real objects in card popup for game logs and hints toolbox (workable hints, actual abilities, etc - closes #9529) 2023-11-26 14:42:49 +04:00
Oleg Agafonov
4500b79008 GUI: added changeable card popup mode for chats/logs by card name clicks (alternative to mouse wheel from game cards);
other: fixed duplicated chat popups in game, added miss error logs from popup related code, added additional checks for good code usage;
2023-11-26 12:48:41 +04:00
Oleg Agafonov
785f6973b9 GUI: fixed wrong popup card window in non-full screen; 2023-11-26 10:48:50 +04:00
Oleg Agafonov
ab515e60fe refactor: removed outdated code with databases sync (cards db downloads from a server); 2023-11-25 18:11:44 +04:00
Oleg Agafonov
d6adc6d051 GUI: player's panel - fixed wrong focus of hints button 2023-11-25 18:10:38 +04:00
Oleg Agafonov
63290d3ed6 GUI: fixed not working card popup near screen border, improved card popup for chat and choose dialogs; 2023-11-25 17:27:59 +04:00
Oleg Agafonov
7475ee922a GUI: improved chat messages with card names and popup supports (example: [[card name]], closes #4189); 2023-11-25 16:26:12 +04:00
Oleg Agafonov
d1f9e9cc90 Improved stability and other related fixes:
* server: added limit to max chat message (related to #11285);
* gui: fixed possible error after auto-submit deck;
* gui: fixed possible error after end game dialog;
* refactor: other code improves;
2023-11-25 12:29:54 +04:00
Oleg Agafonov
53add71826 Improved network stability and other related fixes:
* server: fixed that a critical errors ignored in user commands threads (now it will be added to the logs);
* network: fixed frozen user responses in some use cases;
* network: fixed accidental and incorrect user responses (only latest response will be used now);
* network: improved freeze logs, added problem method name and code's line number;
* cheats: removed outdated deck and card load logic (only init.txt commands supports now);
* cheats: fixed wrong priority after add card dialog (closes #11437);
* cheats: improved stability and random errors on cheat executes (related to #11437);
* docs: added details on network and thread logic, human feedback life cycle, etc (see HumanPlayer, ThreadExecutorImpl);
2023-11-24 21:22:16 +04:00
Oleg Agafonov
4ba3e1fec5 images: improved support of scryfall download (added timeout for compatibility with api rate limits) 2023-11-23 14:00:38 +04:00
Oleg Agafonov
a0ed89035f GUI: fixed wrong clicks from additional mouse buttons (now only left clicks are allowed, closes #11455) 2023-11-23 09:23:01 +04:00
Oleg Agafonov
75958e3710 refactor: improved and reorganized client-server api, added additional logs, fixed miss admin checks for some commands 2023-11-23 09:12:02 +04:00
Oleg Agafonov
a4073a83c6 GUI: added custom tooltip support on mouse move over table's cell (related to #11438); 2023-11-22 07:37:04 +04:00
Oleg Agafonov
7629e4bf7c tests: render dialog - added options for player panel (active status, controller, selectable, small mode) 2023-11-22 01:44:02 +04:00
Oleg Agafonov
c5bd8663d4 tests: render dialog - added player panel render (PoC, without any options) 2023-11-22 00:29:42 +04:00
Oleg Agafonov
a8ccbd4c63 gui: fixed miss monarch and initiative info in player's name/avatar tooltip (#11424); 2023-11-19 23:05:50 +04:00
Oleg Agafonov
6e99a3653a Initiative abilities - added card hint with initiative info to all related cards (closes #11424);
tests: added verify test for miss initiative card hint;
gui: fixed wrong max amount of card hint windows;
2023-11-19 23:00:42 +04:00
Oleg Agafonov
2bbe2b3c43 GUI - new card hints window features:
* new help window can be opened from a player panel;
* it collect and show all visible game hints from all players and all zones;
* it updates in real time on game update;
* allows to customize visible data;
* allows to open multiple windows (current limit is 5 windows, can be slow to render);
* allows to minimize opened windows;
* workable card popup on mouse move over card name or card id;
* filter modes:
  * all - show hints from all players;
  * player - show hints from single player;
* group mode:
  * by hints - show same hints as one with all used cards;
  * by cards - show full cards list with own hints;
* search mode:
  * allows to filter card hints by player name, card name, card id or card hint;
  * allows to search multiple words (equals to "or")
* current limitation:
  * card popup shows a card instead a real object, e.g. miss card hints in it (relelated to game logs problem);
  * unsupport of emblems, dungeons and other non card objects from a command zone;
  * unsupport of revealed and library's top cards;

GUI - player's panel improves:
* added hints helper button;
* added player hithlight as possible target in choose dialogs;
* improved player name button in small mode;
* fixed wrong height in small mode;

Other fixes:
* game logs: added card popup support for logs with custom object name;
2023-11-18 14:48:25 +04:00