1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-16 10:19:47 +02:00
Commit Graph

85 Commits

Author SHA1 Message Date
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
Tomasz Zieliński
54ba4d50d6 Allow to ban spell scrolls 2024-09-23 17:09:46 +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
4b263b6d41 Add specific objects and configure their frequency / value 2024-09-12 21:04:27 +02: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
Ivan Savenko
63bcf7d83c Replaced most of usages of CRandomGenerator with vstd::RNG in library 2024-07-16 13:13:07 +00: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
7461df161c lib now uses shared_ptr for entities. Removed manual memory management. 2024-05-17 15:04:05 +00:00
Tomasz Zieliński
186b6629c7 Do not hide roads behind objects 2024-05-01 12:15:07 +02:00
Tomasz Zieliński
5315beec8c Fixes for guard condition 2024-05-01 11:34:34 +02:00
Tomasz Zieliński
7f3cf607a7 Allow guards not stronger than 1/3 max value next to roads 2024-05-01 10:24:21 +02:00
Tomasz Zieliński
67447acd0e First implementation that works 2024-05-01 09:16:10 +02:00
Tomasz Zieliński
9301bb9af5 Do not place guardes treasure on roads. Do not place guards next to roads. 2024-05-01 07:58:17 +02:00
Tomasz Zieliński
a94286c23d Code cleanup 2024-03-27 08:03:19 +01:00
Tomasz Zieliński
37f6993402 Clean the comments 2024-03-27 06:24:14 +01:00
Tomasz Zieliński
d8c93cb222 Protect every access to zone tiles with a mutex 2024-03-27 06:16:48 +01:00
Tomasz Zieliński
0c0a1bd777 Don't scale distance of large treasures beyond 30K value 2024-03-20 15:35:06 +01:00
Tomasz Zieliński
02fc410a98 Sonarcloud fixes 2024-03-20 13:51:16 +01:00
Tomasz Zieliński
68cdcb893e Include treasure value in min distance calculation 2024-03-20 12:39:07 +01:00
Tomasz Zieliński
a8d1d72b15 Cleaned logs 2024-03-20 10:12:48 +01:00
Tomasz Zieliński
1546a221d1 Best result so far 2024-03-20 08:36:02 +01:00
Ivan Savenko
6b760089a4
Merge pull request #3473 from IvanSavenko/const_lib
[1.5] Remove non-const global variables from library
2024-01-20 19:22:46 +02:00
Ivan Savenko
aa02d5787a Better solution for rmg crash fix 2024-01-19 17:26:51 +02:00
Ivan Savenko
789c96d9b0 Fixed binding lambda to a reference to a temporary on stack 2024-01-19 16:17:59 +02:00
Ivan Savenko
e50f586d8b Stabilization 2024-01-19 14:21:13 +02:00
Ivan Savenko
e67e4430ba Removed most of non-const static fields in lib. Reduced header includes. 2024-01-19 13:55:22 +02:00
Ivan Savenko
a15366f5a5 Make IObjectInterface::cb non-static 2024-01-19 13:55:21 +02:00
Ivan Savenko
d5c4478816 Remove most of non-const access to VLC entities 2024-01-19 13:54:49 +02:00
Tomasz Zieliński
66efb07e52 More 2024-01-17 07:45:53 +01:00
Tomasz Zieliński
a568a9b3fb Fix lambda capture 2024-01-17 07:26:51 +01:00
Tomasz Zieliński
253f1dc7e6 Refactor duplicated code as suggested by SonarCloud 2024-01-17 07:18:14 +01:00
Tomasz Zieliński
afc9bd908c Unused capture 2024-01-16 17:38:36 +01:00
Tomasz Zieliński
71844d4d92 Unban artifacts if RMG fails to place Seer Hut (unlikely) 2024-01-16 17:15:35 +01:00
Tomasz Zieliński
0273d9c36b Remove unused variable 2024-01-15 07:59:50 +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
Tomasz Zieliński
ebf2055afc - Unban hero if related Prison is destroyed during map generation
- Move prison counter to PrisonHeroPlacer
2023-12-24 09:36:26 +01:00
Tomasz Zieliński
b0f0e9caa8 Merge remote-tracking branch 'origin/beta' into random_prison_distributor 2023-12-24 06:46:18 +01:00
Tomasz Zieliński
d5f9de5beb Definitive solution for Corpse 2023-12-21 12:29:45 +01:00
Tomasz Zieliński
e22f6dd07e Fix for choosing most specific templates. Also seems to fix the Prisons. 2023-12-21 09:58:39 +01:00
Tomasz Zieliński
ad82eff225 Final and perfect treasue nd obstacle density 2023-12-19 09:24:43 +01:00
Tomasz Zieliński
c701d42781 Multiple optimizations to avoid copying and allocating tiles for rmg::Area 2023-12-18 13:52:03 +01:00
Tomasz Zieliński
bfea30e318 Optimization tweaks 2023-12-13 22:12:16 +01:00
Tomasz Zieliński
2d3b8ee866 Increased amount of generated treasure piles without increasing density 2023-12-12 12:50:27 +01:00
Tomasz Zieliński
e5f60f063c - Check full object area for minimum distance requirement
- Add option to optimize both for max distance and custom weight
2023-12-12 07:40:54 +01:00
Tomasz Zieliński
109139c913 Build fix 2023-12-11 08:27:57 +01:00
Tomasz Zieliński
8fe6a103cd - Move Hero / Prison distribution to separate modificator
- Protect rolling and banning hero with mutex
2023-12-11 07:37:23 +01:00