Ivan Savenko
1aa391fdf8
Split CGeneralTextHandler file into 1 file per class form
...
All text processing code is now located in lib/texts.
No changes other than code being moved around and adjustment of includes
Moved without changes:
Languages.h -> texts/Languages.h
MetaString.* -> texts/MetaString.*
TextOperations.* -> texts/TextOperations.*
Split into parts:
CGeneralTextHandler.* -> texts/CGeneralTextHandler.*
-> texts/CLegacyConfigParser.*
-> texts/TextLocalizationContainer.*
-> texts/TextIdentifier.h
2024-07-20 12:55:17 +00:00
Alexander Wilms
434371195d
JsonNode constructors: Take fileName as argument
...
* Don't print JSON in JsonParser::parse() in case of errors
2024-07-17 13:50:59 +02:00
Ivan Savenko
d27b854cb1
Reorganized music, video and sound players:
...
- All XXXplayers are now in client/media directory
- Reogranized code on one class per file basis
- Extracted interfaces from handlers. Handlers now implement
corresponding interface.
- CCS now only stores pointer to an interface
2024-05-15 17:05:12 +00:00
Ivan Savenko
2bb96018b8
Update list of player in invite window on new player or new invite
2024-05-13 13:48:01 +00:00
Ivan Savenko
7188849aa4
Show active room invites and invited players in UI
2024-05-13 12:12:55 +00:00
Ivan Savenko
a4ea74fbbc
Send list of active invites as part of room description
2024-05-13 11:43:28 +00:00
Ivan Savenko
890e794e32
Only play chat sound for messages from current room or in private
2024-05-11 20:42:39 +00:00
Ivan Savenko
5b674baa91
Fix slow switching to a channel with large number of messages
2024-05-11 16:44:31 +00:00
Ivan Savenko
24a233f8ad
Fix positioning of lobby window after resolution or UI scaling change
2024-04-27 21:32:16 +03:00
Ivan Savenko
30a3081ab4
Use account name from lobby when joining lobby game rooms
2024-04-23 19:22:31 +03:00
Ivan Savenko
1840666327
Implemented join room dialog
2024-04-23 17:15:59 +03:00
Ivan Savenko
e5f8cefa7f
Store and send mod list and game version for game rooms
2024-04-23 17:15:59 +03:00
Ivan Savenko
fa31e9f69b
Do not mark channel as unread when receiving chat history
2024-04-05 18:50:06 +03:00
Ivan Savenko
dd91a99e36
Distinguish "connected but not logged in" from "not connected" state
...
Possible in case of login failure
2024-03-30 10:26:07 +02:00
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
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
489dd781c2
Show match creation date in history
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
7c9aa9d953
Show all rooms (including private) in room list
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
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
54796c7c56
Rename toJson to toString/toCompactString for consistency
2024-02-26 12:55:49 +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
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
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
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