1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-14 10:12:59 +02:00
Commit Graph

133 Commits

Author SHA1 Message Date
Ivan Savenko
7247038458
Merge pull request #3574 from SoundSSGood/altar-fixes
Artifacts altar related fixes
2024-02-01 22:27:41 +02:00
Ivan Savenko
a9866bb5c6 Added RandomGeneratorUtil::nextItemWeighted convenience method 2024-01-31 00:17:40 +02:00
SoundSSGood
652f009181 arts altar - arts holder 2024-01-27 15:28:21 +02:00
Ivan Savenko
2a193effcc Merge branch 'master' into 'develop' 2024-01-25 16:23:13 +02:00
Ivan Savenko
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
Ivan Savenko
8e8d42bfa2 Try to simplify / cleanup code to localize crash 2024-01-20 18:40:03 +02:00
Ivan Savenko
9af7c63a26 Fix build 2024-01-19 13:56:05 +02:00
Ivan Savenko
60ffb81b33 Replaced remaining placeholder code with callbacks 2024-01-19 13:55:22 +02:00
Ivan Savenko
a15366f5a5 Make IObjectInterface::cb non-static 2024-01-19 13:55:21 +02:00
Ivan Savenko
d5c4478816 Remove most of non-const access to VLC entities 2024-01-19 13:54:49 +02:00
Ivan Savenko
bd5682ecc3 Merge remote-tracking branch 'vcmi/master' into develop 2024-01-19 13:49:54 +02:00
Ivan Savenko
9025744cc5
Merge pull request #3510 from Alexander-Wilms/remove-semicolons-from-macros
Remove trailing semicolons from more macros
2024-01-18 16:03:55 +02:00
Alexander Wilms
ccac73fb69 Remove trailing semicolons from more macros 2024-01-16 19:46:21 +00:00
Alexander Wilms
cca08e29da Remove duplicate semicolons 2024-01-16 19:02:39 +00:00
Alexander Wilms
f3277b7953 Define each identifier in a dedicated statement 2024-01-10 00:22:23 +00:00
Ivan Savenko
63a2ed7cf8 Replace vector[] with range-checking vector.at() 2024-01-04 23:52:57 +02:00
Ivan Savenko
3b66701ffe Ignore illegal 'index' entries in mods 2024-01-04 23:52:01 +02:00
Ivan Savenko
48a8826aa1
Merge pull request #3308 from vcmi/improve_treasure_placement
Improve treasure placement
2023-12-22 16:32:59 +02:00
Tomasz Zieliński
e22f6dd07e Fix for choosing most specific templates. Also seems to fix the Prisons. 2023-12-21 09:58:39 +01:00
Ivan Savenko
496bca1a59 Attempt to track down mystery crash on Android 2023-12-17 20:09:28 +02:00
Ivan Savenko
b6cc26f853 Fix build 2023-12-16 14:29:49 +02:00
Ivan Savenko
1acab80fdc Use unique_ptr instead of raw pointers to attempt to fix crash on free 2023-12-16 13:46:29 +02:00
Ivan Savenko
3bd85d417e Avoid crash on invalid building identifier 2023-12-13 17:23:45 +02:00
Ivan Savenko
828077c18b Added special object "nothing" to handle unknown map objects on some
custom maps
2023-12-11 17:25:19 +02:00
Tomasz Zieliński
493acd9b75 One little fix for inconsistent indexes 2023-12-11 08:28:53 +01:00
Ivan Savenko
8bf05a8f77
Merge pull request #3272 from vcmi/fix_rmg_monoliths
Fix rmg monoliths
2023-12-10 22:44:05 +02:00
Ivan Savenko
df78c9c6f1 Added workaround for crashes with outdated mods 2023-12-09 18:08:22 +02:00
Tomasz Zieliński
d15e9f886c Cleanup 2023-12-09 15:35:32 +01:00
Tomasz Zieliński
0f23dde85d Fixed crash due to incorrect monolith id scopes 2023-12-09 14:25:03 +01:00
Ivan Savenko
500f945222
Update lib/mapObjectConstructors/AObjectTypeHandler.cpp 2023-12-07 22:48:51 +02: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
e96cde291a Fix generation of additional monolith types for RMG 2023-11-21 18:32:07 +02:00
Ivan Savenko
6cb1f6ff11 Remove all remaining implicit conversion in lib 2023-11-15 15:55:19 +02:00
Ivan Savenko
34338f4eaa Remove few more implicit conversions 2023-11-15 15:55:19 +02:00
Ivan Savenko
abad4b01ce Remove explicit convesion to int in operators 2023-11-15 15:55:19 +02:00
Ivan Savenko
0842f5afee Removed remaining usages of std::vector<bool> 2023-11-15 15:55:18 +02:00
Ivan Savenko
54103813dd Remove no longer used serialization methods 2023-11-08 21:27:05 +02:00
Ivan Savenko
184f5a72cc Use toEntity/toXXX methods in Identifier instead VLC objects access 2023-11-03 16:03:29 +02:00
Ivan Savenko
be5505690d
Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2023-10-29 13:47:56 +02:00
Ivan Savenko
6337b0d3b9 Fix potential crash on loading mod with invalid handler name 2023-10-26 15:32:13 +03:00
Ivan Savenko
4f47555977 Split OBJECT bonus source into OBJECT_TYPE and OBJECT_INSTANCE 2023-10-22 16:55:19 +03:00
Ivan Savenko
ac925bb786 Renamed new types for consistency with code style 2023-10-22 16:55:19 +03:00
Ivan Savenko
80e6485965 MetaIdentifier now uses std::variant internally 2023-10-22 16:55:19 +03:00
Ivan Savenko
b394158dc9 Bonus Source ID now uses metaidentifier 2023-10-22 16:55:18 +03:00
Ivan Savenko
e10de0594e Scholar is now configurable object (partial) 2023-10-16 00:12:39 +03:00
Ivan Savenko
bb05c2dea5 Implemented configurable shrine 2023-10-16 00:12:39 +03:00
Ivan Savenko
98fd939ed6 Cartographer/Observatory is now configurable object 2023-10-16 00:12:38 +03:00
Ivan Savenko
fd01a25352 Implemented basic version of configurable Witch Hut 2023-10-16 00:12:38 +03:00
Ivan Savenko
0ab766479d One more documentation update iteration 2023-09-26 15:55:27 +03:00
Ivan Savenko
f4ee9424e4 Removed unused properties 2023-09-26 15:55:27 +03:00
nordsoft
e3538f24ab Fix components problem 2023-09-17 16:04:34 +02:00
Ivan Savenko
f39fbe5151
Merge pull request #2757 from IvanSavenko/filesystem_refactor
Filesystem refactor - part 1
2023-09-07 10:51:02 +03:00
Ivan Savenko
7e27ac7073 IdentifierStorage is now separate handler in VLC 2023-09-04 18:56:16 +03:00
Ivan Savenko
8dfdfffd87 Use ResourcePath for audio files 2023-09-04 18:22:34 +03:00
Ivan Savenko
6f0108e462 Use ResourcePath for referencing texts and json's 2023-09-04 18:22:34 +03:00
Ivan Savenko
823ffa7a07 Always use ResourcePath for referencing images and animations 2023-09-04 18:22:34 +03:00
Ivan Savenko
e54287ea5d Converted remaining identifier to new system 2023-08-25 13:38:02 +03:00
Ivan Savenko
62cd8b12d4 Converted several namespace enums to enum class 2023-08-25 13:38:02 +03:00
Ivan Savenko
f13a53c1d9 Merge remote-tracking branch 'vcmi/beta' into develop 2023-08-12 17:28:47 +03:00
Ivan Savenko
2e7e8bb52b Better error message on missing object constructor 2023-08-08 12:50:39 +03:00
Ivan Savenko
62fddca21e Split massive CModHandler class/file into multiple parts:
- IdentifierStorage is now a separate handler in VLC
- Renamed ModHandler::Incompatibility exception to ModIncompatibility
- Extracted ModScope namespace from ModHandler
- Extracted ModUtilities namespace from ModHandler
- Split CModHandler.cpp on per-class basis
- Replaced some direct members with unique_ptr to reduce header includes
2023-07-30 22:17:47 +03:00
Ivan Savenko
e733b55c90 Removed buggy and poorly designed fromString method
Use VLC->modh directly with proper parameters instead
2023-07-25 22:36:45 +03:00
Ivan Savenko
21e794268b Attempt to fix & improve error detection:
- use std::fstream instead of boost::iostreams for properly working flush
- removed some catch-all blocks
- reduce catch scope of some try/catch blocks to clearly indicate intent
2023-07-24 18:48:56 +03:00
Ivan Savenko
3a348abf4f Text of configurable/rewardable objects now uses translator 2023-07-19 22:25:52 +03:00
Ivan Savenko
199f9eb6f5 Fix build 2023-07-15 19:29:11 +03:00
Ivan Savenko
8ed5f412e2 Show per-type object names in editor 2023-07-15 16:09:44 +03:00
Ivan Savenko
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
Ivan Savenko
1fb2b60999 Remove no longer relevant check 2023-06-23 13:42:09 +03:00
Ivan Savenko
56d69e790b Renamed MetaString methods to more logical names 2023-06-20 19:37:27 +03:00
Ivan Savenko
f35b3a0dc3 Replace MetaString operator << with member function 2023-06-20 19:37:27 +03:00
Ivan Savenko
8dde8018d0 Implemented support for fixed monster def's from hota 2023-06-20 19:37:27 +03:00
Ivan Savenko
6f743916db Moved CGCreature to a new file 2023-06-20 19:37:27 +03:00
Ivan Savenko
58661fc8ec Moved DwellingInstanceConstructor to a new file 2023-06-16 17:59:50 +03:00
Ivan Savenko
77b58bc66d Cleaned up object constructors to reduce duplicated code 2023-06-16 17:59:50 +03:00
Ivan Savenko
4d947be287 Adventure map shipyard nwo has configurable boat type 2023-06-16 17:59:50 +03:00
Ivan Savenko
487f441f47 Implemented boat selection for town shipyards 2023-06-16 17:59:49 +03:00
Ivan Savenko
a94b68e6aa Hill fort upgrade costs are now loaded from json 2023-06-16 17:59:10 +03:00
Ivan Savenko
2e7c382612 Moved creature upgrade logic to CGObjectInstance inheritors 2023-06-16 17:59:10 +03:00
Ivan Savenko
fc190b14bb Spell shrines can now be configured in json 2023-06-16 17:59:10 +03:00
Ivan Savenko
5cfbdd2967 Partially split CommonConstructors.cpp into few separate files 2023-06-16 17:59:10 +03:00
Tomasz Zieliński
aff079b4e6 Fix boat regression 2023-06-07 20:10:04 +02:00
Ivan Savenko
97b3b2e147 Fix build 2023-06-03 00:48:32 +03:00
Ivan Savenko
d6a357fd17 Split some map object files into smaller files. Reduced includes usage. 2023-06-02 21:47:37 +03:00