1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-29 23:07:48 +02:00
Commit Graph

247 Commits

Author SHA1 Message Date
Ivan Savenko
f70ad2c15b Reorganized artifact-related classes
- files now generally contain only 1 class (except for tightly coupled
classes)
- files are now located in lib/entities/artifact directory
- removed excessive includes

No changes to functionality
2025-04-29 13:29:08 +03:00
Ivan Savenko
829739da24 Reduce usage of implicit conversions to int 2025-04-27 14:57:31 +03:00
Ivan Savenko
63d00b080e Removed pointer to army from StackInstance 2025-04-27 14:57:30 +03:00
Ivan Savenko
16a06179cf Use ArtifactInstanceID in CGArtifact 2025-04-27 14:57:30 +03:00
Ivan Savenko
ab11d2b075 Remove quests from CMap, now solely owned by quest objects 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
2ca1748e96 Artifact instances are now owned solely by CMap 2025-04-27 14:57:30 +03:00
Ivan Savenko
797646cc05 Quests in map now use shared_ptr instead of const ptr 2025-04-27 14:57:30 +03:00
DjWarmonger
a3d1159512 Merge pull request #5550 from vcmi/non_euclidean_roads
Curved roads
2025-03-20 16:24:00 +01:00
DjWarmonger
1e9f65693f Merge pull request #5523 from vcmi/town_hints
Town hints
2025-03-20 16:23:44 +01:00
Tomasz Zieliński
363e83e78a Remove unused method, rename the other one 2025-03-14 08:27:53 +01:00
Tomasz Zieliński
56b3867bb3 Cleanup 2025-03-13 19:59:11 +01:00
Tomasz Zieliński
58041ee123 Solution suggested by ChatGPT 2025-03-13 19:45:28 +01:00
Tomasz Zieliński
1def86a3ec Move main town to the tile with highest distance to water shore 2025-03-09 18:46:59 +01:00
Tomasz Zieliński
38a46d4b3f Allow "notLikeZone" to be vector 2025-03-09 09:21:05 +01:00
Tomasz Zieliński
6e7dfc6ee4 First implementation that works 2025-03-09 08:16:18 +01:00
Tomasz Zieliński
946e47ee22 Add townHints to random template, define logic 2025-03-05 21:31:33 +01:00
Ivan Savenko
9f713a0914 Rename int3::valid to isValid for consistency 2025-03-03 10:46:00 +00:00
Ivan Savenko
33468f21ff Remove custom implementation of threadpool from rmg in favor of TBB 2025-03-01 21:16:03 +00:00
Laserlicht
a8b9ec9d67 Revert "std::sort instead of boost::sort"
This reverts commit 2f8566b63e.
2025-02-28 17:04:06 +01:00
Laserlicht
2f8566b63e std::sort instead of boost::sort 2025-02-28 16:47:35 +01:00
Laserlicht
4e73f7d90f shared_mutex replace boost 2025-02-28 16:01:11 +01:00
Laserlicht
7dfb499edf replace boost locks with std 2025-02-28 15:25:58 +01:00
Laserlicht
3fb9260f3b replace boost::recursive_mutex with std 2025-02-28 14:08:32 +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
Ivan Savenko
09db3e4bef Reworked resource piles loading to fix wog maps with mithril 2025-01-25 11:40:21 +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
ce003af4b9 Heavier penalty for routing roads behind monoliths 2025-01-02 17:41:01 +01:00
Tomasz Zieliński
d631e3f604 Do not call visitablePos for non-visitable objects 2024-12-25 08:23:45 +01:00
DjWarmonger
9e07b5c5de Merge pull request #4954 from vcmi/curved_roads
Curved roads
2024-12-04 07:54:41 +01:00
Tomasz Zieliński
e5b151991b Fix duplicated offroad connections 2024-11-23 10:43:14 +01:00
Tomasz Zieliński
c8fcc6ffca Fix broken roads to portals or gates by the lower zone border 2024-11-23 08:25:55 +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
9277c5f4e7 Fixed main issue with custom path routing 2024-11-21 22:30:21 +01:00
Tomasz Zieliński
855ab0f0e9 First attempt to enforce curved paths 2024-11-21 22:00:24 +01:00
Ivan Savenko
08fbcd5239 TerrainTile now uses identifiers instead of pointers to VLC 2024-10-30 16:22:11 +00:00
Ivan Savenko
31095248ab Removed typeName and subtypeName properties from CGObjectInstance 2024-10-13 13:05:50 +00: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
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
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
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