Commit Graph
53 Commits
Author SHA1 Message Date
Ivan Savenko 4b30336d03 Fix issues detected by Sonar 2025-05-11 19:50:57 +03:00
Ivan Savenko c0fb1d1b3b Replace some raw pointers with unique's or optional 2025-04-29 12:11:10 +03:00
Ivan Savenko 975d9aedc9 Merge branch 'vcmi/beta' into 'vcmi/develop' 2025-04-13 18:53:54 +03:00
Ivan Savenko 87caec6be1 Check for presence of builtin ttf fonts & report on start to avoid
strange crashes on font loading
2025-04-06 18:41:20 +03:00
Ivan Savenko ed4079e83b Code cleanup, add comments where relevant 2025-03-12 15:57:06 +00:00
Ivan Savenko 96d691b40c Fix crash on closing game during background image upscaling 2025-03-12 14:18:44 +00:00
Ivan Savenko 4684756c49 Do not create ENGINE in headless mode 2025-03-12 13:33:12 +00:00
Ivan Savenko 8204990fa6 Fix crashes on app shutdown 2025-03-12 13:33:12 +00:00
Ivan Savenko 4d383d5880 Fix build 2025-03-12 13:33:12 +00:00
Ivan Savenko a474803aaf Use exception throwing to shutdown main thread 2025-03-12 13:33:12 +00:00
Ivan Savenko 9732d39c70 Moved shutdown request dialog handling to GameInstance 2025-03-12 13:33:12 +00:00
Ivan Savenko f8c1d217d4 Moved main loop to game engine class 2025-03-12 13:33:12 +00:00
Ivan Savenko 222b73bbcd Simplify library initialization 2025-03-12 13:33:12 +00:00
Andrey Filipenkov 20be327902 [iOS] enable portrait mode
launcher stays landscape-only on iPhones
2025-03-12 14:40:04 +03:00
Ivan Savenko 5f052165fe Fix missing names for some threads 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 06be6b909c Fix build, reduce includes of CConsoleHandler 2025-03-01 21:16:41 +00:00
Ivan Savenko dd1b877449 Replace several more globals with locals 2025-03-01 21:16:41 +00:00
Ivan Savenko 782362e5ce Remove console global 2025-03-01 21:16:41 +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
Ivan Savenko cbcd48aabb Fix build 2025-02-21 18:51:27 +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 cca4c0888c In-memory assets generation
All assets generation (large spellbook, terrain animations, etc) are now
done in memory and used as it, without saving to disk.

This should slightly improve load times since there is no encode png /
decode png, and should help with avoiding strange bug when vcmi fails to
load recently saved assets.

If needed, such assets can be force-dumped on disk using already
existing console command
2025-01-30 22:21:38 +00:00
Ivan Savenko 8d78bb1a82 Merge pull request #5337 from IvanSavenko/ffmpeg_explicit
[1.6?] Explicit toggle for ffmpeg video player compilation
2025-01-29 12:01:35 +02:00
Ivan Savenko 37b981e4a0 Merge pull request #5244 from Sko0owi/logLocationBeta
Adding flag for changing location of logs for VCMI client
2025-01-29 12:01:26 +02:00
Ivan Savenko bc524c60d7 Explicit toggle for ffmpeg video player compilation 2025-01-27 15:38:50 +00:00
Ivan Savenko 2ee5f2df02 Merge pull request #5295 from IvanSavenko/bugfixing
[1.6.4] Bugfixing for recently reported issues
2025-01-21 15:50:02 +02:00
Ivan Savenko c6eac55210 Fix reference to renamed console command 2025-01-19 12:40:41 +00:00
Ivan Savenko 565a94ee4e Merge pull request #5289 from Laserlicht/asset
[1.6.x] clear generated assets only on client
2025-01-18 15:37:14 +02:00
Laserlicht 24a39a8b48 clear generated assets only on client 2025-01-17 19:27:33 +01:00
Laserlicht ccd1e6fe32 update german 2025-01-16 21:14:05 +01:00
Sko0owi a8805d5e6b adding log Location flag 2025-01-09 23:24:31 +01:00
Ivan Savenko 485361939a Added information on mod loading failure to inform player on broken mods 2025-01-01 20:59:32 +00:00
Joakim Thorén 9611a324cd Fix linker error in EntryPoint if ffmpeg is missing due to missing DISABLE_VIDEO in vcmiclient target 2024-11-15 00:49:22 +01:00
George King 8d70c48f00 Updated Czech translation 2024-11-02 10:54:43 +01:00
Ivan Savenko e3d365262e Merge pull request #4588 from Laserlicht/intro_video_rework
Intro video rework
2024-09-19 16:18:31 +03:00
Laserlicht a43475042f code review 2024-09-18 22:10:25 +02:00
SoundSSGood 7eda885390 client icons path fixed 2024-09-14 16:03:26 +03:00
Laserlicht 822fa61bf2 intro rework 2024-09-12 22:28:45 +02:00
Simeon Manolov e502853227 address code review comments 2024-08-31 18:14:05 +03:00
Simeon Manolov 20ccc92e6d move shutdown functions in EntryPoint 2024-08-27 13:12:55 +03:00
Simeon Manolov da6bd38a1c fix typo 2024-08-21 17:21:36 +03:00
Simeon Manolov 530c1f2bc1 [SPLIT-CLIENT+DEVELOP] android fix attempt 2024-08-21 16:07:30 +03:00
Simeon Manolov 90931cc3e3 android deploy fix attempt 2024-08-19 13:17:38 +03:00
Simeon Manolov 9b655ac43e ios fix attempt 2024-08-15 00:27:18 +03:00