Commit graph

287 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
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
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
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
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
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
8f7abe2dc5 GUI: added old what's new page (build-in window on startup); 2024-08-05 00:01:38 +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
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
f0c38cdb87 GUI: fixed that server's lobby do not remember divider position after app restart (tables, matches and chat sizes) 2024-06-23 15:55:46 +04:00
Oleg Agafonov
c8b5c1fa35 AI: fixed wrong quick start button for MCTS game 2024-06-10 21:51:55 +04:00
Oleg Agafonov
88a451bb4f GUI: fixed wrong font size in debug menu and quick game buttons 2024-06-10 21:51:05 +04:00
Oleg Agafonov
fef37cdc73 admin tools improves (#5388):
* added game ids and created time to tables list;
* added popup hints support to tables list;
* fixed wrong sorting and columns resizing in tables list;
* refactored some modules to share table related code between client and admin console;
2024-03-22 16:56:29 +04:00
Oleg Agafonov
b315b46871 gui: deck editor - improved popup menu naming, added commander hint to sideboard, fixed generate/random deck dialog on cancel, removed outdated logs; 2024-03-08 00:48:25 +04:00
ssk97
6cd8649857
GUI: lobby - improved details info about match (#11438) 2023-12-09 16:35:09 +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
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
a4073a83c6 GUI: added custom tooltip support on mouse move over table's cell (related to #11438); 2023-11-22 07:37:04 +04:00
xenohedron
0baf89cb0d reduce default skill level of AI (from 6 to 2)
(higher skill level takes longer without making better decisions)
2023-09-30 16:18:57 -04:00
Artemis Kearney
41874b0b4b
new feature: Emblem Cards (#10498)
* new feature: Emblem Cards

Allows match/tournament creator to specify cards to give each player
emblem versions of (or just the starting player for symmetric effects).

Technical details:
- new UI for specifying emblem cards (.dck files)
  - available for all match/tournament types
- new class `EmblemOfCard`
- new method `copyWithZone` on `AbilityImpl` (used to make abilities
  work from command zone)
- new fields on `GameOptions` and `MatchOptions` for emblem cards
- emblems are granted after mulligans, before first turn (technically
  after Planechase starting plane creation)

* fixes

* defaults for emblem cards in match options (fixes quick game buttons)

* minor fixes

* use DeckCardInfo instead of Card for emblem cards options

* restore accessible parent properties

* fix images for card emblems

* look up cards in a way that preserves which art

* fix typos; make Emblem.sourceObject protected

* add descriptions to planechase and emblem cards

* fixes

* add some unit tests for known working cards

* fix author name

* add explanation comment

* fix up tests

* copyWithZone: no longer modifies zone for singleton abilities

* directly check for MageSingleton
2023-09-26 22:47:13 -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
Alex Vasile
cb268a25ee Removed dependency on JavaFX. What's New button now opens the link in the system browser. 2022-07-25 09:09:43 -04:00
Alex Vasile
a294f80baf Fix name changes to be compatible with old scripts 2022-07-12 22:49:40 -04:00
Alex Vasile
9e3549fbe1 Made computer names easier to type for testing and lower difficulty to speed up thinking 2022-07-12 21:56:36 -04:00
Alex Vasile
4f0e0a2ec6
Made quick start commander be multiplayer (#9200) 2022-07-08 21:59:10 -04:00
sprangg
22de97aa18 Make it possible to join a constructed tournament when the decktype is set to "limited". 2022-06-23 00:36:37 +03:00
Oleg Agafonov
c328c71ef9 GUI: chats code upgraded to use new popup hint code; 2021-08-15 10:47:19 +04:00
ddzn
0f91524c26 Add Eurolander to others button in tables panel 2021-02-21 14:09:01 +01: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
vyacheslav.raskulin
8b31333d9d Collection creation is simplified 2020-09-09 15:03:01 +03:00
Oleg Agafonov
40fe3b137e * GUI: fixed that Historic games aren't visible in lobby list (now it visible under "other" filter); 2020-08-23 21:54:34 +04:00
LevelX2
445f824424 * Added column hints to the headers of the list of active tables. Added some more details to the info column about rollback, spectators or planechase activated. 2020-08-22 00:48:13 +02: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
Oleg Agafonov
ac0bb713d7 * GUI: fixed auto-generated names for AI in new tournament dialog; 2020-07-10 17:57:56 +04:00
Oleg Agafonov
c011ff92ad GUI: fixed that jumpstart tournament don't show up in the tables list (#6816); 2020-07-10 11:51:26 +04:00
johnm
adcd9d84c6 Single setPlayerName method. 2020-05-25 16:49:12 +01:00
johnm
9df5c9ba68 Default unique name for AI. 2020-05-24 13:52:48 +01:00
Oleg Agafonov
80b7f8493b UI: fixed font size in what's new button 2020-04-16 11:10:50 +04:00
Oleg Agafonov
79c5c7a6a5 Test framework improves (Monte Carlo AI):
* Added support to test Monte Carlo AI (CardTestPlayerBaseWithMonteCarloAIHelps - any aiXXX commands);
* Added Quick Start button to test Monte Carlo AI games (MCTS);
2020-04-14 20:09:36 +04: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
Oleg Agafonov
b56587a383 Code cleanup (removed outdated client's config.properties settings) 2020-01-26 15:19:22 +04:00
michaelrfarcasin
c3cb54f371 Add Freeform Unlimited Commander game type
Currently there's no multiplayer format that allows players to cast
spells from the command zone and also allows any deck size.

This is a problem for players who want to test EDH Cube decks. These
decks:
- can have any size - often between 40 and 100 - with no standard
- can have cards outside the commander's color identity
- may break the singleton rule

Create a game and deck type to accommodate these types of decks.

Notable differences from Freeform Commander in addition to the above:
- Decks can have any number of cards in the maindeck or sideboard
- Sideboard cards can be any type
- There are no illegal expansions
- Games can have a minimum 2 players
2020-01-20 22:47:27 -06:00
Oleg Agafonov
335f046357 Server improves:
* improved /fix command to support disconnected/freezed players;
 * added chat messages about connection problem with opponents (checks players status every minute);
 * reduced timeout before remove disconnected player from waiting game dialog (from 4 to 2 minutes);
 * reduced timeout between client's pings (from 60 secs to 20 secs);
2019-12-31 03:23:10 +04:00
Oleg Agafonov
4ab598a7c9 Fixed missing code in Pioneer format 2019-11-05 22:29:22 +04:00
Evan Kranzler
b49bf569ce added Pioneer format 2019-10-21 21:46:37 -04:00
acosta
35a4f1a2fd Add Centurion banlist 2019-10-16 10:44:59 +02:00
Oleg Agafonov
8ca5a3ec2e UI: added filter button for oathbreaker format 2019-05-27 18:17:34 +04:00
Oleg Agafonov
bf20e7d656 Test button fix 2019-05-13 13:30:18 +04:00