Commit graph

138 commits

Author SHA1 Message Date
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
4d89fcd72d GUI, game: fixed wrong player panels size on reconnect 2024-08-12 20:58:41 +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
21ad11dbdc GUI: added GUI scale support for ability choice dialog (related to #12155, #969) 2024-07-27 11:58:35 +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
3c8d70c64e refactor: clean code 2024-06-24 06:15:08 +04:00
Oleg Agafonov
72586616ae GUI: added HD screen support (resizing) for player panels (preferences settings under development, part of #12455, #12451, #7563); 2024-06-23 16:07:18 +04:00
Susucre
20b7a115da
prevent direct access of Player->counters ; some cleanup on counter removal effects ; implement [MH3] Izzet Generatorium (#12314) 2024-05-29 22:34:54 +02:00
Alexander Novotny
9f52c8946e
Allow multiple icons at the top right of player avatar (#12169) 2024-04-22 23:58:43 -04:00
Susucre
2eb872c93e tweak PlayerPanel pixels 2024-04-21 11:19:13 +02:00
Susucre
9d7bf27d38
[PIP] Implement Rad Counters mechanic (#12087) 2024-04-17 20:04:17 +02:00
Oleg Agafonov
7817a5cac6 deck improves:
* gui: removed public deck hash info;
* gui: improved xmage dck-file - now it correctly load a card's amount (related to files from third party services);
* server: fixed wrong cheating warning on deck construction (closes #11877);
* refactor: removed outdated hash code and calculations;
* other: added docs, added multiple deck hash tests;
2024-04-10 22:18:07 +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
01dd8c33ba gui: fixed possible game error with player timer on client side 2023-11-28 21:48:41 +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
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
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
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
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
xenohedron
4883679cc7 GUI: enhance visibility of timer (resolves #11236) 2023-09-30 16:18:57 -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
bfd22322eb "Flag" instead of "Country" in tooltip 2023-07-04 17:26:11 -04:00
Evan Kranzler
4ed3194801 [CLB] added initiative icon (#9010) 2022-06-08 08:33:44 -04:00
Oleg Agafonov
bc72384f0d * GUI: added cards and mana amount info to player's panel hint (example: move mouse over mana icons); 2021-02-02 04:43:49 +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
Oleg Agafonov
0ac4a9d87a * Activate spell's ability on the stack - fixed that it can't be activated by humans (example: Lightning Storm); 2020-12-22 17:13:00 +04: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
1045f352bc GUI: fix that cheat button shows for all players instead current user only (related to #5289); 2020-07-29 20:22:25 +04:00
18ths
99d5eafc8a
GUI enchancements (themes, sound notification, deck validation) (#6755)
GUI enchancements (themes, sound notification, deck validation)
2020-07-17 19:15:02 +02:00
LevelX2
2788eab082 * Fixed card type displaying order (fixes #6055). 2020-06-15 21:11:54 +02:00
Oleg Agafonov
cde9957f54 * UI: added playable card marks in look-at windows; 2019-12-18 22:44:42 +04:00
Ingmar Goudt
eb0cfc94f8 change some size() comparisons, to isEmpty() 2019-07-14 20:53:23 +02:00
Oleg Agafonov
efbd36963d * UI: improves for player's panel:
* added cards count for commander zone icon;
 * added colorized text for non empty mana pool;
 * added colorized text for playable/chooseable cards in grave/exile/command zones;
2019-06-30 18:25:33 +04:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
spjspj
2ff3d2ca87 Add an on-hover highlight effect. 2018-04-01 21:40:16 +10:00
spjspj
938ac35981 Have a faded life total over the avatar which glows then fades again reddish for damage and bluish for life gain. 2018-03-29 00:28:56 +11:00
spjspj
08ffbecdb4 Have a faded life total over the avatar which glows then fades again reddish for damage and bluish for life gain. 2018-03-28 02:22:28 +11:00
LevelX2
af296cbe79 * Added display of live on player avatar image, 2018-03-17 00:47:09 +01:00
LevelX2
2e3ba7e104 Added designation names to player tooltip. 2018-01-13 18:55:07 +01:00
LevelX2
bd9b11fc49 Fixed some problems with popup window not been hidden if another frame is shown. 2017-05-27 14:35:50 +02:00
ingmargoudt
4aaf73e0d2 changed the type used in ImagePanel from an int to an enum 2017-03-07 22:28:10 +01:00
ingmargoudt
372584f7ad changed cardtype from list to enumset 2017-03-03 17:04: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
LevelX2
68d0e6b9fa Added the monarch concept to xmage and all related cards. 2016-11-27 01:14:32 +01:00
spjspj
b63874b62d Opaque PlayerPanelExt 2016-10-06 00:02:11 +11:00
spjspj
84e26e6677 Opaque PlayerPanelExt 2016-10-06 00:00:20 +11:00
spjspj
6ad012fa87 Merge pull request #2405 from spjspj/master
spjspj - Player Panel
2016-09-29 23:05:47 +10:00
spjspj
1bbed6dc5f spjspj - Player Panel 2016-09-29 23:03:57 +10:00