1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-15 00:05:02 +02:00
Commit Graph

91 Commits

Author SHA1 Message Date
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