1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Commit Graph

7526 Commits

Author SHA1 Message Date
Ivan Savenko
f8724b9558 Reworked mod handling in Launcher in order to unify code with lib 2024-11-26 13:55:46 +00:00
Ivan Savenko
4945370fe3 Implemented validation of preset - removal of non-existing mods,
addition of newly installed mods
2024-11-26 13:55:46 +00:00
Ivan Savenko
ba9e3dca9d Mod management rework, part 1
- Replaced CModInfo class with constant ModDescription class
- Simplified mod loading logic
- Extracted some functionality from ModHandler into separate classes for
future reuse by Launcher
2024-11-26 13:55:46 +00:00
Ivan Savenko
c57120f0dd Initial support for mod presets system 2024-11-26 13:55:46 +00:00
Xilmi
b750937588 Merge remote-tracking branch 'upstream/develop' into develop 2024-11-25 18:49:45 +01:00
Ivan Savenko
a58d48e03d
Merge pull request #4980 from IvanSavenko/hero_randomization_fix
Fix Orrin as starting hero on some maps
2024-11-25 14:28:55 +02:00
Ivan Savenko
eb14eff13c
Merge pull request #4975 from Laserlicht/third_upgr_8th_dwelling
third upgrade for 8th dwelling
2024-11-25 13:46:36 +02:00
Ivan Savenko
5aa0a0d5b8
Merge pull request #4966 from vcmi/speciall_secondary_skill
Add "special" property for secondary skills
2024-11-25 13:44:59 +02:00
Ivan Savenko
72fcf4473a
Merge pull request #4962 from Laserlicht/prism_breath_fix
prism attack fix
2024-11-25 13:41:57 +02:00
Ivan Savenko
7d8b753971
Merge pull request #4951 from IvanSavenko/sonar_fix
Fix several new issues detected by SonarCloud
2024-11-25 13:39:56 +02:00
Ivan Savenko
6544f6d6a6
Merge pull request #4944 from IvanSavenko/market_fix
Fixes for configurable markets support
2024-11-25 13:39:20 +02:00
Ivan Savenko
1116c18af5 Fix Orrin as starting hero on some maps
Fixes a bug that led to Orrin being replaced with a different randomly
selected hero on maps where starting hero is not generated in town, but
pre-placed on map
2024-11-24 20:05:34 +00:00
Laserlicht
b29d7e8cfd third upgrade for 8th dwelling 2024-11-24 17:57:49 +01:00
Tomasz Zieliński
9e6cd9b94d Add "special" property for secondary skills 2024-11-23 12:37:30 +01:00
Tomasz Zieliński
6bdb10444f New type of zone - "sealed" 2024-11-23 12:19:25 +01:00
Tomasz Zieliński
e5b151991b Fix duplicated offroad connections 2024-11-23 10:43:14 +01:00
Tomasz Zieliński
c8e3458dfb Handle connections by unique id 2024-11-23 10:07:34 +01:00
Tomasz Zieliński
c8fcc6ffca Fix broken roads to portals or gates by the lower zone border 2024-11-23 08:25:55 +01:00
Laserlicht
3c4064e09d prism attack fix 2024-11-23 02:10:01 +01:00
Tomasz Zieliński
f95bb58433 Implement curved paths for all road node objects 2024-11-22 09:28:37 +01:00
Xilmi
65f2d0c44e Merge remote-tracking branch 'upstream/develop' into develop 2024-11-21 23:14:03 +01:00
Tomasz Zieliński
9277c5f4e7 Fixed main issue with custom path routing 2024-11-21 22:30:21 +01:00
Tomasz Zieliński
855ab0f0e9 First attempt to enforce curved paths 2024-11-21 22:00:24 +01:00
Ivan Savenko
aef6b0cc00 Fix several new issues detected by SonarCloud 2024-11-20 16:06:38 +00:00
Ivan Savenko
f59834afe1 Fixes for configurable markets support
- string "speech" can now be translated
- removed "title" string, VCMI will now use object name instead
- moved configuration of all "markets" into a separate json file
- added schema for validation of market objects
- removed serialization of translated strings from University
2024-11-20 15:45:13 +00:00
Ivan Savenko
03273ed324
Merge pull request #4943 from IvanSavenko/levelup_fix
Fix possible crash on levelup when hero can only levelup banned skills
2024-11-20 14:38:43 +02:00
Ivan Savenko
a7a9f5d777 Fix possible crash on levelup when hero can only levelup banned skills 2024-11-19 14:39:40 +00:00
MichalZr6
f823b8addf Following review 2024-11-19 10:57:20 +01:00
MichalZr6
ab1f1d6d99 Fix crash on miniHillFort popup window 2024-11-19 10:53:16 +01:00
MichalZr6
7e2cad158a HillFort fix 2024-11-19 10:53:16 +01:00
Ivan Savenko
f0a71c9e21
Merge pull request #4935 from IvanSavenko/misc_fixes2
Miscellaneous fixes for reported issues
2024-11-18 13:29:05 +02:00
Ivan Savenko
86517ab1c0
Merge pull request #4926 from Kuxe/fix_mingw_date_formatting_error
Fix MinGW date formatting error
2024-11-18 13:09:36 +02:00
Ivan Savenko
43117396bd
Merge pull request #4923 from Kuxe/mingw_compilation_fix
MinGW debug compilation error fix 'too many sections'
2024-11-18 12:57:02 +02:00
Ivan Savenko
dfe6e04464 Implemented semi-transparent spell effects 2024-11-17 19:48:16 +00:00
Ivan Savenko
0c4eb5156b Put imprisoned heroes back to prison 2024-11-17 18:07:28 +00:00
Ivan Savenko
51c5536b50 Banned skills known by hero now have non-zero selection chance 2024-11-17 17:55:09 +00:00
Ivan Savenko
c82db9d574 Fix crash on rearranging troops on non-owned hero 2024-11-17 17:38:54 +00:00
Ivan Savenko
56ee307b3a Extend AI garrison troop removal logic to all RoE campaigns to emulate
H3 logic
2024-11-17 17:38:54 +00:00
Ivan Savenko
4ccce20eda War machines factory are now never guarded by default 2024-11-17 17:38:54 +00:00
Joakim Thorén
1fc04f5ea8 Updated out-of-date comment 2024-11-17 00:14:54 +01:00
Joakim Thorén
db93f776c6 Fix MinGW date formatting error, see https://sourceforge.net/p/mingw-w64/bugs/793/. Workaround is to replace %F with %Y-%m-%d and %T with %H:%M:%S, should produce the same output as before per https://en.cppreference.com/w/cpp/io/manip/put_time 2024-11-17 00:02:13 +01:00
Joakim Thorén
dc1908ad2a Use -Wa,-mbig-obj instead of -Og to retain debuggability in SerializerReflection.cpp and IGameCallback.cpp files 2024-11-16 22:46:27 +01:00
Joakim Thorén
89d7776775 fix compilation error due to 'too many sections' for MinGW debug builds on Windows 2024-11-16 22:41:05 +01:00
Ivan Savenko
4ae81cbac0 Add missing field to serialization 2024-11-16 16:23:02 +00:00
Ivan Savenko
227e403e88 Fix crash on advancing to 3rd scenario of Birth of Barbarian campaign -
spellbook removal was not working correctly when hero does not keeps his
spells
2024-11-16 16:22:43 +00:00
Ivan Savenko
a4ef45c4f8 Move list of war machines in war machine factory to config 2024-11-16 15:32:52 +00:00
Ivan Savenko
c3b63a1bef
Merge pull request #4857 from Laserlicht/delete
Delete saves / random maps
2024-11-16 17:28:23 +02:00
Laserlicht
b23c69b9d6 code review 2024-11-15 20:26:56 +01:00
Laserlicht
0f94f35dcf
code review 2024-11-14 00:34:39 +01:00
Ivan Savenko
7be44278d7
Merge pull request #4892 from SoundSSGood/artifact-related-fixes
Artifact related fixes
2024-11-13 20:58:37 +02:00
Xilmi
31d4517f17 Merge remote-tracking branch 'upstream/develop' into develop 2024-11-12 14:31:31 +01:00
SoundSSGood
b32ec8607c tradable grail 2024-11-10 21:48:54 +02:00
SoundSSGood
ea14760e6c fix for fused artifacts creation 2024-11-10 17:06:39 +02:00
SoundSSGood
ef46a87e69 ask assemble artifact dialog fix 2024-11-10 16:50:58 +02:00
krs
54f8f2c636 Remove CCreatureHandler::loadBonuses 2024-11-10 15:10:38 +02:00
Xilmi
2786797a4e Fixed incompatibility with latest merge
Incompatibility fix
2024-11-07 17:37:18 +01:00
Xilmi
e60a565942 Merge remote-tracking branch 'upstream/develop' into develop 2024-11-07 15:24:19 +01:00
Xilmi
a70f5de8c6 Merge remote-tracking branch 'upstream/develop' into develop 2024-11-07 14:35:13 +01:00
Ivan Savenko
733b1b339c Remove broken automatic addition of dependency for wog maps 2024-11-07 12:08:28 +00:00
Ivan Savenko
c3c5f73a63 Restore save compatibility with 1.5 2024-11-07 12:08:08 +00:00
Ivan Savenko
b9ff192a91 Fix regressions from previous PR 2024-11-07 12:07:45 +00:00
Ivan Savenko
697d63d2b8 Reworked and fixed gendered hero sprites on adventure map 2024-11-07 10:39:23 +00:00
Ivan Savenko
8cd19f639f Added validation of flaggable objects 2024-11-07 10:39:23 +00:00
Laserlicht
0e5711f8bf
Merge branch 'develop' into delete 2024-11-06 23:28:57 +01:00
Ivan Savenko
e9690c8c54
Merge branch 'develop' into autosave_name 2024-11-06 22:06:12 +02:00
Ivan Savenko
e7bea6c3b8
Merge pull request #4852 from IvanSavenko/remove_vlc_entities_serialization
Remove remaining pointers to VLC entities from serializer
2024-11-06 22:01:11 +02:00
Ivan Savenko
a2c2b28dfe
Merge pull request #4859 from IvanSavenko/map_encoding_fix
Fix selection of encoding from maps
2024-11-06 22:00:59 +02:00
Ivan Savenko
ee88cfa150 Fix selection of encoding from maps
Fixes typo from previous PR
2024-11-01 13:40:29 +00:00
Laserlicht
164aac4db2 refresh list 2024-11-01 00:52:19 +01:00
Laserlicht
1f0847660b possibility to delete unsupported saves 2024-10-31 21:57:20 +01:00
Ivan Savenko
e45be3c5e6
Merge pull request #4850 from IvanSavenko/object_descriptions
Implemented optional descriptions for market map objects
2024-10-31 16:58:14 +02:00
Ivan Savenko
6056d385ed Always load json configs from mod that references it
This should fix rather common problem with mods, where two unrelated mods
accidentally use same file name for a config file, leading to very unclear
conflict since this result in a file override.

Now all config files referenced in mod.json are loaded specifically from
filesystem of mod that referenced it. In other words, it is no longer
possible for one mod to override config from another mod.

As a side effect, this allows mods to use shorter directory layout, e.g.
`config/modName/xxx.json` can now be safely replaced with `config/
xxx.json` without fear of broken mod if there is another mod with same
path to config. Similarly, now all mods can use `config/translation/
language.json` scheme for translation files

Since this is no longer a problem, I've also simplified directory layout
of our built-in 'vcmi' mod, by moving all files from `config/vcmi`
directory directly to `config` directory.

- Overrides for miscellaneous configs like mainmenu.json should works as
before
- Images / animations (png's or def's) work as before (and may still
result in confict)
- Rebalance mods work as before and can modify another mod via standard
`modName:objectName` syntax
2024-10-31 14:49:11 +00:00
Ivan Savenko
0969871835
Merge branch 'develop' into mechanical_bonus 2024-10-31 15:14:51 +02:00
Ivan Savenko
e714a02063
Merge pull request #4849 from IvanSavenko/map_encoding
Better handling of encoding detection for maps and campaigns
2024-10-31 15:07:36 +02:00
Xilmi
63097968d3 Merge remote-tracking branch 'upstream/develop' into develop 2024-10-31 12:29:37 +01:00
Laserlicht
452762cd78 change datetime format 2024-10-30 23:23:56 +01:00
Ivan Savenko
d39dad6cb4 Fix build 2024-10-30 17:03:48 +00:00
Ivan Savenko
a39469d165 Add save compatibility 2024-10-30 16:57:03 +00:00
Ivan Savenko
c4481f3797 Remove logic for serialization of VLC entities 2024-10-30 16:48:19 +00:00
Ivan Savenko
01d787fb5a Removed remaining cases of serialization of VLC entities 2024-10-30 16:48:18 +00:00
Ivan Savenko
c1e125b186 Remove CStack::type pointer to VLC entity 2024-10-30 16:47:02 +00:00
Ivan Savenko
d3af9f1c67 Removed pointer to VLC entity from CStackBasicDescriptor 2024-10-30 16:47:02 +00:00
Ivan Savenko
c98ac01e7a Replaced public artType member of ArtifactInstance with getter 2024-10-30 16:47:01 +00:00
Ivan Savenko
04ca8aca9f Update tests 2024-10-30 16:22:12 +00:00
Ivan Savenko
08fbcd5239 TerrainTile now uses identifiers instead of pointers to VLC 2024-10-30 16:22:11 +00:00
Ivan Savenko
dd7d190a58 Implemented optional descriptions for market map objects
It is now possible to define description of an object with 'market'
handler that will be shown on right-clicking the object.

Similarly, added description to right-click popup to Hill Fort.
2024-10-30 13:20:21 +00:00
Ivan Savenko
f8b1f40abb
Merge pull request #4348 from MichalZr6/hill_fort_changes
Hill Fort unavailable upgrade and status bar new messages
2024-10-30 14:00:35 +02:00
Ivan Savenko
22f517686d Better handling of encoding detection for maps and campaigns
Now VCMI will use either preferred language or install language to load
maps and campaigns that are part of "core" mod, or, in other words -
placed in Maps directory of H3 data (like most of manually downloaded
maps and campaigns are)

If game data is in English, then game can safely use encoding of player-
selected language (such as Chinese) to load maps. After all, both GBK
and all Win-125X encoding are superset of ASCII, so English map will
always load up correctly.

Maps that are part of a mod still use mod language as before - it is up
to mod maker to correctly set up mod language.
2024-10-30 11:54:35 +00:00
Ivan Savenko
f12119f86c
Merge pull request #4812 from SoundSSGood/secSkillPlace
[Hota] SeafaringAcademy. Initial PR
2024-10-30 13:33:39 +02:00
Ivan Savenko
88a9890b56
Merge pull request #4837 from godric3/map-editor-set-hero-patrol-radius
Possibility to set hero patrol radius in map editor
2024-10-30 13:32:25 +02:00
Ivan Savenko
c1c9e2e4f0
Merge pull request #4820 from kdmcser/softDenpendency
add support for soft dependencies
2024-10-30 13:31:46 +02:00
godric3
9e9f118b09 another attempt of using CGHeroInstance::NO_PATROLLING in map editor 2024-10-29 21:41:42 +01:00
godric3
ed087b7a5b Use max ui32 value instead of -1 for NO_PATROLLING 2024-10-29 18:34:02 +01:00
Andrzej Żak
42738e20a4
Update lib/mapObjects/CGHeroInstance.h
Co-authored-by: Andrey Filipenkov <kambaladecapitator@gmail.com>
2024-10-29 08:26:31 +01:00
godric3
da5bae301a try to fix build, use plain -1 in place of CGHeroInstance::NO_PATROLLING 2024-10-28 22:46:48 +01:00
godric3
56efb82b2e try to fix build, separate definition of NO_PATROLLING in CGHeroInstance 2024-10-28 21:49:25 +01:00
godric3
394812c02a try to fix build, use inline constexpr 2024-10-28 20:58:36 +01:00
SoundSSGood
1fcd750774 suggested changes 2024-10-28 21:58:35 +02:00
godric3
a9e04428c8 Possibility to set hero patrol radius in map editor 2024-10-28 18:30:30 +01:00
Xilmi
ffd8758017 Merge remote-tracking branch 'upstream/develop' into develop 2024-10-28 17:49:08 +01:00