1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00
Commit Graph

648 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
ac26b3ed9b Merge pull request #5658 from IvanSavenko/memleak_fix
Fix discovered memory leaks & reduce usage of raw pointers
2025-04-30 13:38:37 +03:00
Ivan Savenko
f70ad2c15b Reorganized artifact-related classes
- files now generally contain only 1 class (except for tightly coupled
classes)
- files are now located in lib/entities/artifact directory
- removed excessive includes

No changes to functionality
2025-04-29 13:29:08 +03:00
Ivan Savenko
c0fb1d1b3b Replace some raw pointers with unique's or optional 2025-04-29 12:11:10 +03:00
Ivan Savenko
829739da24 Reduce usage of implicit conversions to int 2025-04-27 14:57:31 +03:00
Ivan Savenko
6d65641a43 Gamestate is now passed as shared pointer 2025-04-27 14:57:30 +03:00
Ivan Savenko
63d00b080e Removed pointer to army from StackInstance 2025-04-27 14:57:30 +03:00
Ivan Savenko
204b13fc07 Merge pull request #5608 from Laserlicht/campaigneditor
campaign editor
2025-04-15 17:55:13 +03:00
Ivan Savenko
975d9aedc9 Merge branch 'vcmi/beta' into 'vcmi/develop' 2025-04-13 18:53:54 +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
3dd15beede Fix rare crash if player changes starting hero in MP while another has
town right-click popup open
2025-04-06 18:39:29 +03:00
Ivan Savenko
860f65ea62 Merge branch 'develop' into fix_map_sorting 2025-03-16 19:19:27 +02:00
MichalZr6
749149a679 Fixes following reviews
Use std::optional and improve textSearchSimilarityScore()
2025-03-12 21:40:07 +01:00
Ivan Savenko
f7305fd1c2 Merge pull request #5540 from GeorgeK1ng/campaign_sets
Make campaign sets modable
2025-03-12 14:56:10 +02:00
MichalZr6
e993c2aed0 Use locale based on language set in config 2025-03-11 23:21:12 +01:00
MichalZr6
ea1c911e4d Update maps sorting logic 2025-03-11 22:36:26 +01:00
Laserlicht
9fa43435b8 fix sort crash 2025-03-11 19:26:21 +00:00
George King
d5136afdf1 Allow campaing sets to be modded 2025-03-11 20:05:11 +01:00
Laserlicht
ecfecaaa70 fix sort crash 2025-03-10 18:27:35 +01: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
e5a095a237 Remove main menu global. Now accessed via GameInstance 2025-03-01 21:16:41 +00:00
Ivan Savenko
8f074490a7 Merge branch 'master' into 'develop' 2025-02-27 21:15:42 +00:00
Ivan Savenko
420f358599 Avoid crash on having unsupported campaigns in map list 2025-02-25 15:29:09 +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
0548f325e4 Merge branch 'master' into 'develop' 2025-02-21 13:59:34 +00:00
Laserlicht
b276603b34 fixes #5324 2025-02-14 22:45:52 +01:00
Ivan Savenko
4b824d05e2 Do not allow heroes banned for player as starting heroes
- `disposedHeroes` is now in map header, for use in map selection
- heroes that are marked as unavailable for player will now be hidden
from starting hero selection
2025-02-14 10:43:55 +00:00
Laserlicht
f2c872bd4c fix name in MapOverview 2025-02-08 16:22:05 +01:00
Ivan Savenko
4b20128144 Close hero overview before recreating advanced options dialog 2025-02-01 18:10:22 +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
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
51ceb068a7 Try to handle crash on map selection screen 2025-01-01 21:00:25 +00:00
Laserlicht
0db8794d8b hide screen also for second custom campaign scen. 2024-12-27 21:40:09 +01:00
Laserlicht
7dba34c16e campaign list workaround 2024-12-27 21:22:45 +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
Ivan Savenko
99da0a15bb Merge pull request #4989 from IvanSavenko/ai_fix
Fixes for unfinished items from AI pull request review
2024-11-27 16:41:53 +02:00
Ivan Savenko
fe2f765322 Merge pull request #4981 from mikeiit/random_map_player_count
Random map gen com only player count fix
2024-11-27 16:41:18 +02:00
Ivan Savenko
087de6637c Revert temporary change 2024-11-26 18:42:50 +00:00
Xilmi
b750937588 Merge remote-tracking branch 'upstream/develop' into develop 2024-11-25 18:49:45 +01:00
mikeiit
a4db80671a call getPlayerLimit 2024-11-24 19:50:47 -08:00