1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-27 22:49:25 +02:00
Commit Graph

668 Commits

Author SHA1 Message Date
Ivan Savenko
dc9fd90f3e Merge pull request #6211 from Laserlicht/text_edit
Allowing editing town name
2025-10-28 15:33:50 +02:00
Laserlicht
768b233813 fix 2025-10-09 00:01:00 +02:00
Laserlicht
64c44ce887 template search 2025-10-08 01:12:57 +02:00
Laserlicht
115d90cbb3 small refactoring 2025-10-05 02:03:18 +02:00
Laserlicht
21bc568e59 moddable amount for mines 2025-09-29 02:00:04 +02:00
Ivan Savenko
c469c6c31e Merge pull request #6136 from Laserlicht/resource
Configurable resources
2025-09-28 21:51:10 +03:00
Laserlicht
da1deef563 big button 2025-09-18 15:32:05 +02:00
Laserlicht
b7cd2b92ab translation 2025-09-18 15:16:47 +02:00
Laserlicht
a7920767fd correct load list 2025-09-18 14:55:51 +02:00
Laserlicht
2a3f2f1cf6 add menu 2025-09-18 13:59:47 +02:00
Laserlicht
946e6815cf button for campaignsets 2025-09-18 13:25:19 +02:00
Laserlicht
7d1e661e6f mithril removal 2025-09-16 02:07:25 +02:00
Laserlicht
75f965c93a remove allresources 2025-09-14 15:29:14 +02:00
Laserlicht
4fc45a44cc fix underground toggle 2025-08-29 19:46:41 +02:00
Laserlicht
ecfe09f6b1 multilevel support 2025-08-01 02:21:44 +02:00
Ivan Savenko
f58d08e563 Support for banned game entities in random map templates
The following entities can now be banned in a random map template
definition:
- Hero
- Artifact
- Spell
- Secondary skill

The ban follows the same rules as banning via the map settings in the
map editor.

It is also now possible to bypass dependencies and access identifiers
from mods that are not dependencies when defining:
- Banned entities in random map templates
- the chance of a hero class appearing in a tavern of a specific faction
- the chance of a spell appearing in a mage guild of a specific faction
- the chance of a hero class receiving a secondary skill

For this to work, the identifier must be specified in full, e.g.
`modName:objectName`. If the specified mod is not active, the game will
silently ignore this entry.

This behaviour is not affected by mod load order. It is possible to use
this format to access a mod that has not yet been loaded.
2025-07-14 00:18:11 +03:00
Laserlicht
e0a2d3278a dont show chat button in campaign list 2025-07-04 22:48:07 +02:00
Ivan Savenko
0fa83c0478 Implemented mod-friendly loading of town building icons for campaigns 2025-06-15 17:01:29 +03:00
Ivan Savenko
2bf951a4cf Support for objects from mods as campaign scenario bonuses 2025-06-15 17:01:15 +03:00
Ivan Savenko
2cd29c1893 Rework campaign bonuses storage in type-safe form
Replaced campaign bonuses from using 3 integers to store anything with
type-safe version that uses std::variant that ensures that all bonuses
are in correct state.

Also removed "interesting" solutions like storing primary skills using
bit shifts.

Prerequirement for HotA campaign support
2025-06-15 17:01:14 +03:00
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