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

123 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
George King
391a119c90
Merge branch 'develop' into main_menu_1.7 2025-03-07 17:25:53 +01:00
George King
842a0bfbee
Switched to images 2025-03-07 17:15:58 +01:00
George King
dcea840626
Revert CamCust change 2025-03-03 17:43:12 +01:00
George King
5a78538ebf
Added 1.6 fallback + code cleanup 2025-03-03 17:40:11 +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
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
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
51ceb068a7 Try to handle crash on map selection screen 2025-01-01 21:00:25 +00:00
Laserlicht
98b912dab8 optimize layout 2024-10-20 02:26:40 +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
Ivan Savenko
248cff49a4 Moved fonts handling from Graphics to RenderHandler class 2024-09-23 15:43:11 +00:00
Ivan Savenko
915533ed2e Implemented generation of player-colored version of DiBoxBck 2024-09-12 21:22:41 +00:00
Laserlicht
45fd13bdcd
mapname len 2024-08-21 22:11:16 +02:00
Ivan Savenko
a7e6d4146e Fix activation of tabs in lobby menu 2024-08-12 18:44:45 +00:00
Ivan Savenko
220c5cb1d7 Remove no longer used DISPOSE flag from CIntObject 2024-08-09 15:50:37 +00:00
Ivan Savenko
9fba3d97f1 Renamed & unified OBJECT_CONSTRUCTION macro set 2024-08-09 15:30:04 +00:00
Laserlicht
652e2ddf3f only host 2024-07-25 23:37:31 +02:00
Laserlicht
ecd7e17764 button 2024-07-25 23:32:45 +02: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
920a39844b Unified naming of method to recolor UI element to current player scheme 2024-07-19 10:08:50 +00:00
Ivan Savenko
a1fb3b8b01 Reduce direct access to CAnimation, removed various caching schemes 2024-07-19 10:08:50 +00:00
Ivan Savenko
6b8f94e6e7 Merge remote-tracking branch 'vcmi/master' into develop 2024-07-11 17:43:44 +00:00
Laserlicht
6e3ff219ec
fix text lenght 2024-06-29 14:32:03 +02:00
Ivan Savenko
b8beb4fb13 Fixes for various minor issues detected by Sonar Cloud 2024-06-01 11:48:30 +00:00
Ivan Savenko
df83fa33a1 Merge branch 'vcmi/master' into 'vcmi/develop' 2024-05-31 09:34:21 +00:00
Ivan Savenko
adc3441bda
Merge pull request #3998 from IvanSavenko/refactor_sdl_media
[1.6] Reorganize SDL sound/music/video handling
2024-05-31 12:02:55 +03:00
Ivan Savenko
d965226cbd Moved Exchange Window to new file, no functionality changes 2024-05-19 10:53:56 +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
721b15d9de Merge branch 'vcmi/master' into 'vcmi/develop' 2024-05-17 08:26:37 +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
7790b8969d Simplify TextInput constructor 2024-05-15 12:45:45 +00:00
Ivan Savenko
93c3cf372b Reworked TextInput to allow text overflow support 2024-05-15 12:45:45 +00:00
Ivan Savenko
1abe9007bc Moved CTextInput to a separate file. No changes in logic 2024-05-15 12:45:45 +00:00
Ivan Savenko
2521557f68 Fixed some newly reported issues from SonarCloud 2024-05-10 13:40:24 +00:00
Ivan Savenko
cd79953693 Fix crash on accessing campaign screen 2024-05-06 12:32:32 +00:00
Laserlicht
37d9e862c2 Code review 2024-05-02 20:15:34 +02:00
Laserlicht
812e96ebb1 Guest can also use & renaming 2024-05-01 15:58:22 +02:00
Laserlicht
5b8b75da22 small fixes 2024-05-01 15:30:35 +02:00
Laserlicht
426a008506 no slider needed when only 9 towns 2024-05-01 13:36:00 +02:00
Laserlicht
1a51495ef5 show popup window for towns 2024-05-01 13:19:58 +02:00
Laserlicht
5413fc2c7e finished 2024-05-01 01:26:51 +02:00
Laserlicht
e505aab29a scrolling works 2024-05-01 00:49:33 +02:00
Laserlicht
7c96ffa8ff townselector 2024-04-30 23:12:55 +02:00
Laserlicht
78b8c2c71c changed layout 2024-04-30 21:52:04 +02:00