Commit graph

122 commits

Author SHA1 Message Date
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
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
Oleg Agafonov
b3c55555a1 tests: fixed error on load tests end (related to #11572), improved logs, improved session lifecycle on load tests;
tests: added additional test for Mana Maze and deep copy (related to #11572);
docs: added more info to network related code;
2024-01-08 04:14:27 +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
fe8b8e1def server: fixed npe error on load tests (miss buffer timer), code refactor 2023-10-11 14:15:15 +04:00
Artemis Kearney
722627baa2
Create new "custom options" button/dialog, consolidate game-modifying options there (#10768)
* create CustomOptionsDialog; update NewTournamentDialog to use it

* add custom options button to new table/tournament dialogs

* fix buffer time in new table dialog

* further UI improvements

- move multiplayer options back out to NewTableDialog
- hide multiplayer options when all are disabled
- rearrange other options for consistency

* update button label to show number of active custom options

* remove commented-out code
2023-08-08 01:37:38 -04:00
Artemis Kearney
4d72e790dc
bugfix: hide Packs: label for constructed rather than hiding panel twice (#10771) 2023-08-07 16:54:30 -04:00
Artemis Kearney
978ebfc873
add UI for buffer time feature the right way (#10764)
* add UI for buffer time feature the right way

* save buffer time values
2023-08-06 20:00:55 -04:00
Alexander Novotny
519b3988be
game timer: Add chess-style buffer time option (#10598)
* UI Changes

* Add new buffer time options

* Main functionality

* Final implementation

Also added player UI for when they are using their buffer time (timer turns green)
2023-07-28 22:05:21 -04:00
xenohedron
fe4a50e860 adjust default 3 swiss rounds even in 10 player pods 2023-07-13 01:03:49 -04:00
sprangg
99701e08e7
Improvements to limited with Freeform Unlimited Commander (#10114)
* Limited-style sideboarding with unlimited basics enabled for Freeform Unlimited Commander

* FreeformUnlimitedCommander does not depend on FreeformCommanderFreeForAll anymore.
FreeformUnlimitedCommander has sideboarding.
In two-player matches of FreeformUnlimitedCommander, the player who goes first doesn't draw a card on their first turn anymore.

* FreeformUnlimitedCommanderTypeTest takes into account that sideboarding is allowed

* Fix to startingPlayerSkipsDraw condition

---------

Co-authored-by: sprangg <a@b.c>
2023-06-07 19:05:37 -04:00
xenohedron
4cc9329b15
New feature: "Chaos Remixed" booster draft (#10328)
* Fix error in draft pick logger that was failing on chaos drafts with fewer than 3 sets

* Implement Remixed Booster Draft

* Add debug test

* minor cleanup

* Cleanup unnecessary checks

* Fix elimination tournament type

* Add note for future improvement
2023-05-12 18:12:23 +04:00
Oleg Agafonov
00ebef654f * GUI: fixed random/richman tourney settings that allows to freeze the client (#8224); 2023-03-17 23:04:11 +04:00
Alex Vasile
07a142c9e8
Refactor: Add proper support for modifying and querying base P/T (#9409) 2022-09-01 19:57:30 -04:00
sprangg
cbdca6dd80 Limited-type sideboarding for constructed matches where the deck type is "Limited" 2022-06-24 01:52:08 +03:00
Oleg Agafonov
f334b81de6 * GUI: fixed that users can select empty timing option in new tourney dialog; 2021-07-26 14:42:42 +04:00
Oleg Agafonov
400acae0c1 * Draft improves:
* added additional and improved timing options for pick timeouts (x1.0, x1.5, x2.0, see #8033);
 * added pick timing info in tables list (info column);
 * fixed that booster draft starts with wrong pick timeout (#8036);
2021-07-22 23:14:08 +04:00
sprangg
81f12c3f45
Add possibility to play less rounds of swiss than xmage suggests (#7729)
* Make it possible to adjust the number of rounds in a swiss tournament to be less than the number of rounds suggested by xmage.

Co-authored-by: sprangg <a@b.c>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-04-14 09:54:29 +04:00
Oleg Agafonov
42364f7e27 Server: fixed NPE error on wrong AI usage in new game dialogs (fixes #7556); 2021-02-13 14:54:13 +04:00
spjspj
b64806606c Adding in Jumpstart Custom (requested fixes) 2021-02-06 00:19:36 +11:00
spjspj
1e428105d5 Adding in Jumpstart Custom 2021-02-04 23:55:59 +11: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
b3dc0f5eca excessive lambda usage 2020-09-09 15:06:49 +03:00
Oleg Agafonov
c5d7a3e9f9 * GUI: added auto-fix for deck files on usage (if deck contains wrong card numbers then it will be fixed and saved automaticity); 2020-08-08 21:27:20 +04:00
John Hitchings
1695e6767d add jumpstart swiss and elimiation tournament formats. 2020-06-18 23:45:02 -07:00
Oleg Agafonov
f50bc8f36f * UI: ignore list improved:
* Added support of usernames with spaces (#6305);
 * Increased max limit from 50 to 100;
 * Added list size info on connection or command usage;
2020-02-27 02:05:16 +04:00
Ingmar Goudt
ae7919cd07 program towards Interface rather than implementations 2020-02-10 10:40:06 +01:00
LevelX2
6470fc85ef Fixed some bad layout of random booster draft tornament dialog. 2019-12-17 21:16:32 +01:00
ssouders412
2d3247d732
Updated pronouns to reflect current rules and oracle text
Replaced all instances of "her or she", "him or her", and "his or her", with "they", "them", and "their", or sometimes "that player". Updated verbs where appropriate.
2019-12-06 14:29:36 -05:00
Oleg Agafonov
d2ab867e99 * UI: fixed non random packs richman mode (#5672); 2019-04-08 20:48:52 +04:00
Oleg Agafonov
7a556ea58f * UI: added save/load packs list in random/richman mode (#5672); 2019-04-08 20:15:34 +04:00
Oleg Agafonov
d249b14c3c * UI: fixed empty packs pool by default in random/richmen mode; 2019-04-08 19:07:23 +04:00
Oleg Agafonov
70f41c7807 Little fixes 2019-03-23 15:44:55 +04:00
Oleg Agafonov
1942cd0dec * UI: added save/load/reset game settings for new tourney dialog; 2019-03-23 15:08:05 +04:00
Oleg Agafonov
42658d5cff UI: added mulligan option to new tournament dialog, added mulligan type saving; 2019-03-23 05:49:21 +04:00
Oleg Agafonov
b925977efd Fixed new table/tournament dialogs compatibility with NetBeans editor; 2019-03-23 05:07:05 +04:00
Oleg Agafonov
04cb20f46a UI: improved deck editor exports:
* added deck export to files (#4243);
 * fixed wrong card sorting in deck files after save (#3719);
2019-03-21 19:17:41 +04:00
Oleg Agafonov
8b5993805a * UI: improved deck editor buttons and dialogs, prepared for export; 2019-03-21 05:20:57 +04:00
Ingmar Goudt
ee3f592186 fix some bugs from Sonar 06032019 2019-03-06 23:01:05 +01:00
John Hitchings
58e629dca6 Refactored DeckImporter and obsoleted DeckImporterUtil. Added/refactored a PlainTestDeckImporter as a base class for text formatted importers to extend. 2019-01-10 08:27:05 -08:00
LevelX2
e7d129a074
Merge branch 'master' into add-minimum-rating-option 2018-11-26 17:18:35 +01:00
Oleg Agafonov
706ed23bdc * Added ignored list to tournaments (users from ignored list can't join to your tournaments too); 2018-11-05 09:28:24 +04:00
Aaron Miller
81c2a62250 Add "minimum rating" option to matches and tournaments 2018-09-29 19:14:39 -07:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
spjspj
1dbffe70b5 Add planechase to tournaments 2018-04-29 23:47:08 +10:00
LevelX2
b073ce1c42 * Added to all toUpperCase/toLowerCase calls the Locale.ENGLISH to prevent problems with some languages (e.g. Turkish). Removed some unused import statements. (#4634). 2018-03-18 18:18:54 +01:00
LevelX2
9c0d0a0153 * Saved table spectator setting to preferences. 2018-03-17 00:46:12 +01:00
Oleg Agafonov
56d214f0b2 UI: added set search button in new tournament dialog 2018-01-01 18:02:20 +04:00
igoudt
c1ce821340 fix on playertype enum comparison 2017-04-26 00:37:06 +02:00