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