Ivan Savenko
63d00b080e
Removed pointer to army from StackInstance
2025-04-27 14:57:30 +03:00
Ivan Savenko
c02a8a84fd
Stacks of armed instance are now unique_ptr
2025-04-27 14:57:30 +03:00
Ivan Savenko
84cf7b052d
Map objects now use shared_ptr (rmg)
2025-04-27 14:57:30 +03:00
Ivan Savenko
9f713a0914
Rename int3::valid to isValid for consistency
2025-03-03 10:46:00 +00:00
Laserlicht
7dfb499edf
replace boost locks with std
2025-02-28 15:25:58 +01:00
Ivan Savenko
645b95ba02
Renamed LibClasses * VLC
to GameLibrary * LIBRARY
2025-02-21 16:54:56 +00:00
Ivan Savenko
2362c6da21
Fixes for multiple new issues from Sonar
2025-02-21 15:57:39 +00:00
Tomasz Zieliński
685403c588
Cleanup
2025-01-02 18:12:59 +01:00
Tomasz Zieliński
a88a994d75
Proper fix for the issue
2025-01-02 18:12:40 +01:00
Tomasz Zieliński
d631e3f604
Do not call visitablePos for non-visitable objects
2024-12-25 08:23:45 +01:00
Tomasz Zieliński
f95bb58433
Implement curved paths for all road node objects
2024-11-22 09:28:37 +01:00
Tomasz Zieliński
855ab0f0e9
First attempt to enforce curved paths
2024-11-21 22:00:24 +01: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
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
a94286c23d
Code cleanup
2024-03-27 08:03:19 +01:00
Tomasz Zieliński
19633a0f62
Build fixes
2024-03-27 06:48:22 +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
28f76b2839
Actually, avoid guarded object altogether
2024-03-01 18:17:17 +01:00
Tomasz Zieliński
4e88290962
Actually avoid only monsters
2024-03-01 18:10:05 +01:00
Tomasz Zieliński
8f1638f78a
Try to not route roads through passable objects
2024-03-01 17:48:07 +01:00
Tomasz Zieliński
7ce3553a6d
Fix race condition when placing object at teh shore
2024-02-04 08:56:21 +01:00
Ivan Savenko
a15366f5a5
Make IObjectInterface::cb non-static
2024-01-19 13:55:21 +02:00
Tomasz Zieliński
f9e5d73014
Missed optimization case
2023-12-21 17:56:21 +01:00
Tomasz Zieliński
d4216a9191
Fixed routing roads behind Sub Gates, Monoliths and Mines
2023-12-21 13:22:23 +01:00
Tomasz Zieliński
d5f9de5beb
Definitive solution for Corpse
2023-12-21 12:29:45 +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
985a2682ae
Place Monoliths at max distance in Junction zone
2023-12-18 11:12:52 +01:00
Tomasz Zieliński
339627731c
Fixes
2023-12-15 18:26:59 +01:00
Tomasz Zieliński
d31789e745
Extra cache for search area
2023-12-13 22:13:42 +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
f17d8babc5
Do not route road through the Corpse
2023-12-07 12:57:39 +01:00
Tomasz Zieliński
5ad682048f
Fix
2023-12-06 21:47:20 +01:00
Tomasz Zieliński
6cd19b81dd
Working fir for Corpse issue:
...
- Do not place guard next to blockVis object, if possible
- Do not place two blockVis objects next to each other
2023-12-06 20:49:28 +01:00
Ivan Savenko
abad4b01ce
Remove explicit convesion to int in operators
2023-11-15 15:55:19 +02:00
Ivan Savenko
2bf599bbee
Merge pull request #3119 from Nordsoft91/rmg-fix
...
Fix crash caused by duplicated delete
2023-11-05 17:09:52 +02:00
Ivan Savenko
04aeea9b68
use toEnum instead of getNum for switch'es
2023-11-03 19:20:25 +02:00
Ivan Savenko
2b9c362d5b
Explicitly convert identifier to underlying enumeration
2023-11-03 16:03:29 +02:00
nordsoft
35e7fbb366
Fix crash cause by duplicated delete
2023-10-28 22:22:30 +02:00
nordsoft
ce62ab3e66
Select random object template instead of first
2023-09-30 01:19:18 +02:00
Tomasz Zieliński
abacb5f0ea
Fix resources placed behind mines
2023-08-12 10:53:25 +02:00
Tomasz Zieliński
8f450cf253
Fix for monsters spawning at left side of the map
2023-08-11 18:43:22 +02:00
Tomasz Zieliński
0252d0f986
Fix hota offset + 2 possible crashes
2023-08-11 07:45:24 +02:00
Tomasz Zieliński
44fae4945d
Update distances in all zones adjacent to object
2023-08-02 20:41:29 +02:00
Tomasz Zieliński
1762df2b77
Formatting
2023-07-21 14:55:49 +02:00
Tomasz Zieliński
545f047cae
Fix HoTA guard once again
...
(cherry picked from commit 138a7c8024573f46962ad0f6e8e03ba53fa56076)
2023-07-18 19:28:20 +02:00
Tomasz Zieliński
a968903c51
Fix HoTA guard offset in RMG
2023-07-14 16:45:13 +02:00