1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-07-07 00:58:39 +02:00
Commit Graph

180 Commits

Author SHA1 Message Date
dd823d1681 Merge pull request #5560 from GeorgeK1ng/campaigns
[1.7] Campaigns configurations improvements
2025-04-02 13:54:50 +03:00
b237ed7b7a Add files via upload 2025-03-21 14:20:36 +01:00
1123d944fc Make new buttons moddable 2025-03-21 14:17:08 +01:00
4a0d8a2015 Merge pull request #1 from vcmi/develop
Update branch
2025-03-19 09:45:29 +01:00
7a3e1409d0 Remove old boost includes and defines 2025-03-19 08:03:56 +00:00
02bae5ef21 Removed non needed part of code 2025-03-17 22:08:08 +01:00
08c42b156f Cleanup, fix for non existant campaign files 2025-03-17 21:47:25 +01:00
9732d39c70 Moved shutdown request dialog handling to GameInstance 2025-03-12 13:33:12 +00:00
3d7f6922ad Allow campaing sets to be modded 2025-03-11 20:04:31 +01:00
391a119c90 Merge branch 'develop' into main_menu_1.7 2025-03-07 17:25:53 +01:00
3a6e76022c Switched to images 2025-03-07 17:16:17 +01:00
ac57e1ee7f Code cleanup 2025-03-07 14:11:43 +01:00
067e4655aa Added 1.6 fallback + code cleanup 2025-03-03 17:38:54 +01:00
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
e5a095a237 Remove main menu global. Now accessed via GameInstance 2025-03-01 21:16:41 +00:00
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
645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
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
ffd37a8fa8 Removed CGI in favor of VLC. Map handle is for now global variable 2025-02-21 16:53:14 +00:00
f657e85305 Integrated CClientState into GameEngine class 2025-02-21 16:53:14 +00:00
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
ec5d4dbe5d Merge pull request #5361 from GeorgeK1ng/menu_campaign_fix
Fix VCMP campaign detection for buttons
2025-02-02 14:10:12 +02:00
fc87e903fe Fix VCMP campaign detection for buttons 2025-02-01 09:59:01 +01:00
5b579f6912 Fix VCMP campaign detection for buttons 2025-02-01 09:57:11 +01:00
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
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
8d9c28685c MuMap FallBack + campaign buttons displaying validation 2025-01-12 11:35:06 +01:00
f3d48ecc3a Ability to use random progress bar 2025-01-08 00:16:55 +01:00
905eac24ae Multiplayer menu improvements 2025-01-07 19:30:26 +01:00
b4f6932f36 Ability to use random main menu background 2025-01-06 11:33:15 +01:00
87a665fb7f Restored all disabled mod functinality that was used by client 2024-11-26 13:55:46 +00:00
9c55ebf2dd chronicles campaign screen 2024-11-11 22:25:54 +01:00
185d036d78 no scrollbar for hotseat title (with ttf fonts) 2024-10-20 03:16:57 +02:00
a43475042f code review 2024-09-18 22:10:25 +02:00
21c3cf0960 rename and move window class 2024-09-12 23:35:21 +02:00
2fbdeb3a5d skippable video intro 2024-09-12 23:23:00 +02:00
8fc3fe3cc3 scaling 2024-09-12 23:06:33 +02:00
822fa61bf2 intro rework 2024-09-12 22:28:45 +02:00
c52533a961 Merge pull request #4543 from Laserlicht/chronicles_installer
Chronicles support
2024-09-05 15:04:13 +03:00
1c809bcb88 fixes build on clang 2024-09-03 00:25:35 +02:00
16cbd6a7d2 allow custom loadbar-backgrounds for campaigns 2024-08-31 16:03:42 +02:00
32ad9c1902 Change ordering of UI elements in main menu to fix hota 1.7 menu 2024-08-29 13:18:33 +00:00
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
97f1a310df Fix miscellaneous issues discovered by Sonar 2024-08-12 18:26:30 +00:00
9fba3d97f1 Renamed & unified OBJECT_CONSTRUCTION macro set 2024-08-09 15:30:04 +00:00
00605b5129 Remove largely unused defActions member from CIntObject 2024-08-09 14:26:53 +00:00
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
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
cde9bed5a6 Use std::vector::empty for non-zero size checking.
Use auto type for ocontainers iterations.
2024-07-20 12:16:13 +03:00
551b87e2cd Add up to 8 human player names to the configuration and save/load them to avoid entering them each time.
Avoid a crash when all names are deleted in the multiplayer names editing dialog.
2024-07-17 20:04:20 +03:00