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
SoundSSGood
30fa2846aa
ArtifactUtils::createArtifact ArtifactUtils::createNewArtifactInstance unified
2024-09-04 21:25:55 +03:00
Ivan Savenko
11e8b04ac5
Merge pull request #4463 from SoundSSGood/IMarket-refactoring
...
IMarket refactoring
2024-08-26 22:48:23 +03:00
MichalZr6
0be5a1a2ad
Code review followup with additional refactor
...
Changes following review
2024-08-23 10:43:48 +02:00
SoundSSGood
58bb2b58e3
IMarket suggestions
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-08-20 18:49:48 +03:00
godric3
78aa376d50
introduce getModScope
into AObjectTypeHandler
2024-08-12 13:58:03 +02:00
godric3
c34956e912
introduce getModScope
method toEntity
class and subclasses
2024-08-10 16:08:04 +02:00
godric3
18e96171de
map editor: check hero and town spells during mod assessment
2024-08-07 21:29:21 +02:00
Ivan Savenko
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
Ivan Savenko
3bea383b59
Merge branch 'vcmi/beta' into 'vcmi/develop'
2024-06-21 12:58:36 +00:00
Andrey Filipenkov
b5cc3e8dc6
[editor] fix crash on quit with an opened map
2024-06-13 21:35:30 +03:00
Andrey Filipenkov
9438c5f9f7
code style
2024-06-13 21:35:30 +03:00
Ivan Savenko
7461df161c
lib now uses shared_ptr for entities. Removed manual memory management.
2024-05-17 15:04:05 +00:00
godric3
acceca0139
map editor: Allow to customize hero spells
2024-03-24 10:01:20 +01:00
godric3
ec735aa959
Fix mine resource and productivity on map load, also made them non editable
2024-02-03 11:30:09 +01:00
Ivan Savenko
d5c4478816
Remove most of non-const access to VLC entities
2024-01-19 13:54:49 +02:00
Tomasz Zieliński
817ab1d53d
Actually fix quest artifacts not getting banned at all
2024-01-16 17:16:03 +01:00
Tomasz Zieliński
285bafdbf4
Do not ban heroes in Prisons, they might be rehired after they are defeated.
...
Restore hero to pool if Prison fails to be placed.
2024-01-15 07:41:29 +01:00
Ivan Savenko
9b40271ab1
Update editor and tests
2023-12-22 17:56:43 +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
8346d71c98
Remove more subID access
2023-11-01 14:44:05 +02:00
nordsoft
b9a660f6c3
Redesign map editor rendering
2023-10-20 01:25:06 +02:00
Ivan Savenko
037efdf5fc
Improvements to type safety of Identifier class
...
- Constructor of Identifier from integer is now explicit
- Lobby hero/town selection now uses Identifiers instead of int's
- Removed serialization workaround for hero portraits
- Added dummy objects for custom heroes portraits for ID resolver to use
- HeroInstance now stores portrait ID only in case of custom portrait
- Fixed loading of campaign heroes portraits on RoE maps
2023-10-04 18:05:23 +03:00
nordsoft
7d56b704a2
Fix events/rumors identifiers
2023-10-01 13:38:16 +02:00
nordsoft
9c5725da66
Convertion finished
2023-10-01 13:32:35 +02:00
nordsoft
cb02e221f3
Couple fixes
2023-09-30 04:33:41 +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
Ivan Savenko
e8453916cf
Merge remote-tracking branch 'vcmi/beta' into develop
2023-09-08 18:49:06 +03:00
nordsoft
db32c2387e
Fix hero initialization form random map
2023-09-04 02:58:16 +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
Tomasz Zieliński
025b0814c8
+ Handled banning spells and artifacts
...
+ Rename allowedSpell => allowedSpells
2023-07-17 17:21:28 +02:00
Ivan Savenko
1e9eea30e1
Merge remote-tracking branch 'soundsgood/CArtHandler-rework' into develop
2023-06-05 18:53:17 +03:00
Ivan Savenko
d6a357fd17
Split some map object files into smaller files. Reduced includes usage.
2023-06-02 21:47:37 +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
Tomasz Zieliński
ccaece9d71
Refactor mapController to use precalculated obstacle set.
2023-05-20 10:57:05 +02:00
Tomasz Zieliński
cf0515dcd3
Moved Modificators to separate folder
2023-05-20 10:17:37 +02:00
Tomasz Zieliński
73d9f5bd0a
Parallel RMG works fine for maps without water.
2023-05-19 20:30:15 +02:00
SoundSSGood
1175990724
fixup
2023-05-19 01:55:11 +03:00
nordsoft
9ecf16ca23
Fix minor bugs
2023-04-20 03:20:00 +04:00
nordsoft
e4c147db16
Add mod management into map editor
2023-04-17 03:01:29 +04:00
Ivan Savenko
6c472339ce
Refactoring of ObjectClassesHandler
2023-01-26 23:26:49 +02:00
Ivan Savenko
fa6f7513e8
All heroes-related strings are passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
4f3ea0d1d9
Renamed Terrain.h/cpp -> TerrainHandler.h/cpp
2023-01-10 00:01:35 +02:00
Ivan Savenko
7c7ae26e67
Map/Road/River identifiers are now private members
2023-01-10 00:01:35 +02:00
Nordsoft91
37d1e1e748
Merge pull request #1277 from Nordsoft91/editor-cutcopypaste
2022-12-27 17:28:39 +04:00
nordsoft
e6f459cbe4
Address naming questions
2022-12-27 04:04:09 +04:00
Ivan Savenko
f073c676f9
Merge 1.1 release into develop
2022-12-23 14:17:18 +02:00
nordsoft
aa120fa69f
Implemented cut copy paste
2022-12-05 01:32:50 +04:00