645b95ba02
Renamed LibClasses * VLC
to GameLibrary * LIBRARY
2025-02-21 16:54:56 +00:00
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
54ba4d50d6
Allow to ban spell scrolls
2024-09-23 17:09:46 +02:00
ec603f46ae
- Handle new configurable banks
...
- Handle "all" object banned option
2024-09-21 13:36:28 +02:00
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
4d4538a48d
Use CompoundMapObjectID in ObjectInfo
2024-09-14 09:23:28 +02:00
4b263b6d41
Add specific objects and configure their frequency / value
2024-09-12 21:04:27 +02:00
bfe75a6a02
It is now possible to copy object settings between zones
2024-08-24 20:18:36 +02:00
64fc2e5ed0
Move ObjectConfig to ObjectInfo.cpp. Preliminary version of banning object categories.
2024-08-24 15:12:22 +02:00
85ee859b6e
First version that works - banning objects is possible
2024-08-21 20:16:41 +02:00
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
7461df161c
lib now uses shared_ptr for entities. Removed manual memory management.
2024-05-17 15:04:05 +00:00
186b6629c7
Do not hide roads behind objects
2024-05-01 12:15:07 +02:00
5315beec8c
Fixes for guard condition
2024-05-01 11:34:34 +02:00
7f3cf607a7
Allow guards not stronger than 1/3 max value next to roads
2024-05-01 10:24:21 +02:00
67447acd0e
First implementation that works
2024-05-01 09:16:10 +02:00
9301bb9af5
Do not place guardes treasure on roads. Do not place guards next to roads.
2024-05-01 07:58:17 +02:00
a94286c23d
Code cleanup
2024-03-27 08:03:19 +01:00
37f6993402
Clean the comments
2024-03-27 06:24:14 +01:00
d8c93cb222
Protect every access to zone tiles with a mutex
2024-03-27 06:16:48 +01:00
0c0a1bd777
Don't scale distance of large treasures beyond 30K value
2024-03-20 15:35:06 +01:00
02fc410a98
Sonarcloud fixes
2024-03-20 13:51:16 +01:00
68cdcb893e
Include treasure value in min distance calculation
2024-03-20 12:39:07 +01:00
a8d1d72b15
Cleaned logs
2024-03-20 10:12:48 +01:00
1546a221d1
Best result so far
2024-03-20 08:36:02 +01:00
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
aa02d5787a
Better solution for rmg crash fix
2024-01-19 17:26:51 +02:00
789c96d9b0
Fixed binding lambda to a reference to a temporary on stack
2024-01-19 16:17:59 +02:00
e50f586d8b
Stabilization
2024-01-19 14:21:13 +02:00
e67e4430ba
Removed most of non-const static fields in lib. Reduced header includes.
2024-01-19 13:55:22 +02:00
a15366f5a5
Make IObjectInterface::cb non-static
2024-01-19 13:55:21 +02:00
d5c4478816
Remove most of non-const access to VLC entities
2024-01-19 13:54:49 +02:00
66efb07e52
More
2024-01-17 07:45:53 +01:00
a568a9b3fb
Fix lambda capture
2024-01-17 07:26:51 +01:00
253f1dc7e6
Refactor duplicated code as suggested by SonarCloud
2024-01-17 07:18:14 +01:00
afc9bd908c
Unused capture
2024-01-16 17:38:36 +01:00
71844d4d92
Unban artifacts if RMG fails to place Seer Hut (unlikely)
2024-01-16 17:15:35 +01:00
0273d9c36b
Remove unused variable
2024-01-15 07:59:50 +01:00
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
ebf2055afc
- Unban hero if related Prison is destroyed during map generation
...
- Move prison counter to PrisonHeroPlacer
2023-12-24 09:36:26 +01:00
b0f0e9caa8
Merge remote-tracking branch 'origin/beta' into random_prison_distributor
2023-12-24 06:46:18 +01:00
d5f9de5beb
Definitive solution for Corpse
2023-12-21 12:29:45 +01:00
e22f6dd07e
Fix for choosing most specific templates. Also seems to fix the Prisons.
2023-12-21 09:58:39 +01:00
ad82eff225
Final and perfect treasue nd obstacle density
2023-12-19 09:24:43 +01:00
c701d42781
Multiple optimizations to avoid copying and allocating tiles for rmg::Area
2023-12-18 13:52:03 +01:00
bfea30e318
Optimization tweaks
2023-12-13 22:12:16 +01:00
2d3b8ee866
Increased amount of generated treasure piles without increasing density
2023-12-12 12:50:27 +01:00
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
109139c913
Build fix
2023-12-11 08:27:57 +01:00