1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-26 22:57:00 +02:00
Commit Graph

76 Commits

Author SHA1 Message Date
Ivan Savenko
9bfe000724 Added semi-workaround method for network thread shutdown:
Currently closing game while network thread is waiting for something is
very bug-prone, since network thread may resume during shutdown and
access partially destroyed client state.

Now if exit has been requested, the very first step would be semi-
graceful shutdown of network thread (via exception throwing). This may
in theory skip some cleanup in non-RAII code, but since game is shutting
down this does not matters much.

This logic applies to:
- shutting down while network thread is waiting for dialogs
- shuttind down while network thread waiting for animations in combat
2024-05-18 11:04:10 +00:00
Ivan Savenko
e89e5d2127 Rename for clarity 2024-04-07 21:22:33 +03:00
Ivan Savenko
80acd7e77c Simplified and fixed server restart procedure:
- Replaced several assertions with runtime_error's to detect them in
release builds
- Removed multiple dispatchMainThread calls in server shutdown code to
simplify debugging and code flow
- Moved handling of gameplay shutdown and score calculation from
PlayerInterface to ServerHandler (not perfect, but better than before)
2024-04-07 14:19:57 +03:00
Ivan Savenko
4ed961fb96 Partially unified handling of pregame and in-game chats 2024-03-27 13:10:55 +02:00
Ivan Savenko
9ebd194ab1
Merge pull request #3609 from IvanSavenko/single_process
Allow running server as part of client process
2024-02-14 12:06:22 +02:00
Ivan Savenko
7c34d48258 Minor fixes and corrections to network-related code. No functionality
changes.
2024-02-12 18:57:20 +02:00
Ivan Savenko
0fc0ad238b Fixes for server shutdown logic, implemented connection aborting for
local server
2024-02-11 17:55:02 +02:00
Ivan Savenko
0d263c5571 Implemented option to run server as a thread with shared VLC 2024-02-11 17:55:02 +02:00
Ivan Savenko
38ba42ef7a Rename 'c' to 'logicConnection' 2024-02-11 16:26:27 +02:00
Ivan Savenko
1a144fc516 Some progress on private rooms support 2024-02-10 19:02:25 +02:00
Ivan Savenko
d4bedd8d8d Fixed handling of match server crash 2024-02-04 19:58:09 +02:00
Ivan Savenko
7dee24edae Cleanup 2024-02-03 23:30:16 +02:00
Ivan Savenko
bd4c7e3ac0 Added LobbyPrepareStartGame pack to replace old workarounds 2024-02-03 19:57:23 +02:00
Ivan Savenko
2c2bec791c Fixes and cleanup of game client network shutdown and restart 2024-02-03 19:27:04 +02:00
Ivan Savenko
29c0989849 Use std::byte to manage network data 2024-02-02 02:02:09 +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
fc4ae3bd8c Merge remote-tracking branch 'vcmi/develop' into lobby 2024-01-20 23:01:49 +02:00
Ivan Savenko
baa73f5433 Code cleanup 2024-01-20 00:26:25 +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
ffa58152ac Client-side support for hosting game server via lobby 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
0196707083 Fix UUID initialization on client 2024-01-19 23:49:59 +02:00
Ivan Savenko
2396c14114 Fixed logic for reconnection attempts to local server. Cleanup.
Added distinct fields in config for local and remote connection.
Removed code for restoring last session since it does not works as
intended and often triggers after crash
2024-01-19 23:49:59 +02:00
Ivan Savenko
a3639e77b1 Fixed handling of connection failure on client 2024-01-19 23:49:59 +02:00
Ivan Savenko
5694777a96 Simplified connection logic 2024-01-19 23:49:59 +02:00
Ivan Savenko
8ea69e457a Simplified applying of lobby packs 2024-01-19 23:49:59 +02:00
Ivan Savenko
22f0ca67c6 Fix connection to game lobby & map load 2024-01-19 23:49:59 +02:00
Ivan Savenko
0a1153e1c6 Switch client-server communication to new API 2024-01-19 23:49:59 +02:00
Ivan Savenko
ea1f05d15a Stabilization 2024-01-19 13:55:22 +02:00
Laserlicht
cb9c4bbaf0 unlimited replay option 2023-12-28 20:48:19 +01:00
Laserlicht
fc4827c89c
option for allowing cheats 2023-12-27 14:39:35 +01:00
Nordsoft91
1ffc246c8b
Merge pull request #3051 from Laserlicht/name_change
possibility to change name in lobby
2023-10-16 22:28:31 +02:00
Laserlicht
0a1578b797
Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2023-10-16 21:24:59 +02:00
nordsoft
c8452355ce Revert "Merge pull request #2959 from Alexander-Wilms/faster-server-connection"
This reverts commit 43636af2e4, reversing
changes made to aed2e360ba.

# Conflicts:
#	client/CServerHandler.cpp
2023-10-14 22:52:24 +02:00
Laserlicht
0c6b1ca3c8
possibility to change name 2023-10-13 23:04:35 +02:00
Alexander Wilms
7c627d8163 Show info dialog when connection to multiplayer server fails 2023-10-10 18:11:11 +02:00
Alexander Wilms
c8f1512a3f Use correct address to decide whether we're connecting to a remote server or a local one 2023-10-06 23:33:51 +02:00
Ivan Savenko
71a1ed816a
Merge pull request #2892 from Laserlicht/highscore_menu
Highscore Menu & end video
2023-09-27 15:48:47 +03:00
Ivan Savenko
5b21a5ffbc Simturn duration is now part of StartInfo 2023-09-26 13:42:20 +03:00
Laserlicht
6f8b62d77d
codereview 2023-09-23 20:41:30 +02:00
Laserlicht
e18a4a09a9
forward declaration 2023-09-23 02:14:45 +02:00
Laserlicht
1a0f5cf159
calc preperation 2023-09-23 00:21:36 +02:00
Ivan Savenko
f8541d0ae4 Merge branch 'vcmi/master' into 'vcmi/develop' 2023-09-15 13:59:02 +03:00
Ivan Savenko
d070953c28 Fix open backpack strings 2023-09-12 21:28:36 +03:00
Ivan Savenko
538665fe42 Fix "Start game" blocking status:
- Start game is now initially blocked
- Receiving valid startInfo from server will unlock button
2023-09-12 21:15:15 +03:00
nordsoft
d758727c23 Basic timer ui is almost complete 2023-08-28 17:10:52 +04:00
Nordsoft91
ef4fddd0c4
Merge pull request #2570 from Laserlicht/town_selection_window
Town selection window
2023-08-20 17:37:45 +04:00
Nordsoft91
4a6deedd5e
Merge pull request #2530 from Nordsoft91/tutorial
Support tutorial
2023-08-19 18:06:15 +04:00