ff8d36c350
It is now possible to define game settings in rmg template
2024-09-05 15:16:28 +00:00
8225eb454e
Added GameSettings to gamestate, potentially allowing to define game
...
settings per map (or in random map template)
2024-09-05 15:16:27 +00:00
b06426ac43
CMap removed from CArtifactSet level
2024-09-04 15:12:40 +03:00
18a69dfeb5
move CMap::isInTheMap to the header file and make it inline
2024-08-22 14:27:01 +02:00
3a27725fcb
Optimize CMap::isInTheMap
...
replace x >= 0 && x < size by (unsigned)x < size
By converting signed coordinate to unsigned number, negative values became
very large positive ones, larger than every positive signed number and
therefore also bigger than the map size. As a result check against size
also implicitly checks if coordinate is negative.
Compiler cannot do this transformation automatically because it doesn't
know that map dimensions are always positive.
The change shrinks isInTheMap from 19 instructions to 11 on x86.
2024-08-22 11:39:24 +02:00
26fdaacbe5
Map and town events are now processed on start of player turn instead of
...
on start of new day, in line with H3
2024-08-14 14:13:50 +00:00
5523e08cb7
Players affected by event is now stored as std::set instead of bitmask
2024-08-14 14:13:49 +00:00
4aa73b40c9
Split CTownHandler into smaller chunks
2024-07-21 18:21:48 +00:00
1aa391fdf8
Split CGeneralTextHandler file into 1 file per class form
...
All text processing code is now located in lib/texts.
No changes other than code being moved around and adjustment of includes
Moved without changes:
Languages.h -> texts/Languages.h
MetaString.* -> texts/MetaString.*
TextOperations.* -> texts/TextOperations.*
Split into parts:
CGeneralTextHandler.* -> texts/CGeneralTextHandler.*
-> texts/CLegacyConfigParser.*
-> texts/TextLocalizationContainer.*
-> texts/TextIdentifier.h
2024-07-20 12:55:17 +00:00
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
c00a1e1b0c
Fixed new issues detected by SonarCloud
2024-07-15 07:46:40 +00:00
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
31401e219f
Fix possible crash on nullptr dereference
2024-05-11 13:19:07 +00:00
8ed940d538
cleanup
2024-04-03 22:24:19 +02:00
9f048888dd
Restore previous removeObject
2024-04-03 22:17:36 +02:00
2a213f2276
Reindex objects to show interactive objects on top
2024-04-03 14:48:04 +02:00
263d439605
Fix uninitialized variable
2024-03-24 07:54:11 +01:00
fd17133da3
Fix editor build
2024-02-06 00:40:26 +02:00
2e4895766a
Implemented tracking of objects destroyed by players
2024-01-31 01:37:33 +02:00
ffd604c114
Removed unnecessary access to IHandler::objects
2024-01-19 13:56:06 +02:00
e67e4430ba
Removed most of non-const static fields in lib. Reduced header includes.
2024-01-19 13:55:22 +02:00
a15366f5a5
Make IObjectInterface::cb non-static
2024-01-19 13:55:21 +02:00
ebf2055afc
- Unban hero if related Prison is destroyed during map generation
...
- Move prison counter to PrisonHeroPlacer
2023-12-24 09:36:26 +01:00
8fe6a103cd
- Move Hero / Prison distribution to separate modificator
...
- Protect rolling and banning hero with mutex
2023-12-11 07:37:23 +01:00
a7d6068bf6
Do not ignore block-visit objects when computing guardian locations
2023-11-28 19:32:03 +02:00
e979fb7056
Better fix for allowed heroes in h3m - allow all heroes from mods
2023-11-22 19:11:22 +02:00
c872f8418f
Implemented serialization of MapObjectSubID, refactoring of related code
2023-11-17 21:18:34 +02:00
9f906ff1d2
Remove pointer to CGObjectInstance from map header
2023-11-17 16:39:15 +02:00
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
6cb1f6ff11
Remove all remaining implicit conversion in lib
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
0842f5afee
Removed remaining usages of std::vector<bool>
2023-11-15 15:55:18 +02:00
20ef3a69e7
Fix most of memleaks discovered by valgrind
2023-11-13 16:27:15 +02:00
8d5fa41a19
Minor fixes
2023-11-03 16:03:29 +02:00
3634fb2158
Remove int <=> Identifier comparisons
2023-11-03 16:03:29 +02:00
885dce0c27
Replace static_cast's of Identifiers with getNum call
2023-11-03 16:03:29 +02:00
03e1169781
Reduced number of accesses to CGObjectInstance::subID
2023-11-01 14:43:20 +02:00
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
00c8c2eb82
Event message meta string
2023-09-27 23:28:17 +02:00
0ac893b80f
Rumors meta string
2023-09-27 23:22:45 +02:00
f47def3588
refactoring
2023-09-19 13:31:57 +03:00
6e3817f18c
Events serialization
2023-09-10 01:54:55 +02:00
a30e7ba321
Remove bitmasks of PlayerColor's. Add encode/decode methods
2023-09-04 18:56:16 +03:00
17d3d663ee
Converted creature ID and spell ID to new form
2023-08-25 13:38:02 +03:00
03b3771f19
Ban Navigation on maps without water
2023-07-18 10:54:36 +02:00
025b0814c8
+ Handled banning spells and artifacts
...
+ Rename allowedSpell => allowedSpells
2023-07-17 17:21:28 +02:00
a200e87640
Merge remote-tracking branch 'origin/develop' into ban_stuff_on_water_maps
2023-07-15 14:36:32 +02:00
37f3560b9c
Fix build in debug mode
2023-07-11 15:21:31 +03:00
700d8459ac
Checking flags and conditions
2023-07-09 11:16:36 +02:00
9b5f6ec7cf
CArtifact getters setters
2023-07-05 15:48:08 +03:00