1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-06 00:24:11 +02:00
Commit Graph

97 Commits

Author SHA1 Message Date
Ivan Savenko
8f0236f046 Move account login details from settings to persistent storage, with
separate entries depending on server hostname for more convenient
testing
2024-03-29 17:04:52 +02:00
Evgeny Malygin
54405e33bc
Fix: prevent possible int16_t overflow 2024-03-29 05:37:47 +02:00
Ivan Savenko
671b61c64e Implement various todo's and review suggestions 2024-03-27 13:10:55 +02:00
Ivan Savenko
d700e94189 Code cleanup 2024-03-27 13:10:55 +02:00
Ivan Savenko
d59fb87504 Indicate rooms with active invites, fix invite acceptance 2024-03-27 13:10:55 +02:00
Ivan Savenko
69f7b3169e UI improvements for lobby:
- Added notifications sounds for invites and chat messages
- Added notifications for unread chat messages in inactive channels
- Added click sound when switching between channels
- Added workaround to prevent clicks due to list recreation
- Partial support for receiving invites
2024-03-27 13:10:55 +02:00
Ivan Savenko
ace43e97b9 Added UI for inviting players into a match 2024-03-27 13:10:55 +02:00
Ivan Savenko
4dce0479ba UI improvements for lobby screen:
- Show description of current chat room in header
- Show count of online accounts / active rooms
- Highlight currently selected chat room
2024-03-27 13:10:55 +02:00
Ivan Savenko
489dd781c2 Show match creation date in history 2024-03-27 13:10:55 +02:00
Ivan Savenko
b50d9de912 Show opponent name in 1-vs-1 games, minor tweaks 2024-03-27 13:10:55 +02:00
Ivan Savenko
829b754091 Implemented matches history in lobby 2024-03-27 13:10:55 +02:00
Ivan Savenko
4ed961fb96 Partially unified handling of pregame and in-game chats 2024-03-27 13:10:55 +02:00
Ivan Savenko
df5af589ae Implemented per-language, player-player and (untested) match channels. 2024-03-27 13:10:55 +02:00
Ivan Savenko
5d188024db Set room status to "In Game" once gameplay starts 2024-03-27 13:10:55 +02:00
Ivan Savenko
7c9aa9d953 Show all rooms (including private) in room list 2024-03-27 13:10:55 +02:00
Ivan Savenko
dcf35e4877 Clicking "Create New Room" button with active room now will switch to
game lobby UI
2024-03-27 13:10:55 +02:00
Ivan Savenko
16605a7aaa Allow hiding global lobby UI via Shift+Tab 2024-03-27 13:10:55 +02:00
Ivan Savenko
3023db6f0f Store and show correct player room limit in UI 2024-03-27 13:10:55 +02:00
Ivan Savenko
715e094f5c Implemented room description display (map/template name) 2024-03-27 13:10:55 +02:00
Ivan Savenko
69236b73ca Added player count icon and enter room icon to room widget 2024-03-27 13:10:55 +02:00
Ivan Savenko
4f34c07f22 Provide correct size to room and account lists 2024-03-27 13:10:55 +02:00
Ivan Savenko
be641d1710 Split 'loginSuccess' into server and client-specific versions 2024-03-27 13:10:55 +02:00
Ivan Savenko
c21e5bb0fb Always validate messages in debug mode. Fixes for schemas 2024-03-08 16:32:40 +02:00
Ivan Savenko
456dfd9e3d Added debug validation of lobby protocol on every send/receive 2024-03-08 16:32:40 +02:00
Ivan Savenko
5b1549200a Renamed openGameRoom to more clear activateGameRoom 2024-03-08 16:32:39 +02:00
Ivan Savenko
07d201502e Refactoring of button class to prepare for configurable button 2024-02-29 13:57:25 +02:00
Ivan Savenko
54796c7c56 Rename toJson to toString/toCompactString for consistency 2024-02-26 12:55:49 +02:00
Ivan Savenko
af671d109f Made graphical primitive-based UI more configurable 2024-02-18 20:48:45 +02:00
Ivan Savenko
1a144fc516 Some progress on private rooms support 2024-02-10 19:02:25 +02:00
Ivan Savenko
4a0dd2da2c Added option to create new account even if player already have one 2024-02-09 23:02:41 +02:00
Ivan Savenko
8cd6832297 Handle errors from global lobby on client 2024-02-04 21:23:21 +02:00
Ivan Savenko
7dee24edae Cleanup 2024-02-03 23:30:16 +02:00
Ivan Savenko
1b6ac1052a Properly lock UI mutex on accessing GUI state from network thread 2024-02-03 22:24:32 +02:00
Ivan Savenko
03fcfe3392 Use std::byte in serializer 2024-02-02 13:09:12 +02:00
Ivan Savenko
29c0989849 Use std::byte to manage network data 2024-02-02 02:02:09 +02:00
Ivan Savenko
c9ebf32efd Send error messages if operation fails 2024-02-02 00:12:30 +02:00
Ivan Savenko
c5c46a7c9a Implemented connecting to server via proxy 2024-01-30 21:31:41 +02:00
Ivan Savenko
bed05eb52d WIP: Implemented joining public rooms 2024-01-28 00:04:54 +02:00
Ivan Savenko
388ca6e776 Added list of active accounts and rooms to UI. Added room creation logic 2024-01-26 16:32:36 +02:00
Ivan Savenko
709905b1a0 Simplified networking API 2024-01-19 23:52:28 +02:00
Ivan Savenko
80e960bc8e Finalized new TCP networking API 2024-01-19 23:52:28 +02:00
Ivan Savenko
476a05fed3 Formatting 2024-01-19 23:52:28 +02:00
Ivan Savenko
ffa58152ac Client-side support for hosting game server via lobby 2024-01-19 23:49:59 +02:00
Ivan Savenko
47f72af556 Client-side update, adapted and fixed login and chat 2024-01-19 23:49:59 +02:00
Ivan Savenko
461bca73f3 Minor cleanup - move reinterpret_cast to jsonNode 2024-01-19 23:49:59 +02:00
Ivan Savenko
55b504792e Implemented basic version of login window and persistent connection on
client
2024-01-19 23:49:59 +02:00
Ivan Savenko
78833a1015 Split LobbyWindow file into one file per class 2024-01-19 23:49:59 +02:00