Ivan Savenko
07813c9a79
Removed non-functional updateEntity in VLC
2024-05-16 22:05:26 +00:00
Ivan Savenko
84bc6c42db
Added 'Serializeable' base class for classes serializeable by pointer
2024-05-16 18:40:59 +00:00
Ivan Savenko
f963b827e9
Add more descriptive error messages
2024-05-16 08:03:06 +00:00
Ivan Savenko
1b1f724de1
Merge pull request #3970 from Laserlicht/extra
...
ExtraOptions improvements
2024-05-15 15:20:59 +03:00
Laserlicht
941c1576c5
improve extraoptions
2024-05-14 00:33:30 +02:00
Ivan Savenko
c786354af3
Add better crash message for zero-length battlefield list
2024-05-13 21:03:06 +00:00
Ivan Savenko
93da58beed
Do not use locks on single-threaded server.
...
Especially since this lock is global and is shared between client and
server for no reason
2024-05-13 15:42:33 +00:00
Andrii Danylchenko
8efceb110b
#3691 - boat attached to hero should not block tiles on its own
2024-04-06 12:30:19 +03:00
Ivan Savenko
c513dc1bc7
Fix code style & formatting
2024-02-19 15:59:55 +02:00
Ivan Savenko
fc252bb9eb
Random town names are now guaranteed to be unique on the map
2024-02-19 00:36:08 +02:00
Ivan Savenko
110ef5f66e
Merge pull request #3614 from IvanSavenko/sonarcloud_fixes_2
...
Sonarcloud fixes 2
2024-02-14 16:44:58 +02:00
Ivan Savenko
3740f8b02f
Moved bonus parsing to a new file
2024-02-14 15:48:06 +02:00
Ivan Savenko
c3957c2c2a
Moved json files to new directory, split on per-class basis
2024-02-14 13:08:24 +02:00
Ivan Savenko
0d74959a33
Better float comparison
2024-02-14 12:07:07 +02:00
Ivan Savenko
6d6137accc
Simplified code
2024-02-14 12:07:07 +02:00
Ivan Savenko
392c360f88
Replaced some usages of void * with more clear CPack *
2024-02-12 12:53:10 +02:00
Ivan Savenko
80fc2bb695
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-02-03 21:11:34 +02:00
Ivan Savenko
290cc1510b
Added text container with map translations to campaign state
...
Fixes missing translations for heroes names customized on maps after
their transfer to next scenario
2024-01-31 20:01:24 +02:00
Ivan Savenko
5c5fb523a4
Implemented transfer of artifacts held by non-transferred heroes
2024-01-31 19:32:59 +02:00
Ivan Savenko
709d05205d
Yog will now receive Angelic Alliance in his campaign
2024-01-31 12:42:02 +02:00
Ivan Savenko
2e4895766a
Implemented tracking of objects destroyed by players
2024-01-31 01:37:33 +02:00
Ivan Savenko
a9866bb5c6
Added RandomGeneratorUtil::nextItemWeighted convenience method
2024-01-31 00:17:40 +02:00
Ivan Savenko
322c5faf63
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-01-26 16:52:23 +02:00
Ivan Savenko
388ca6e776
Added list of active accounts and rooms to UI. Added room creation logic
2024-01-26 16:32:36 +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
d04241b10a
Code cleanup
2024-01-19 23:02:00 +02:00
Ivan Savenko
ffd604c114
Removed unnecessary access to IHandler::objects
2024-01-19 13:56:06 +02:00
Ivan Savenko
6e629a6a5f
split getBonusLocalFirst into two distinct method:
...
- const method getFirstBonus that returns single matching bonusToString
- non-const method getLocalBonus that returns bonus from current node
2024-01-19 13:56:06 +02:00
Ivan Savenko
e67e4430ba
Removed most of non-const static fields in lib. Reduced header includes.
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
2c4cad7d9c
Slight simplification of bonus system node class
2024-01-19 13:54:49 +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
Alexander Wilms
cca08e29da
Remove duplicate semicolons
2024-01-16 19:02:39 +00:00
Ivan Savenko
c3012105e2
Fix duplicated hero in Song for the Father campaign
2024-01-16 14:45:38 +02:00
Ivan Savenko
c21913f661
Fixed initialization of move points and mana for dismissed heroes
2024-01-15 23:16:48 +02:00
Alexander Wilms
f3277b7953
Define each identifier in a dedicated statement
2024-01-10 00:22:23 +00:00
Ivan Savenko
7ffe014d6b
Remove allowed artifacts list from arthandler
...
1. Handlers should not contain non-const game state data
2. This field was duplicating same field in CMap
3. Due to removal of VLC serialization, this field is not updated on map
load leading to issues with artifact randomization
2023-12-11 15:06:04 +02:00
Ivan Savenko
ee7bd87b8d
Fix crash on losing mission-critical hero in battle
2023-12-10 16:14:01 +02:00
Ivan Savenko
e00d871082
Fix few more warnings on game start
2023-11-27 14:08:49 +02:00
Ivan Savenko
c872f8418f
Implemented serialization of MapObjectSubID, refactoring of related code
2023-11-17 21:18:34 +02:00
Ivan Savenko
9f906ff1d2
Remove pointer to CGObjectInstance from map header
2023-11-17 16:39:15 +02:00
Ivan Savenko
d71b0b6952
Merge pull request #3179 from vcmi/fix-3173
...
#3173 - fix trap crash on random hero
2023-11-16 17:27:13 +02:00
Ivan Savenko
76956cfe3a
Merge pull request #3188 from IvanSavenko/remove_identifier_implicit_int_conversion2
...
Remove implicit conversion of identifier to integer
2023-11-16 17:26:32 +02:00
Ivan Savenko
52050d0ef1
Fix build
2023-11-15 15:55:19 +02:00
Ivan Savenko
6cb1f6ff11
Remove all remaining implicit conversion in lib
2023-11-15 15:55:19 +02:00
Ivan Savenko
96c81be68e
Win/loss conditions now use VariantIdentifier. Removed non-implemented
...
options
2023-11-15 15:55:19 +02:00
Ivan Savenko
13763cad8e
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
d4496c81f9
Fix memory leaks in library
2023-11-13 16:27:15 +02:00
Ivan Savenko
20ef3a69e7
Fix most of memleaks discovered by valgrind
2023-11-13 16:27:15 +02:00
Ivan Savenko
35ee8c1397
Only apply normal mana regen for retreated heroes in taverns (h3 logic)
2023-11-12 19:30:33 +02:00
Ivan Savenko
bbd3312705
Fix randomization of heroes in campaigns
2023-11-12 19:18:17 +02:00
Andrii Danylchenko
142d0083d5
#3173 - fix trap crash on random hero
2023-11-12 16:14:06 +02:00
Ivan Savenko
5c810df36f
Reorganized types registration code
2023-11-11 00:39:08 +02:00
Ivan Savenko
4a7fa9bf8c
Simplified CTypeList class
2023-11-08 22:05:36 +02:00
Ivan Savenko
ed66fc2fb3
Minor optimization of map startup time
2023-11-08 21:27:05 +02:00
Ivan Savenko
0691dfef3b
Moved stateful artifact randomization logic to gamestate from handler
2023-11-08 21:27:05 +02:00
Ivan Savenko
2cc8b5baeb
Fix map startup
2023-11-08 21:27:05 +02:00
Ivan Savenko
5487f07d3b
added toEntity overload that accepts generic Services class
2023-11-04 17:04:53 +02:00
Ivan Savenko
04aeea9b68
use toEnum instead of getNum for switch'es
2023-11-03 19:20:25 +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
8d5fa41a19
Minor fixes
2023-11-03 16:03:29 +02:00
Ivan Savenko
885dce0c27
Replace static_cast's of Identifiers with getNum call
2023-11-03 16:03:29 +02:00
Ivan Savenko
2b9c362d5b
Explicitly convert identifier to underlying enumeration
2023-11-03 16:03:29 +02:00
Ivan Savenko
b42f073f0c
Stabilization
2023-11-01 18:26:57 +02:00
Ivan Savenko
8346d71c98
Remove more subID access
2023-11-01 14:44:05 +02:00
Ivan Savenko
5cdbf408c7
Slightly simplified heroes initialization
2023-11-01 14:43:20 +02:00
Ivan Savenko
461c481ef3
Fix game startup
2023-11-01 14:43:20 +02:00
Ivan Savenko
cc30bdda04
Remove few more subID usages
2023-11-01 14:43:20 +02:00
Ivan Savenko
7a09646009
Cleaned up dwelling randomization
2023-11-01 14:43:20 +02:00
Ivan Savenko
dcb8f4fc7b
Moved object type randomization to object class
2023-11-01 14:43:20 +02:00
Ivan Savenko
03e1169781
Reduced number of accesses to CGObjectInstance::subID
2023-11-01 14:43:20 +02:00
Ivan Savenko
7107b3202f
Merge pull request #3069 from SoundSSGood/artifact-location-id
...
ArtifactLocation now use ID for artHolder identification
2023-11-01 14:41:36 +02:00
Andrii Danylchenko
caffc8f3cd
Merge pull request #3122 from vcmi/fix-2993
...
#2993 - destruct battle info first when destructing CGameState
2023-10-31 21:43:55 +02:00
Andrii Danylchenko
25b64dd08b
Update lib/gameState/CGameState.cpp
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2023-10-31 21:43:06 +02:00
SoundSSGood
ab2f6abb87
ArtifactLocation now use ID for artHolder identification part2
2023-10-29 17:46:13 +02:00
Andrii Danylchenko
4d6d64837f
#2993 - destruct battle info first when destruction CGameState
2023-10-29 09:41:22 +02:00
Alexander Wilms
f01ec55d21
Use the "nullptr" literal.
...
"nullptr" should be used to denote the null pointer
2023-10-27 18:18:59 +00:00
nordsoft
b6b75beb29
Fixes for map editor
...
1) fix owner serialization for hero placeholder
2) fix roads/rivers layout
3) fix lasso
2023-10-24 23:58:26 +02:00
Ivan Savenko
3880ea58b9
Merge branch 'josch/dos2unix' into develop
2023-10-22 18:39:03 +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
0a10fc30b8
(lib) Bonus subtype is now stored as metaidentifier that can store any
...
other identifier inside it
2023-10-22 16:54:43 +03:00
Ivan Savenko
454ba44ac5
Merge pull request #2988 from IvanSavenko/configurable_extensions
...
Extension of configurable object functionality
2023-10-22 16:24:47 +03:00
Laserlicht
0eba0ee686
show random maps
2023-10-21 02:12:34 +02:00
Johannes Schauer Marin Rodrigues
a1a5bc28c2
convert line endings from CRLF (Windows) to LF (Linux/Unix)
...
Mixed line endings cause problems when exporting patches with
git-format-patch and then trying to "git am" a patch with mixed and
non-matching line endings. In such a situation git will fail to apply
the patch.
This commit runs the dos2unix tools on the remaining files with CRLF
(\r\n) line endings to convert them to line-feeds (\n) only.
Files that are Windows specific like *.vcxproj and *.props files were
not converted.
Closes : #3073
2023-10-19 16:23:21 +02:00
Ivan Savenko
dd841bdaa7
Use enum instead of mix of bool's and int's for tile reveal
2023-10-16 00:12:38 +03:00
Ivan Savenko
037efdf5fc
Improvements to type safety of Identifier class
...
- Constructor of Identifier from integer is now explicit
- Lobby hero/town selection now uses Identifiers instead of int's
- Removed serialization workaround for hero portraits
- Added dummy objects for custom heroes portraits for ID resolver to use
- HeroInstance now stores portrait ID only in case of custom portrait
- Fixed loading of campaign heroes portraits on RoE maps
2023-10-04 18:05:23 +03:00
nordsoft
0c94a4d891
Town name switched to id
2023-09-27 23:57:05 +02:00
nordsoft
5b24fe289b
Assembling difficulty json instead of overriding
2023-09-22 14:46:43 +02:00
nordsoft
099109b7d2
Minor fixes
2023-09-22 00:52:19 +02:00
nordsoft
cb3bbc6680
Restructured difficulty config
2023-09-20 16:12:26 +02:00
nordsoft
0de912e67b
Add basic system to add more advantages for ai player
2023-09-20 03:50:35 +02:00
Ivan Savenko
f8541d0ae4
Merge branch 'vcmi/master' into 'vcmi/develop'
2023-09-15 13:59:02 +03:00
Ivan Savenko
9ae7f53d66
Merge pull request #2791 from Nordsoft91/fix-2790
...
Fix for random dwellings
2023-09-12 12:38:55 +03:00
nordsoft
cc3864a0fa
Fix for random dwellings
2023-09-09 21:17:21 +02:00
nordsoft
f6e3c6a487
Fix
2023-09-09 14:27:51 +02:00