Laserlicht
0c4a0ad1f1
add possiblity to add shortcut for battle mode in main menu
2025-11-07 20:34:18 +01:00
Laserlicht
8bb789ec56
cleanup
2025-10-26 01:04:49 +02:00
Laserlicht
66f377f14e
netpackages
2025-10-25 20:41:39 +02:00
Ivan Savenko
44cc3a0214
Add comments, rename entities to more logical names, reorganize code
2025-07-28 18:13:41 +03:00
Ivan Savenko
241da5937d
First semi-working version of antilag for hero movement
2025-07-19 18:04:20 +03:00
Ivan Savenko
52da332640
GameHandler now uses GameConnectionID instead of connection pointers
2025-07-19 18:04:20 +03:00
Ivan Savenko
3576efc3f3
Initial version of antilag support
2025-07-19 18:04:20 +03:00
Ivan Savenko
58de180083
Split CConnection into GameConnection and IGameConnection classes
2025-07-19 18:04:20 +03:00
Ivan Savenko
6d65641a43
Gamestate is now passed as shared pointer
2025-04-27 14:57:30 +03:00
Ivan Savenko
844dfb1604
Removed usage of boost::thread from vcmi, except for AI
2025-03-02 14:33:11 +00:00
Ivan Savenko
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
Ivan Savenko
ee831c06e7
Reduced usage of CPack, replaced with CPackForServer where applicable
2024-10-07 14:59:14 +00:00
Ivan Savenko
01396b62b7
Extracted handling of type ID's from serializer into a separate class
2024-08-26 19:48:46 +00:00
Ivan Savenko
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
Laserlicht
a42afa2910
code review
2024-08-14 21:51:08 +02:00
Laserlicht
da64991fd9
fix
2024-08-12 00:02:20 +02:00
Laserlicht
f42f1de347
extended statistic: Button and data transfer
2024-08-11 22:21:13 +02:00
Laserlicht
acf2e0eef1
fix
2024-08-02 20:01:00 +02:00
Laserlicht
9ceb1c567d
highscore refactoring
2024-08-02 19:37:46 +02:00
Laserlicht
4f0c3a3608
Merge branch 'develop' into handicap
2024-08-01 21:39:40 +02:00
Laserlicht
3e5df61946
code review
2024-07-29 22:54:42 +02:00
Laserlicht
6e68dee955
fix
2024-07-26 20:54:44 +02:00
Laserlicht
53c0d20a57
fix campaign highscores
2024-07-26 20:36:52 +02:00
Laserlicht
fa7153b577
fix
2024-07-25 00:28:49 +02:00
Laserlicht
832e1531fc
handycap percent
2024-07-25 00:28:49 +02:00
Laserlicht
8edf77afcc
basic handicap support
2024-07-25 00:28:01 +02:00
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