Commit graph

68 commits

Author SHA1 Message Date
Oleg Agafonov
f2826cc676
GUI, table: added drafts with single multiplayer and multiple 1vs1 games support (#13701)
- new tourney's single game mode allow to play tourneys/drafts with all players in one game without multiple rounds;
- it's allow to setup classic drafts with 1 vs 1 games and multiple rounds
- added AI opponents supported including draft bots from a public servers;
2025-05-31 10:39:23 +04:00
PurpleCrowbar
e1c114174b
Delete empty tooltips (#13276) 2025-01-30 23:26:23 +00: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
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
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
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
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
sprangg
d604f04b79
Button focus adjustments for yes/no dialogs (#9828)
* UserRequestDialog buttons can't be pressed with spacebar anymore

* Pressing spacebar when drafting no longer brings up the quit menu

* Revert DraftPanel and TournamentPanel quit dialog buttons to their original positions

Co-authored-by: sprangg <a@b.c>
2022-12-26 20:09:41 +04:00
sprangg
ba558f9a18
Fix the UI pitfall of double spacebar press quitting a draft (#9193)
* Switch draft's quit dialog's yes/no buttons so that yes isn't enabled by default

* TounramentPanel's quit button also adjusted for the sake of consistency.

Co-authored-by: sprangg <a@b.c>
2022-07-03 02:20:41 +04:00
Oleg Agafonov
a1da5ef437 * GUI: new reworked GUI and card render engine, card icons and dozens of other fixes (see full list in related PR); 2021-01-30 16:38:55 +04:00
vyacheslav.raskulin
b23ccb8191 since these branches are identical we may collapse them 2020-09-09 14:48:21 +03:00
Oleg Agafonov
1202c1fb17 UI: fixed that users can't watch tournament's games 2019-01-15 21:07:43 +04:00
Oleg Agafonov
253c580639 Fixed broken tables selection in lobby 2018-12-22 06:21:17 +04:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
Mark Langen
321f5597b7 Change main client window MagePanes from JInternalFrames to JLayeredPanes
* This change's purpose is to get rid of the extra borders shown around the window border. These arise from using JInternalFrames in a JDestopPane and are impossible to remove in a forwards compatible way when using JInternalFrames. The solution it to move to have MagePane inherit from a plain old JLayeredPane instead of JInternalFrame. All of the MagePanes are always maximized anyways, so this doesn't lose any functionality.
2017-04-07 22:08:13 -06:00
LevelX2
5a072ea760 * Some minor changes to sleep command (fixes #2992). 2017-04-02 11:32:25 +02:00
ingmargoudt
ff6c6405aa rewrites to optionals 2017-03-19 19:48:32 +01:00
vraskulin
f60ebfbb1f All 1-character strings converted to primitives
"b" + "r" now changed to 'b' + 'w'.  It's more straight-forward, and may cause perfomance improvements - character primitives allocation is faster and less expensive than string creation.
2017-02-06 14:32:51 +03:00
vraskulin
076840df53 Big refactoring
I used Intellij IDEA to automatically refactor code to achive 3 goals.
1) get rid of anonymouse classes, and replace the with lamba to get more readeable and clean code (like in TableWaitingDialog).
2) make effectively final  variables actually final to avoid inadvertent changes on it in further releases and keep objects as immutable, as possible.
3)  Get rid of unused imports (most of the changes) in whole project classes.
2017-01-09 19:16:53 +03:00
ingmargoudt
71398d6d83 added some missing session references 2016-09-16 08:58:44 +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
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
LevelX2
aa015b52e6 GUI Size - Fixed that table header lines were not horizontally moved. 2016-02-27 09:15:17 +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
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
3a7983a0d0 * Main lobby - Separated user talk from system messages by using two tabs in chat area to switch. 2015-11-29 20:01:31 +01:00
LevelX2
1c157a20ae * Fixed a bug caused by now possible column order setting in tournament panel. 2015-07-03 22:44:08 +02:00
LevelX2
87f3978589 Some changes to userData handling. Added country flag to some dialogs. Saved and restored some more table columns width and order information. 2015-06-28 00:10:38 +02:00
LevelX2
791cc828c4 Fixed tournament panel color setting. 2014-10-25 16:01:44 +02:00
LevelX2
bdd163080d * Draft - Show draft time and draft progress. Show game threads and ma games. Fixed a problem with AI player and password. 2014-10-12 22:37:39 +02:00
LevelX2
af4fa9d542 * Fixed that watching tournament could not be started. 2014-10-05 00:39:52 +02:00
LevelX2
8b331eefce * Fixed a bug in table expired check. Changed expired check. Some fixed for table / tournament state handling. 2014-09-03 15:38:45 +02:00
LevelX2
357e80c7c2 Prevent NPE after disconnect for open tournament panel. 2014-08-13 22:01:06 +02:00
LevelX2
9020a287d6 Some NPE fixing for server and client. 2014-08-12 08:51:06 +02:00
LevelX2
6d039e4262 Tournament view some design changes and the remaining construction time and the round running time is shown. 2014-05-01 19:28:33 +02:00
LevelX2
915651335a Fixed that in tournament a automatically generated deck will be submitted if player doesn't submit a deck in time (fixes #421). 2014-04-29 17:32:24 +02:00
LevelX2
9ff5bcbd92 Improved reconnect and tournament handling. Reconnect time is now shown for disconneted players on player list and tournament panel. You can now reconnect (during 3 minutes) to a tournament also if meanwhile new game (after sideboarding ended) or round was started. Conceding the complete match in a tournament can no longer result in a draw, if you won games before. Quitting a tournament does now always end all active games of that quitting player. 2014-03-31 02:24:59 +02:00
LevelX2
8d2f4cc9ac * Draft - Added "Quit Tournament" button to draft panel. Minor formatting. 2014-02-28 17:47:27 +01:00
LevelX2
2b2594d993 * Tournament - Show players of tournament sorted by their tournament points. 2014-02-20 15:03:14 +01:00
LevelX2
4e5de2b7f9 * Tournament handling - Finished pairing are updated now to tournament players list immediately. 2014-02-17 00:41:40 +01:00
LevelX2
3cd4e9ecb7 * Memory leaks - TornamentPane can now be removed by gc. 2014-02-03 01:37:13 +01:00
LevelX2
ae555aea0e * Memory leaks - TornamentPane can now be removed by gc. 2014-02-03 01:18:35 +01:00
LevelX2
1f8555447d Removed mana leaks for deck editor and draft panels. 2014-02-01 03:26:27 +01:00
LevelX2
7f6eca171e Redesigned handling of chat start message. 2013-09-05 16:25:14 +02:00
LevelX2
41034ccdd8 Split pane divider positions of table panel and tournament panel are saved and restored now. 2013-07-19 14:04:59 +02:00
LevelX2
85b8edf630 Improved player quits / leaves mage handling for tournaments (not perfect yet, will more improve it). 2013-07-18 17:40:06 +02:00