1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-05-13 22:06:58 +02:00

112 Commits

Author SHA1 Message Date
Ivan Savenko
829739da24 Reduce usage of implicit conversions to int 2025-04-27 14:57:31 +03:00
Ivan Savenko
63d00b080e Removed pointer to army from StackInstance 2025-04-27 14:57:30 +03:00
Laserlicht
47cfe01141 seperate identifier 2025-04-11 00:49:26 +02:00
Laserlicht
5b74f7f19e code review (first batch) 2025-04-10 21:04:24 +02: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
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
Laserlicht
b276603b34 fixes #5324 2025-02-14 22:45:52 +01:00
Laserlicht
97e2480e7d blink only accessible scenarios 2024-12-27 19:09:01 +01:00
Laserlicht
72f498f2c8 add region blink #3601 2024-12-27 18:58:05 +01:00
Laserlicht
94606ba5a3 campaign map description size 2024-10-20 02:13:50 +02:00
Laserlicht
b2da317906 fixes audio playback after using Back button 2024-10-14 20:26:31 +02:00
Ivan Savenko
10ad0fc760 Split CHeroHandler.cpp/.h into 1 file per class
All parts of CHeroHandler.cpp are now in lib/entities/hero
Adjusted includes to use new paths
No functionality changes
2024-10-13 14:01:09 +00:00
Laserlicht
2d60252e4c read from mapheader; move chr to subfolder 2024-09-24 21:41:37 +02:00
Laserlicht
138cbc6a81 scenario name for campaigns 2024-09-24 11:23:10 +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
258d298775
Merge branch 'develop' into outro_support 2024-09-09 23:09:44 +02:00
Laserlicht
7ae8514657 allow double click for bonus selection 2024-09-06 00:22:59 +02:00
Laserlicht
6d9385b8bd outro for RoE 2024-09-05 21:31:17 +02:00
Laserlicht
c7064377da code review 2024-09-01 12:23:10 +02:00
Laserlicht
b80852617a text len 2024-09-01 03:43:20 +02:00
Laserlicht
46872b764b integrate campaign intro 2024-08-31 17:57:27 +02:00
Laserlicht
9c2a5f6baa window 2024-08-31 17:16:42 +02:00
Laserlicht
61af23d258
text length 2024-08-21 21:43:54 +02:00
Ivan Savenko
9fba3d97f1 Renamed & unified OBJECT_CONSTRUCTION macro set 2024-08-09 15:30:04 +00:00
Ivan Savenko
4aa73b40c9 Split CTownHandler into smaller chunks 2024-07-21 18:21:48 +00: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
Ivan Savenko
6b8f94e6e7 Merge remote-tracking branch 'vcmi/master' into develop 2024-07-11 17:43:44 +00:00
Ivan Savenko
9ea3b31ddc Use spell name for spell scroll campaign bonus 2024-06-27 09:58:53 +00:00
Ivan Savenko
df83fa33a1 Merge branch 'vcmi/master' into 'vcmi/develop' 2024-05-31 09:34:21 +00:00
Ivan Savenko
88fbb7ee71 Most of buttons created in cpp now have assigned shortcut 2024-05-19 09:12:36 +00:00
Ivan Savenko
d27b854cb1 Reorganized music, video and sound players:
- All XXXplayers are now in client/media directory
- Reogranized code on one class per file basis
- Extracted interfaces from handlers. Handlers now implement
corresponding interface.
- CCS now only stores pointer to an interface
2024-05-15 17:05:12 +00:00
Ivan Savenko
3311676f1d Fix incorrect string ID 2024-04-22 16:51:08 +03:00
Ivan Savenko
2d9e42b623 Do not attempt to show extra options in campaign scenario information
screen
2024-04-06 15:59:08 +03:00
Ivan Savenko
22f23ba6f8 Restore previously disabled functionality 2024-02-29 16:47:44 +02:00
Ivan Savenko
07d201502e Refactoring of button class to prepare for configurable button 2024-02-29 13:57:25 +02:00
Ivan Savenko
6e399eb21a Make some non-const static variables const or constexpr 2024-02-12 13:22:54 +02:00
Ivan Savenko
f2ecd4cf11 Merge branch 'develop' into 'lobby' 2024-02-11 16:13:13 +02:00
Laserlicht
4e8152f268 reorder gui 2024-02-07 22:04:50 +01:00
Laserlicht
c8b6d6a684 add extra button for campaigns 2024-02-07 21:40:56 +01:00
Ivan Savenko
d4bedd8d8d Fixed handling of match server crash 2024-02-04 19:58:09 +02:00
Laserlicht
56db0e06cf
fix render artefacts remaining after video playback 2024-01-24 00:04:56 +01:00
Laserlicht
0df4f9bda5
video button 2024-01-23 23:45:31 +01:00