1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-05-15 22:16:37 +02:00

181 Commits

Author SHA1 Message Date
Ivan Savenko
35644da2b7 Reogranize callback-related classes on 1 file = 1 class basis 2025-05-12 22:07:09 +03:00
Ivan Savenko
dd823d1681
Merge pull request #5560 from GeorgeK1ng/campaigns
[1.7] Campaigns configurations improvements
2025-04-02 13:54:50 +03:00
George King
b237ed7b7a
Add files via upload 2025-03-21 14:20:36 +01:00
George King
1123d944fc
Make new buttons moddable 2025-03-21 14:17:08 +01:00
George King
4a0d8a2015
Merge pull request #1 from vcmi/develop
Update branch
2025-03-19 09:45:29 +01:00
Ivan Savenko
7a3e1409d0 Remove old boost includes and defines 2025-03-19 08:03:56 +00:00
George King
02bae5ef21
Removed non needed part of code 2025-03-17 22:08:08 +01:00
George King
08c42b156f
Cleanup, fix for non existant campaign files 2025-03-17 21:47:25 +01:00
Ivan Savenko
9732d39c70 Moved shutdown request dialog handling to GameInstance 2025-03-12 13:33:12 +00:00
George King
3d7f6922ad
Allow campaing sets to be modded 2025-03-11 20:04:31 +01:00
George King
391a119c90
Merge branch 'develop' into main_menu_1.7 2025-03-07 17:25:53 +01:00
George King
3a6e76022c
Switched to images 2025-03-07 17:16:17 +01:00
George King
ac57e1ee7f
Code cleanup 2025-03-07 14:11:43 +01:00
George King
067e4655aa
Added 1.6 fallback + code cleanup 2025-03-03 17:38:54 +01:00
Ivan Savenko
a8a6be7ac1 Fix potential compatibility with C++20 / C++23 mode
This fixes several issues with compatibility with C++20. C++23 was also
tested, but apparently it does not have any additional breaking changes
compared to C++20 (or we don't have those).

VCMI still uses C++17 as before - goal is only to make potential
transition easier.

There were 2 cases that are deprecated in C++20 that we use:
- Floating point operations on enums are deprecated
- `this` can no longer be captured when using default capture by value
`[=]`

Both of those should now be replaced with code that works fine in both C+
+17 and in C++20 mode
2025-03-02 14:11:48 +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
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
ec5d4dbe5d
Merge pull request #5361 from GeorgeK1ng/menu_campaign_fix
Fix VCMP campaign detection for buttons
2025-02-02 14:10:12 +02:00
George King
fc87e903fe
Fix VCMP campaign detection for buttons 2025-02-01 09:59:01 +01:00
George King
5b579f6912
Fix VCMP campaign detection for buttons 2025-02-01 09:57:11 +01:00
George King
26eac7d82b
Improved Main menu
1) Added option to use custom logo and sublogo on Main menu, Scenario selection and Loading screen
2) Added option to use custom loading bar frame on Loading screen
2025-01-31 14:20:10 +01: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
George King
8d9c28685c
MuMap FallBack + campaign buttons displaying validation 2025-01-12 11:35:06 +01:00
George King
f3d48ecc3a
Ability to use random progress bar 2025-01-08 00:16:55 +01:00
George King
905eac24ae
Multiplayer menu improvements 2025-01-07 19:30:26 +01:00
George King
b4f6932f36
Ability to use random main menu background 2025-01-06 11:33:15 +01:00
Ivan Savenko
87a665fb7f Restored all disabled mod functinality that was used by client 2024-11-26 13:55:46 +00:00
Laserlicht
9c55ebf2dd chronicles campaign screen 2024-11-11 22:25:54 +01:00
Laserlicht
185d036d78 no scrollbar for hotseat title (with ttf fonts) 2024-10-20 03:16:57 +02: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
Ivan Savenko
c52533a961
Merge pull request #4543 from Laserlicht/chronicles_installer
Chronicles support
2024-09-05 15:04:13 +03:00
Laserlicht
1c809bcb88
fixes build on clang 2024-09-03 00:25:35 +02:00
Laserlicht
16cbd6a7d2 allow custom loadbar-backgrounds for campaigns 2024-08-31 16:03:42 +02:00
Ivan Savenko
32ad9c1902 Change ordering of UI elements in main menu to fix hota 1.7 menu 2024-08-29 13:18:33 +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
Ivan Savenko
97f1a310df Fix miscellaneous issues discovered by Sonar 2024-08-12 18:26:30 +00:00
Ivan Savenko
9fba3d97f1 Renamed & unified OBJECT_CONSTRUCTION macro set 2024-08-09 15:30:04 +00:00
Ivan Savenko
00605b5129 Remove largely unused defActions member from CIntObject 2024-08-09 14:26:53 +00:00
Ivan Savenko
4533271692
Merge pull request #4312 from IvanSavenko/texthandler_split
Split CGeneralTextHandler file into 1 file per class form
2024-07-21 13:49:14 +03:00
Ivan Savenko
1aa391fdf8 Split CGeneralTextHandler file into 1 file per class form
All text processing code is now located in lib/texts.
No changes other than code being moved around and adjustment of includes

Moved without changes:
Languages.h           -> texts/Languages.h
MetaString.*          -> texts/MetaString.*
TextOperations.*      -> texts/TextOperations.*

Split into parts:
CGeneralTextHandler.* -> texts/CGeneralTextHandler.*
                      -> texts/CLegacyConfigParser.*
                      -> texts/TextLocalizationContainer.*
                      -> texts/TextIdentifier.h
2024-07-20 12:55:17 +00:00
Aleksandar Kazandzhiev
cde9bed5a6 Use std::vector::empty for non-zero size checking.
Use auto type for ocontainers iterations.
2024-07-20 12:16:13 +03:00