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
Tomasz Zieliński
54ba4d50d6
Allow to ban spell scrolls
2024-09-23 17:09:46 +02:00
Tomasz Zieliński
55e2a99154
Default object limit to unlimited
2024-09-21 13:36:51 +02:00
Tomasz Zieliński
ec603f46ae
- Handle new configurable banks
...
- Handle "all" object banned option
2024-09-21 13:36:28 +02:00
Tomasz Zieliński
2fe54504ab
Merge remote-tracking branch 'origin/develop' into custom_objects_per_zone
...
# Conflicts:
# lib/rmg/CRmgTemplate.cpp
2024-09-14 10:19:22 +02:00
Tomasz Zieliński
4d4538a48d
Use CompoundMapObjectID in ObjectInfo
2024-09-14 09:23:28 +02:00
Tomasz Zieliński
9591ce1ab4
Move CompoundMapObjectID to separate file
2024-09-14 08:55:28 +02:00
Tomasz Zieliński
e89649ec1c
Move ObjectConfig to separate file
2024-09-14 08:41:00 +02:00
Tomasz Zieliński
4b263b6d41
Add specific objects and configure their frequency / value
2024-09-12 21:04:27 +02:00
Ivan Savenko
ff8d36c350
It is now possible to define game settings in rmg template
2024-09-05 15:16:28 +00:00
void
de4f63da90
RMG: Enable only those roads, that are enabled in persistentStorage.json
2024-09-04 08:37:45 +09:00
Ivan Savenko
82c37573fa
Removed save compatibility with 1.4
...
All save compatibility checks targeting 1.4 saves have now been removed.
Saves from 1.5 can still be loaded in 1.6
Implemeted few TODO's in serialization that were postponed to avoid
breaking save compatibility in MP for 1.5.X releases.
Fixed missed case for loading black market object from 1.5 saves
2024-08-29 18:51:53 +00:00
Tomasz Zieliński
bfe75a6a02
It is now possible to copy object settings between zones
2024-08-24 20:18:36 +02:00
Tomasz Zieliński
64fc2e5ed0
Move ObjectConfig to ObjectInfo.cpp. Preliminary version of banning object categories.
2024-08-24 15:12:22 +02:00
Tomasz Zieliński
85ee859b6e
First version that works - banning objects is possible
2024-08-21 20:16:41 +02:00
SoundSSGood
39bb6d5f39
IMarket now able to store artifacts
2024-08-20 18:49:47 +03:00
Tomasz Zieliński
4413f03276
Cleanup
2024-07-30 08:50:33 +02:00
Tomasz Zieliński
a7fa3c7d8b
Ignore new connections for zone placement.
2024-07-30 05:07:05 +02:00
Tomasz Zieliński
d10711928f
Allow connecting zone to itself (always through the portal)
2024-07-29 21:56:07 +02:00
Tomasz Zieliński
f4f416eb16
Add RMG option "forcePortal"
2024-07-29 20:36:23 +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
Ivan Savenko
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
Ivan Savenko
60a51e98de
Remove usage of std::function from CRandomGenerator
2024-07-16 13:13:07 +00:00
Ivan Savenko
3134d8383c
Merge pull request #4207 from Laserlicht/map_format_additional
...
[1.6] Map format additional infos
2024-07-16 12:15:58 +03:00
Ivan Savenko
6b8f94e6e7
Merge remote-tracking branch 'vcmi/master' into develop
2024-07-11 17:43:44 +00:00
Tomasz Zieliński
5b99974d31
Route roads even further away from zone boundary
2024-07-04 14:22:22 +02:00
Laserlicht
018127b236
set values for map editor and rmg
2024-06-29 14:01:25 +02:00
Tomasz Zieliński
d7a4ea9f32
Draw random artifact as an atomic operation
2024-06-24 20:06:50 +02:00
Alexander Wilms
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
Ivan Savenko
3bea383b59
Merge branch 'vcmi/beta' into 'vcmi/develop'
2024-06-21 12:58:36 +00:00
Ivan Savenko
af5572db15
Merge pull request #4157 from IvanSavenko/bugfixing
...
[1.5.3] Bugfixing
2024-06-18 12:14:43 +03:00
Ivan Savenko
0ca41127a6
Merge pull request #4152 from IvanSavenko/rmg_fix
...
[1.5.3] Fix rmg generation if player list is not continuous
2024-06-18 12:06:40 +03:00
Ivan Savenko
76bb32536f
Correctly iterate over allowed spells set (was vector originally)
2024-06-17 20:58:04 +00:00
Tomasz Zieliński
6d9f83a376
Protect lakes accessed from both zones with lock
2024-06-17 19:00:37 +02:00
Ivan Savenko
2d0bd94135
Fix rmg generation if player list is not continuous
2024-06-17 13:35:58 +00:00
Ivan Savenko
b8beb4fb13
Fixes for various minor issues detected by Sonar Cloud
2024-06-01 11:48:30 +00:00
Ivan Savenko
5d6470e527
Merge pull request #4025 from IvanSavenko/shared_ptr_lib
...
[1.6] Use shared_ptr for library entities
2024-05-30 19:14:06 +03:00
Ivan Savenko
5ecb527252
Merge pull request #3997 from IvanSavenko/serialization_refactor
...
[1.6] Serialization refactor
2024-05-30 19:13:21 +03: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
721b15d9de
Merge branch 'vcmi/master' into 'vcmi/develop'
2024-05-17 08:26:37 +00:00
Ivan Savenko
84bc6c42db
Added 'Serializeable' base class for classes serializeable by pointer
2024-05-16 18:40:59 +00:00
Ivan Savenko
da9d82b697
Merge pull request #3973 from vcmi/master
...
Merge master -> beta
2024-05-14 16:59:10 +03:00
Ivan Savenko
62b564650d
Fix possibly hanging pointer to deleted CGObjectInstance
...
Was stored by CRemoveObjectOperation and accessed on destruction even
though it has been removed by the game
2024-05-13 16:19:14 +00:00
Tomasz Zieliński
5a979e42e2
Satisfy SonarCloud
2024-05-10 21:14:15 +02:00
Tomasz Zieliński
ee27a79aa1
Sonarcloud issues
2024-05-10 17:07:09 +02:00
Tomasz Zieliński
21bb61fc4d
Unused variable
2024-05-10 15:56:49 +02:00
Tomasz Zieliński
7cb17afe7a
Fix diagonal paths if we need to use them
2024-05-10 15:53:54 +02:00
Ivan Savenko
2521557f68
Fixed some newly reported issues from SonarCloud
2024-05-10 13:40:24 +00:00