1
0
mirror of https://github.com/vcmi/vcmi.git synced 2026-04-28 20:04:33 +02:00

300 Commits

Author SHA1 Message Date
Laserlicht adb90e0b8a discord integration 2026-01-25 17:43:14 +01:00
Laserlicht fa3c841268 allow campaign videos without rim 2025-12-17 00:15:18 +01:00
Ivan Savenko 0f0f08f8fe Merge pull request #6399 from Laserlicht/quickload
Quickload improvements
2025-12-08 20:41:52 +02:00
Laserlicht 33f67651c2 fix non handled errors 2025-12-06 12:44:14 +01:00
Andrej Dudenhefner 0af15610e1 made quick load logic follow restart logic more closely 2025-12-05 11:22:29 +01:00
Andrej Dudenhefner 8bddd8f4e3 add quick save (F8) / quick load (F9) functionality for single player and hotseat games on adventure map and in combat
- add LobbyQuickLoad pack
- add hotkeys F8, F9 to adventure map and battle
- check whether quick save matches current settings
- ask before quick load
- notify about quick save
- use CResourceHandler for file existence test
- update localization
- externalize buttons to vcmi-extras
2025-12-04 09:16:35 +01:00
Laserlicht 500c21df89 fixes #6355 Battle mode without maps 2025-11-26 20:55:54 +01:00
Laserlicht 0c4a0ad1f1 add possiblity to add shortcut for battle mode in main menu 2025-11-07 20:34:18 +01:00
Laserlicht 66f377f14e netpackages 2025-10-25 20:41:39 +02:00
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