Commit Graph
50 Commits
Author SHA1 Message Date
Ivan Savenko d53067fa26 Fix some easy-to-fix issues from Sonar 2026-06-19 12:50:53 +03:00
Michał Zaremba 6314833de9 Warn in mapeditor's validator about objects that are placed out of map bounds 2026-06-14 01:28:45 +02:00
Michał Zaremba 27f8a3a166 Handle hero-placeholder win/loss objectives
Maps that use hero placeholders in special victory/loss conditions are playable in HotA/OH3.
Handle those objectives explicitly in VCMI so such maps remain playable.
2026-06-14 00:54:47 +02:00
Michał Zaremba 93c427c863 Fix whitespaces 2026-06-14 00:54:45 +02:00
Opuszek f7ec66a0db mapeditor: adds a widget for editing scholars 2026-06-08 22:39:31 +02:00
Ivan Savenko d2596d49d6 Merge pull request #7302 from Laserlicht/mapeditor_improve
[1.8.0] mapeditor improvement
2026-06-06 19:33:30 +03:00
Ivan Savenko 8eb01785cf Move CSpell into a separate file 2026-05-26 19:21:11 +03:00
Opuszek f126f63905 mapeditor: adds a widget for editing witch hut preset abilities 2026-05-23 14:35:09 +02:00
Laserlicht 9237798cb9 close button for dialogs on mobile 2026-05-14 17:15:51 +02:00
Michał Zaremba 949b34a3cb Fix: deal with null map objects (reserved for heroes not on map) 2025-09-18 11:43:26 +02:00
MichalZr6 e1b79326de Fixes following review
Add missing mod to CMap in checkRequiredMods
2025-05-17 23:23:12 +02:00
MichalZr6 aed1367e56 Additional fixes following reviews 2025-05-13 12:51:40 +02:00
MichalZr6 f98155a785 Fixes following reviews 2025-05-13 12:51:40 +02:00
MichalZr6 15b134b522 translatable new string in validator.cpp 2025-05-13 12:51:40 +02:00
MichalZr6 9f8c4d3747 Map validation results window changes:
- the results window's size will adjust to the length of the messages
- valid map will display appriopiate message now in validation results
- item's text wordwrap will activate after window size extends given width limit
2025-05-13 12:51:40 +02:00
Ivan Savenko 16a06179cf Use ArtifactInstanceID in CGArtifact 2025-04-27 14:57:30 +03:00
Ivan Savenko dda5c9f13a Map objects now use shared_ptr (editor) 2025-04-27 14:57:30 +03:00
Ivan Savenko 645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
George KingandAndrey Filipenkov 6c72aa4cbe Improved "Create new map" dialog for map editor (#5187)
* Improve  "Create new map" dialog

* Tweaks

* Tweaks

* Final tweaking

Optimized UI to look more consistent. Removed help button.

* Add files via upload

* Reworked dialog

* Formatting fix

* Add files via upload

* Add files via upload

* Add files via upload

* Fix seed condition

* Remove help button

* Remove help button

* Fixed labels

* Fix for Humans vs Computers combo

* Removed not needed connections + better radio names

* Update mapeditor/windownewmap.cpp

Co-authored-by: Andrey Filipenkov <kambaladecapitator@gmail.com>

* Improve map size selection grabbing

* Remove QRegularExpression

* Reformat mapSizes

---------

Co-authored-by: Andrey Filipenkov <kambaladecapitator@gmail.com>
2025-01-06 14:39:14 +02: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 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
Evgeniy Meshcheryakov ecf83757ff Placeholders fix in map validation 2024-09-13 15:02:09 +03:00
MichalZr6 0be5a1a2ad Code review followup with additional refactor
Changes following review
2024-08-23 10:43:48 +02:00
MichalZr6 5684db1953 Addressed review feedback
Additional changes after incorporating PlayerColor in `Validator::Validate()`
2024-08-23 09:43:40 +02:00
gigas002 d8c4d3654f Embed translations and icons for mapeditor 2024-06-05 04:52:17 +00:00
Ivan Savenko d5c4478816 Remove most of non-const access to VLC entities 2024-01-19 13:54:49 +02:00
Ivan Savenko 10e110320b Remove std::vector<boo> from Json Serializer, simplify affected code 2023-11-15 15:55:18 +02:00
Ivan Savenko 184f5a72cc Use toEntity/toXXX methods in Identifier instead VLC objects access 2023-11-03 16:03:29 +02:00
nordsoft a05f8339ae Proper mod compatibility check system 2023-09-21 04:31:08 +02:00
nordsoft 5136305455 Fix hero type for random hero 2023-09-11 20:37:25 +02:00
nordsoft 0148662847 Merge remote-tracking branch 'upstream/develop' into editor-improvements-1.4
# Conflicts:
#	lib/mapObjects/CGObjectInstance.cpp
2023-09-08 03:22:50 +02:00
Ivan Savenko 86a7f5f5cd Removed getStr(bool), replaced with similar toString() 2023-09-04 22:21:02 +03:00
nordsoft 50d89dec24 Fix spells issue in map editor 2023-09-04 14:28:45 +04:00
Ivan Savenko 62fddca21e Split massive CModHandler class/file into multiple parts:
- IdentifierStorage is now a separate handler in VLC
- Renamed ModHandler::Incompatibility exception to ModIncompatibility
- Extracted ModScope namespace from ModHandler
- Extracted ModUtilities namespace from ModHandler
- Split CModHandler.cpp on per-class basis
- Replaced some direct members with unique_ptr to reduce header includes
2023-07-30 22:17:47 +03:00
Ivan Savenko 4ba6806a69 Added missing string to Editor translation 2023-07-28 13:42:53 +03:00
Tomasz Zieliński 025b0814c8 + Handled banning spells and artifacts
+ Rename allowedSpell => allowedSpells
2023-07-17 17:21:28 +02:00
Ivan Savenko 9acab48bc3 Merge pull request #2268 from SoundSSGood/CArtifactInstance-rework
CArtifact CArtifactInstance refactoring
2023-07-11 14:36:08 +03:00
Fabrice Tiercelin 2c7ee12c7f Missing validation translations 2023-07-08 20:01:44 +02:00
SoundSSGood 9b5f6ec7cf CArtifact getters setters 2023-07-05 15:48:08 +03:00
Ivan Savenko acac42291e Remove excessive CMap.h includes 2023-05-31 23:18:38 +03:00
Ivan Savenko 62595cb039 Split massive CMap.h a bit 2023-05-31 23:01:57 +03:00
nordsoft 1de9a57a76 Add validation for hero duplicate 2023-04-30 12:49:45 +04:00
nordsoft e4c147db16 Add mod management into map editor 2023-04-17 03:01:29 +04:00
Ivan Savenko fa6f7513e8 All heroes-related strings are passed through translator 2023-01-20 15:18:36 +02:00
nordsoft b4a806d7fa Code polishing 2022-10-13 01:51:55 +04:00
Nordsoft91andAndrey Filipenkov 23f80c58dc Apply suggestions from code review
Co-authored-by: Andrey Filipenkov <decapitator@ukr.net>
2022-10-08 22:55:15 +04:00
nordsoft 6817cfe2bc Some automation 2022-09-20 03:34:07 +04:00
nordsoft c08fce4d65 Fix map export 2022-09-20 02:38:10 +04:00
nordsoft 0b9f601d2c Squashing editor 2022-09-18 03:23:17 +04:00