1
0
mirror of https://github.com/vcmi/vcmi.git synced 2026-04-26 20:02:20 +02:00

202 Commits

Author SHA1 Message Date
Laserlicht 0dd793abe3 fix hero name 2026-02-11 21:29:46 +01:00
Laserlicht 152b50fb64 remove global var 2026-02-07 21:00:14 +01:00
Laserlicht af65ce28bb fix map editor string registration 2026-02-03 02:13:08 +01:00
Ivan Savenko 20a379f740 Fixes for issues reported by Sonar 2026-02-01 15:31:36 +02:00
Laserlicht 9b33f81bd6 fix sonar 2026-01-31 20:15:46 +01:00
Laserlicht 7d489c093b fix vmap translation 2026-01-31 18:50:36 +01:00
Ivan Savenko d88ac39774 Merge pull request #6789 from Laserlicht/camp_fixes
[1.7.2] campaign fixes
2026-01-25 16:32:25 +02:00
Laserlicht c437378104 fix h3c convert translation & disallow to save empty campaign 2026-01-25 00:45:08 +01:00
Michał Zaremba 0110a872ab Fix crash for h3m and h3c converters 2026-01-24 17:10:06 +01:00
Ivan Savenko faec379adc Fix crash on loading previously generated random map 2026-01-18 14:34:49 +00:00
Ivan Savenko bbb54f3868 Merge pull request #6691 from Laserlicht/vmap_translation
[1.7.2] VMAP translation
2026-01-16 12:38:53 +02:00
Laserlicht 5bb24263b5 fix map layer loading 2026-01-10 13:38:14 +01:00
Laserlicht 394b23ca18 fix vmap translation 2026-01-09 22:11:30 +01:00
Laserlicht 00a3409203 map layer types 2026-01-03 21:07:57 +01:00
Ivan Savenko dcd6b44ea3 Fix loading of artifacts from .vmap's 2025-12-26 19:33:14 +02:00
Opuszek 1d871b5adf preserve instanceId during serialization/deserialization of json mapFormat 2025-12-17 16:39:14 +01:00
Laserlicht 5a650a8f2f Merge branch 'develop' into battleonly 2025-10-24 01:01:42 +02:00
Laserlicht 4d37fe631b battle only basic implementation 2025-10-24 00:54:22 +02:00
Michał Zaremba e14f7deca1 Fix empty modscopes 2025-10-17 19:11:40 +02:00
Laserlicht ecfe09f6b1 multilevel support 2025-08-01 02:21:44 +02:00
Ivan Savenko 4d4da0454f map objects hierarchy now uses IGameInfoCallback 2025-05-14 18:33:20 +03:00
Ivan Savenko 6f20235d07 Merge CPrivilegedInfoCallback into CGameInfoCallback 2025-05-14 13:42:20 +03:00
Ivan Savenko 716da918f8 Completely remove IGameCallback class
- CClient now inherits directly from CPrivilegedInfoCallback, like
IGameCallback did before. However CClient no longer needs dummy
implementation of IGameEventCallback
- CGObjectInstance hierarchy now uses CPrivilegedInfoCallback for
callback. Actual events can only be emitted in calls that receive
IGameEventCallback pointer, e.g. heroVisit
- CGameHandler now inherits directly from both CPrivilegedInfoCallback
and IGameEventCallback as it did before via IGameCallback
2025-05-14 13:39:41 +03:00
kdmcser 7cb922dd8a fix old vcmi format map loading crash 2025-05-06 01:53:25 +08: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 4e8e85e3e4 Fix issues reported by Sonar, review fixes 2025-04-27 14:57:31 +03:00
Ivan Savenko 16a06179cf Use ArtifactInstanceID in CGArtifact 2025-04-27 14:57:30 +03:00
Ivan Savenko ab11d2b075 Remove quests from CMap, now solely owned by quest objects 2025-04-27 14:57:30 +03:00
Ivan Savenko bdae7285ae Objects list is now private member of CMap 2025-04-27 14:57:30 +03:00
Ivan Savenko 745040def3 Access to heroes storage in CMap is now done via public methods 2025-04-27 14:57:30 +03:00
Ivan Savenko 1f502c0548 CMap towns and heroes on map fields are now private 2025-04-27 14:57:30 +03:00
Ivan Savenko 0ada2a5ebd Map objects now use shared_ptr (game) 2025-04-27 14:57:30 +03:00
Ivan Savenko 2ca1748e96 Artifact instances are now owned solely by CMap 2025-04-27 14:57:30 +03: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 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 08fbcd5239 TerrainTile now uses identifiers instead of pointers to VLC 2024-10-30 16:22:11 +00:00
Ivan Savenko 638bc174c3 Fix crash on exporting maps for translation 2024-10-25 21:41:24 +00: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 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
Ivan Savenko a58e209cbd Merge pull request #4490 from godric3/fix-campaign-hero-placeholder
Fix campaign hero placeholder
2024-09-09 23:39:20 +03:00
SoundSSGood b06426ac43 CMap removed from CArtifactSet level 2024-09-04 15:12:40 +03:00
godric3 355bf4ec3e read reservedCampaignHeroes from vmaps 2024-08-22 16:52:35 +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
Alexander Wilms 434371195d JsonNode constructors: Take fileName as argument
* Don't print JSON in JsonParser::parse() in case of errors
2024-07-17 13:50:59 +02:00
Laserlicht 02bd52041b extend map format 2024-06-29 13:13:59 +02:00
Ivan Savenko 7461df161c lib now uses shared_ptr for entities. Removed manual memory management. 2024-05-17 15:04:05 +00:00
Ivan Savenko 6ba6e0d55b Moved serialization of ModCompatibilityInfo from MapFormat 2024-04-23 17:15:59 +03:00