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

92 Commits

Author SHA1 Message Date
156de5b17e Added GameInstance class
- available as global GAME
- integrates LOCPLINT (CPlayerInterface)
- integrates CGI->mh (CMapHandler)
- integrates CSH (CServerHandler)
2025-02-21 16:54:06 +00:00
ee831c06e7 Reduced usage of CPack, replaced with CPackForServer where applicable 2024-10-07 14:59:14 +00:00
01396b62b7 Extracted handling of type ID's from serializer into a separate class 2024-08-26 19:48:46 +00:00
b84af1a6de Significantly simplify packs applying
Apparently our logic for packs applying with types registration is
overcomplicated and by now completely unnecessary - it became redundant
after introduction of visitor pattern.
2024-08-26 19:48:46 +00:00
a42afa2910 code review 2024-08-14 21:51:08 +02:00
da64991fd9 fix 2024-08-12 00:02:20 +02:00
f42f1de347 extended statistic: Button and data transfer 2024-08-11 22:21:13 +02:00
acf2e0eef1 fix 2024-08-02 20:01:00 +02:00
9ceb1c567d highscore refactoring 2024-08-02 19:37:46 +02:00
4f0c3a3608 Merge branch 'develop' into handicap 2024-08-01 21:39:40 +02:00
3e5df61946 code review 2024-07-29 22:54:42 +02:00
6e68dee955 fix 2024-07-26 20:54:44 +02:00
53c0d20a57 fix campaign highscores 2024-07-26 20:36:52 +02:00
fa7153b577 fix 2024-07-25 00:28:49 +02:00
832e1531fc handycap percent 2024-07-25 00:28:49 +02:00
8edf77afcc basic handicap support 2024-07-25 00:28:01 +02:00
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
e89e5d2127 Rename for clarity 2024-04-07 21:22:33 +03:00
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
4ed961fb96 Partially unified handling of pregame and in-game chats 2024-03-27 13:10:55 +02:00
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
7c34d48258 Minor fixes and corrections to network-related code. No functionality
changes.
2024-02-12 18:57:20 +02:00
0fc0ad238b Fixes for server shutdown logic, implemented connection aborting for
local server
2024-02-11 17:55:02 +02:00
0d263c5571 Implemented option to run server as a thread with shared VLC 2024-02-11 17:55:02 +02:00
38ba42ef7a Rename 'c' to 'logicConnection' 2024-02-11 16:26:27 +02:00
1a144fc516 Some progress on private rooms support 2024-02-10 19:02:25 +02:00
d4bedd8d8d Fixed handling of match server crash 2024-02-04 19:58:09 +02:00
7dee24edae Cleanup 2024-02-03 23:30:16 +02:00
bd4c7e3ac0 Added LobbyPrepareStartGame pack to replace old workarounds 2024-02-03 19:57:23 +02:00
2c2bec791c Fixes and cleanup of game client network shutdown and restart 2024-02-03 19:27:04 +02:00
29c0989849 Use std::byte to manage network data 2024-02-02 02:02:09 +02:00
c5c46a7c9a Implemented connecting to server via proxy 2024-01-30 21:31:41 +02:00
388ca6e776 Added list of active accounts and rooms to UI. Added room creation logic 2024-01-26 16:32:36 +02:00
fc4ae3bd8c Merge remote-tracking branch 'vcmi/develop' into lobby 2024-01-20 23:01:49 +02:00
baa73f5433 Code cleanup 2024-01-20 00:26:25 +02:00
709905b1a0 Simplified networking API 2024-01-19 23:52:28 +02:00
80e960bc8e Finalized new TCP networking API 2024-01-19 23:52:28 +02:00
ffa58152ac Client-side support for hosting game server via lobby 2024-01-19 23:49:59 +02:00
55b504792e Implemented basic version of login window and persistent connection on
client
2024-01-19 23:49:59 +02:00
0196707083 Fix UUID initialization on client 2024-01-19 23:49:59 +02:00
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
a3639e77b1 Fixed handling of connection failure on client 2024-01-19 23:49:59 +02:00
5694777a96 Simplified connection logic 2024-01-19 23:49:59 +02:00
8ea69e457a Simplified applying of lobby packs 2024-01-19 23:49:59 +02:00
22f0ca67c6 Fix connection to game lobby & map load 2024-01-19 23:49:59 +02:00
0a1153e1c6 Switch client-server communication to new API 2024-01-19 23:49:59 +02:00
ea1f05d15a Stabilization 2024-01-19 13:55:22 +02:00
cb9c4bbaf0 unlimited replay option 2023-12-28 20:48:19 +01:00
fc4827c89c option for allowing cheats 2023-12-27 14:39:35 +01:00
1ffc246c8b Merge pull request #3051 from Laserlicht/name_change
possibility to change name in lobby
2023-10-16 22:28:31 +02:00