Michał Zaremba
ea261ae48f
Rework handling some errors and uncought exceptions
2025-10-01 11:00:56 +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
3ea2c8bff0
Cleanup, remove unnecessary changes
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
2ad186130f
Split MapDefines file on .h per class basis
2025-07-07 18:16:42 +03:00
Ivan Savenko
508c54c23a
Fix game startup
2025-05-23 15:18:07 +03:00
Ivan Savenko
8255a4b9ae
CGameHandler no longer inherits CGameInfoCallback, reduce direct access
...
to gamestate
2025-05-23 14:17:25 +03:00
Ivan Savenko
554a414302
Fix remaining memory leaks caused by API misuse
2025-04-29 12:11:10 +03:00
Ivan Savenko
4d57a8ed36
Prefer to pass CGameState as reference instead of pointer
2025-04-27 14:57:31 +03:00
Ivan Savenko
6d65641a43
Gamestate is now passed as shared pointer
2025-04-27 14:57:30 +03:00
Ivan Savenko
7a3e1409d0
Remove old boost includes and defines
2025-03-19 08:03:56 +00:00
Ivan Savenko
eaad6f9ce0
Fix crash on trasferring to next scenario in campaign
2025-03-12 13:33:12 +00:00
Ivan Savenko
b6026084ea
StartInfo in gamestate now use unique_ptr
2025-03-08 14:04:51 +00:00
Ivan Savenko
219eea86ff
Better handling of AI shutdown
2025-03-02 14:33:11 +00:00
Ivan Savenko
5f052165fe
Fix missing names for some threads
2025-03-02 14:33:11 +00:00
Ivan Savenko
948abfb04c
AI now uses std::thread, added custom thread interruption logic
2025-03-02 14:33:11 +00:00
Ivan Savenko
844dfb1604
Removed usage of boost::thread from vcmi, except for AI
2025-03-02 14:33:11 +00:00
Ivan Savenko
e5a095a237
Remove main menu global. Now accessed via GameInstance
2025-03-01 21:16:41 +00:00
Ivan Savenko
d3de0d525f
Removed GameEngine::curInt member
...
- event processing is now initiated by GameEngine instead of weird chain
engine -> player interface -> engine
- introduced GameEngineUser interface (implemented by GameInstance) to
remove mutual depedency between GameEngine and GameInstance (some
technically still remains for now, in form of some free functions)
2025-03-01 21:16:40 +00:00
Laserlicht
7dfb499edf
replace boost locks with std
2025-02-28 15:25:58 +01:00
Ivan Savenko
8f074490a7
Merge branch 'master' into 'develop'
2025-02-27 21:15:42 +00:00
Ivan Savenko
42878af3a6
Better fix for lobby room crash
...
Always use TCP connection when connecting to self-hosted lobby room.
Effectively reverts 1.6.6 change for lobby connections. Single-player
connections still use intra-process pseudo connection
Main problem is various side effects caused by changing order of
operations. For example, client may inform lobby about joining the room
before server finishes startup, which was not possible before.
2025-02-25 14:05:56 +00:00
Ivan Savenko
645b95ba02
Renamed LibClasses * VLC
to GameLibrary * LIBRARY
2025-02-21 16:54:56 +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
ffd37a8fa8
Removed CGI in favor of VLC. Map handle is for now global variable
2025-02-21 16:53:14 +00:00
Ivan Savenko
f657e85305
Integrated CClientState into GameEngine class
2025-02-21 16:53:14 +00:00
Ivan Savenko
cacceda950
Renamed CGuiHandler to GameEngine
...
- class CGuiHandler is now called GameEngine to better describe its
functionality
- renamed global GH to more clear ENGINE
- GH/ENGINE is now unique_ptr to make construction / deconstruction
order more clear and to allow interface / implementation split
- CGuiHandler.cpp/h is now called GameEngine.cpp/h and located in root
directory of client dir
2025-02-21 16:53:13 +00:00
Ivan Savenko
c3af0dc469
Remove unused parameters
2025-02-03 18:02:01 +00:00
Ivan Savenko
048fc503c3
Do not start listening for connections in single-player games
2025-02-03 17:24:02 +00:00
Ivan Savenko
d9244cf061
Remove network connection from local games
...
This removes need for TCP network connection in single-player games.
Instead, game will now create internal pseudo-connection that performs
client<->server communication by posting sent messages to client/server
asio::io_service'a.
This should fix gameplay aborting on switching to another app on iOS (and
apparently, on Android in some cases)
2025-02-03 17:24:02 +00:00
Ivan Savenko
7694e2da4b
Merge pull request #4736 from Laserlicht/fix_8th_portal_summoning
...
Fix multiple small issues
2024-10-07 22:19:17 +03:00
Laserlicht
1c6eaf6336
fix player translation
2024-10-07 18:37:07 +02:00
Ivan Savenko
786f80871e
Replace more usages of pointers to packs with references
2024-10-07 14:59:14 +00:00
Ivan Savenko
c1c552d394
Replaced some of pointers to CPack's with references
2024-10-07 14:59:14 +00:00
Laserlicht
a43475042f
code review
2024-09-18 22:10:25 +02:00
Laserlicht
21c3cf0960
rename and move window class
2024-09-12 23:35:21 +02:00
Laserlicht
2fbdeb3a5d
skippable video intro
2024-09-12 23:23:00 +02:00
Laserlicht
8fc3fe3cc3
scaling
2024-09-12 23:06:33 +02:00
Laserlicht
822fa61bf2
intro rework
2024-09-12 22:28:45 +02:00
Laserlicht
45625f0355
added AB intro; play only when resource exists
2024-09-06 22:57:53 +02:00
Laserlicht
6d9385b8bd
outro for RoE
2024-09-05 21:31:17 +02:00
Ivan Savenko
6179521364
Merge pull request #4556 from IvanSavenko/town_building_visit
...
Implemented explicitly visitable town buildings, e.g. hota mana vortex
2024-09-05 17:21:21 +03:00
Ivan Savenko
81af66d35b
Move visit query to a separate class, remove no longer needed Cast.h
2024-09-04 14:32:36 +00:00
Laserlicht
16cbd6a7d2
allow custom loadbar-backgrounds for campaigns
2024-08-31 16:03:42 +02: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
9e9a6f1c5f
Merge branch 'develop' into extended_statistic
2024-08-13 00:49:51 +02:00