645b95ba02
Renamed LibClasses * VLC
to GameLibrary * LIBRARY
2025-02-21 16:54:56 +00:00
09db3e4bef
Reworked resource piles loading to fix wog maps with mithril
2025-01-25 11:40:21 +00:00
65fc50d33b
Simplified building ID logic
...
- Replaced overcomplicated and broken math on dwelling ID's with fixed
enum
- Fixed broken 2nd upgrades and 8th dwelling
- Removed no longer used enumeration values from building ID's
2024-12-25 19:16:21 +00:00
d3af9f1c67
Removed pointer to VLC entity from CStackBasicDescriptor
2024-10-30 16:47:02 +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
a8f8c3f4b1
Replaced most of accesses to CGObjectInstance::pos with anchorPoint()
2024-10-09 15:43:46 +00:00
3afddbbf29
replaced constant
2024-08-05 23:03:19 +02:00
4aa73b40c9
Split CTownHandler into smaller chunks
2024-07-21 18:21:48 +00:00
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
df83fa33a1
Merge branch 'vcmi/master' into 'vcmi/develop'
2024-05-31 09:34:21 +00:00
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
f3de2cfe1c
Removed broken & unused serialization of player interface and AI
2024-05-17 16:35:53 +00:00
7461df161c
lib now uses shared_ptr for entities. Removed manual memory management.
2024-05-17 15:04:05 +00:00
cba49a9952
Fix gcc-14 build
2024-05-17 10:10:06 +00:00
84bc6c42db
Added 'Serializeable' base class for classes serializeable by pointer
2024-05-16 18:40:59 +00:00
8fa615a8f7
Fix possible crash on AI attempting to build building in town
2024-04-28 12:53:10 +03:00
1b6d6c3f5e
Disable broken visitation of external markets for VCAI
2024-04-22 15:46:51 +03:00
a6dead7725
Fixed loading of text strings for hota quests
2024-04-22 13:49:17 +03:00
c23953eac5
Remove custom casts
2024-02-14 12:56:37 +02:00
c03196257f
Fix "identical expressions on both sides of comparison"
2024-02-12 12:32:35 +02:00
522cb571b3
Remove redundant virtual
specifiers
...
`grep -nr virtual | grep -v googletest | grep override > ../redundant_virtual.txt`
```python
import os
with open("../redundant_virtual.txt") as f:
for line in f:
print()
line: str = line.strip()
print(line)
tmp = line.split(":")
file = tmp[0].strip()
code = tmp[-1].strip()
print(file)
print(code)
new_code = code.replace("virtual ", "", 1)
# https://superuser.com/a/802490/578501
command = f"export FIND='{code}' && export REPLACE='{new_code}' && ruby -p -i -e \"gsub(ENV['FIND'], ENV['REPLACE'])\" {file}"
os.system(command)
```
2024-02-10 20:46:13 +01:00
2e4895766a
Implemented tracking of objects destroyed by players
2024-01-31 01:37:33 +02:00
0c07384293
Refactoring of serialization versioning handling
...
- Removed 'version' field from serialize() method
- Handler classes - Binary(De)Serializer now have 'version' field
- Serialization versioning now uses named enum
Save compatibility with 1.4.X saves should be intact
2024-01-20 20:34:51 +02:00
a15366f5a5
Make IObjectInterface::cb non-static
2024-01-19 13:55:21 +02:00
f3277b7953
Define each identifier in a dedicated statement
2024-01-10 00:22:23 +00:00
9f906ff1d2
Remove pointer to CGObjectInstance from map header
2023-11-17 16:39:15 +02:00
52050d0ef1
Fix build
2023-11-15 15:55:19 +02:00
96c81be68e
Win/loss conditions now use VariantIdentifier. Removed non-implemented
...
options
2023-11-15 15:55:19 +02:00
8346d71c98
Remove more subID access
2023-11-01 14:44:05 +02:00
fadf086e61
Fix review comments
2023-10-12 13:30:01 +02:00
7ccd4cdcb2
Refactor quests progress
2023-10-11 21:10:42 +02:00
5b10b457cf
Fix code review suggestions
2023-10-11 00:47:19 +02:00
bb238f9b72
New quests work
2023-10-10 23:44:29 +02:00
1460541ee5
New limiter based quests
2023-10-10 23:44:29 +02:00
56061d116e
vcai: Combined cases with the same actions
2023-09-27 09:05:58 +03:00
e54287ea5d
Converted remaining identifier to new system
2023-08-25 13:38:02 +03:00
17d3d663ee
Converted creature ID and spell ID to new form
2023-08-25 13:38:02 +03:00
ec8d31bbfc
First step at unifying game identifiers code
2023-08-25 13:38:01 +03:00
87957e74c1
Replaced boost::thread_specific_ptr with thread_local
2023-08-23 16:32:29 +03:00
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +03:00
08cfbe79cf
Added encapsulation for movement points access
2023-06-25 17:42:36 +03:00
f7b27da00e
Implemented support for "coast visitable" objects:
...
- objects marked as coast visitable can be visited from land even when
placed in water
- added isBlockedVisitable and isCoastVisitable method to
CGObjectInstance
- implemented json config for these properties in banks
2023-06-25 17:42:33 +03:00
87fcfa4add
Removed excessive pathfinder includes
2023-06-21 12:00:44 +03:00
6aedb99117
Cleaned up IShipyard interface
2023-06-16 17:59:10 +03:00
6591508618
Fix crash in VCAI
2023-06-15 14:22:33 +03:00
acac42291e
Remove excessive CMap.h includes
2023-05-31 23:18:38 +03:00
916b41d9a7
Merge pull request #2078 from IvanSavenko/shortcuts
...
Basic shortcuts system
2023-05-01 21:45:52 +03:00
eb577a03b5
Deprecating enum constants
2023-05-01 21:49:37 +04:00
59bc9326e9
Remove excess pointer from market interface
2023-05-01 21:49:37 +04:00
a654cc2391
Removed vstd::advance. Added vstd::next to handle similar cases.
2023-05-01 17:58:18 +03:00