1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-05-27 22:47:48 +02:00

703 Commits

Author SHA1 Message Date
Ivan Savenko
eb3b51a6cf Remove save compatibility with 1.5.X 2025-03-18 11:35:15 +00:00
MichalZr6
38b994f28e Init lastWrite and date for campaigns 2025-03-11 22:36:26 +01:00
MichalZr6
ea1c911e4d Update maps sorting logic 2025-03-11 22:36:26 +01:00
Ivan Savenko
9f713a0914 Rename int3::valid to isValid for consistency 2025-03-03 10:46:00 +00:00
Ivan Savenko
645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
Ivan Savenko
2362c6da21 Fixes for multiple new issues from Sonar 2025-02-21 15:57:39 +00:00
Ivan Savenko
0548f325e4 Merge branch 'master' into 'develop' 2025-02-21 13:59:34 +00:00
Ivan Savenko
b2642bb7d7
Merge pull request #5422 from IvanSavenko/disposed_heroes_fix
[1.7] Do not allow heroes banned for player as starting heroes
2025-02-20 16:33:04 +02: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
Ivan Savenko
0337ef90ec Fix and cleanup event loading, clarify remaining hota keys 2025-02-13 19:48:37 +00:00
Ivan Savenko
f9fe8fc312 Cleanup hota object loading code 2025-02-13 19:10:29 +00:00
Ivan Savenko
091029e0bb Support for parsing HotA 1.7.2 h3m's and h3c's 2025-02-13 19:10:29 +00:00
Ivan Savenko
a12ea45276 Support of parsing of all hota 1.7.1 h3m's and h3c's 2025-02-13 19:10:29 +00:00
Ivan Savenko
d996726fe7 Support for parsing HotA 1.7.0 maps 2025-02-13 19:10:29 +00:00
Ivan Savenko
1917fae2c0 Fix loading of HotA maps with Cove town placed on map 2025-02-09 22:11:19 +00:00
Ivan Savenko
4e6560c4c9 Fixes for issues detected by valgrind 2025-02-06 19:22:04 +00:00
Ivan Savenko
09db3e4bef Reworked resource piles loading to fix wog maps with mithril 2025-01-25 11:40:21 +00:00
Ivan Savenko
baa9b1e312 Load unknown objects as "Nothing" object 2025-01-24 19:26:40 +00:00
Ivan Savenko
e4505f20b9 Remove no longer used map checksum computation 2025-01-24 19:26:40 +00:00
MichalZr6
a99274d72e BattleHexArray - new container for BattleHexes 2025-01-06 23:18:18 +01:00
Ivan Savenko
dfe8a95f8c Fix build 2025-01-04 15:09:50 +00:00
Ivan Savenko
ea368c5176 Inlined methods commonly used by pathfinder for better optimization 2025-01-04 15:09:50 +00:00
Dydzio
7be31c94f2 Fixes from code review 2024-12-05 21:16:06 +01:00
Dydzio
f7b0c7405b Fix "padding variables" for object deletion 2024-12-03 17:40:35 +01:00
Dydzio
e9be46af98 Merge branch 'develop' into timed_events_objects_removal 2024-12-03 17:27:24 +01: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
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
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
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
01d787fb5a Removed remaining cases of serialization of VLC entities 2024-10-30 16:48:18 +00:00
Ivan Savenko
d3af9f1c67 Removed pointer to VLC entity from CStackBasicDescriptor 2024-10-30 16:47:02 +00:00
Ivan Savenko
08fbcd5239 TerrainTile now uses identifiers instead of pointers to VLC 2024-10-30 16:22:11 +00: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
a97deea563
Merge pull request #4824 from IvanSavenko/translate_fix
Fixes for issues with translations
2024-10-28 12:56:50 +02:00
Ivan Savenko
638bc174c3 Fix crash on exporting maps for translation 2024-10-25 21:41:24 +00:00
Ivan Savenko
8a5ac73438 Basic support for configurable flaggable objects
Converted CGLighthouse class into FlaggableMapObject

Bonus provided by Lighthouse/Flaggable is now defined in config and is
accessible to mods.
2024-10-25 16:48:10 +00:00
Ivan Savenko
604e3b5c67
Merge pull request #4763 from IvanSavenko/herohandler_split
Split CHeroHandler.cpp/.h into 1 file per class
2024-10-14 19:05:48 +03: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
31095248ab Removed typeName and subtypeName properties from CGObjectInstance 2024-10-13 13:05:50 +00:00
Ivan Savenko
3dd4fa2528 Reduce usage of pointers to VLC entities
Final goal (of multiple PR's) is to remove all remaining pointers from
serializeable game state, and replace them with either identifiers or
with shared/unique pointers.

CGTownInstance::town and CGHeroInstance::type members have been removed.
Now this data is computed dynamically using subID member.

VLC entity of a town can now be accessed via following methods:
- getFactionID() returns ID of a faction
- getFaction() returns pointer to a faction
- getTown() returns pointer to a town

VLC entity of a hero can now be accessed via following methods:
- getHeroTypeID() returns ID of a hero
- getHeroClassID() returns ID of a hero class
- getHeroType() returns pointer to a hero
- getHeroClass() returns pointer to a hero class
2024-10-10 12:28:08 +00:00
Ivan Savenko
a8f8c3f4b1 Replaced most of accesses to CGObjectInstance::pos with anchorPoint() 2024-10-09 15:43:46 +00:00
Laserlicht
a826b88641
Merge branch 'develop' into spell 2024-10-07 12:55:23 +02:00
Ivan Savenko
1488629628 Add simple support for translation of strings that were changed by
another mod
2024-10-06 19:42:15 +00:00
godric3
d078c5ff2d store ObjectInstanceID of objects to remove instead of their position 2024-09-30 20:44:40 +02:00
godric3
e50ba14bbe Use exact position of object to remove + add object name to list of objects to remove 2024-09-30 19:17:21 +02:00
godric3
253af651cc Add map editor ui to set objects to remove on timed event 2024-09-29 13:37:24 +02:00
Dydzio
3bff68958e Change deleted objects format to use ObjectInstanceID 2024-09-28 22:58:05 +02:00
Laserlicht
2052a26031 code review 2024-09-28 14:25:11 +02:00