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

6895 Commits

Author SHA1 Message Date
Xilmi
b83a214763 Merge remote-tracking branch 'upstream/develop' into develop 2024-07-24 14:59:24 +02:00
Andrii Danylchenko
dbcd7677ac
Merge pull request #4313 from vcmi/nkai-whirlpool
NKAI: whirlpool
2024-07-24 00:03:11 +03:00
Xilmi
69efe9cfda Merge remote-tracking branch 'upstream/develop' into develop 2024-07-22 20:15:40 +02:00
Ivan Savenko
37cf788079
Merge pull request #4317 from IvanSavenko/split_townhandler
Split CTownHandler into smaller chunks
2024-07-22 17:42:48 +03:00
Ivan Savenko
e8aa6efbb9
Merge pull request #4261 from kaja47/shrinkage
Reduce size of Bonus struct from 320 bytes to 296 bytes.
2024-07-22 17:12:08 +03:00
K
c1e6bbddfe Reduce size of Bonus struct from 320 bytes to 296 bytes.
- Internal enums were resized to occupy single byte.
- Duration bitmask uses 16 bit integer directly instead of std::bitset<11> which consumed 8 bytes.
- Fields shuffled to minimise padding and keep the most useful data on first 2 cache lines.
2024-07-22 14:59:31 +02:00
Ivan Savenko
4aa73b40c9 Split CTownHandler into smaller chunks 2024-07-21 18:21:48 +00:00
Xilmi
6f9309696d Merge remote-tracking branch 'upstream/develop' into develop 2024-07-21 19:06:14 +02:00
Andrii Danylchenko
683c363946 NKAI: whirlpool 2024-07-21 17:20:54 +03:00
Ivan Savenko
550540f8ab
Merge pull request #4316 from IvanSavenko/crashfixes
Crashfixes
2024-07-21 16:15:28 +03:00
Ivan Savenko
31738e8f90 Always track already serialized pointers to avoid infinite recursion on
sending complex objects
2024-07-20 18:29:41 +00:00
Ivan Savenko
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
Xilmi
fa2f883361 Merge remote-tracking branch 'upstream/develop' into develop 2024-07-19 15:26:31 +02:00
Xilmi
37c0972a50 New and restored functionality
Added a new div-function to resource-sets. It allows to calculate the amount of times one resource set, for example income, has to be accumulated in order to reach another resource-set, for example required resource. It will return INT_MAX if it's impossible.

Restored the "<" operator-function and made it actually work like it's supposed to.
2024-07-19 15:16:05 +02:00
Ivan Savenko
2d3734656d Fix test 2024-07-19 12:17:06 +00:00
Ivan Savenko
2020d96070
Merge pull request #4071 from IvanSavenko/fix_rng_syncronization
[1.6] Fix potential desync if client uses different stdlib with different random number generators
2024-07-19 13:08:09 +03:00
Ivan Savenko
d02251f6a8
Merge pull request #4263 from Alexander-Wilms/json-error
JsonParser::parse(): Print file name if there were errors while parsing
2024-07-18 21:28:44 +03:00
Ivan Savenko
d55c4e3973
Merge pull request #4275 from IvanSavenko/music_modding
Additional options for music modding
2024-07-18 21:28:04 +03:00
Ivan Savenko
662254155a Merge branch 'vcmi/master' into 'vcmi/develop' 2024-07-17 13:57:36 +00:00
Alexander Wilms
b605dea6db JsonNode::JsonNode(): Also use reference for fileName argument in method definition 2024-07-17 14:37:58 +02:00
Alexander Wilms
c484244ba0
JsonNode::JsonNode(): Use reference for fileName argument
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-07-17 14:01:13 +02:00
Alexander Wilms
434371195d JsonNode constructors: Take fileName as argument
* Don't print JSON in JsonParser::parse() in case of errors
2024-07-17 13:50:59 +02:00
Alexander Wilms
1ca8e9b3ae JsonParser::parse(): Print JSON if there were errors while parsing
In cases where the file name was not specified, the warning messages were not very useful.

Example:

```json
File <unknown> is not a valid JSON file!
At line 33, position 1 warning: Comma expected!

{
        "name" : "New Old Heroes",
        "description" : "New heroes based on old 3DO artwork and other game appearances. Requires Horn of the Abyss.",
        "modType" : "Heroes",
        "version" : "1.2.0",
        "author" : "Aphra",
        "contact" : "",

        "heroes" :
        [
                "config/gwenneth.json",
                "config/balindar.json",
                "config/nicolas.json",
                "config/kastore.json",
                "config/kydoimos.json",
                "config/athe.json",
                "config/miseria.json",
                "config/areshrak.json",
                "config/pactal.json",
                "config/zog.json"
        ],

        "changelog" :
    {
        "1.0.0"   : ["Initial release"],
        "1.1.0"   : ["Added Nicolas Gryphonheart and Kastore"],
        "1.1.1"   : ["Bug fixes"],
        "1.2.0"   : ["Added some HotA portrait-only campaign heroes"]
    },

        "depends" :
                [ "hota.neutralCreatures" ]
        "keepDisabled" : true
}
```
2024-07-17 13:17:43 +02:00
Ivan Savenko
1072356002
Merge pull request #4268 from IvanSavenko/pathnode_reduce
Reduce size of CGPathNode and AIPathNode
2024-07-17 13:08:05 +03:00
Ivan Savenko
34b6eaa25e Integrating changes from PR #4251 - add logging for rng 2024-07-16 15:31:58 +00:00
Xilmi
b0f37748d6 Merge remote-tracking branch 'upstream/develop' into develop 2024-07-16 15:47:59 +02:00
Andrii Danylchenko
d243a2fc12
Merge pull request #4259 from vcmi/fix-4203
BattleAI: fix moving to unreachable in case of back-to-back 2-hex
2024-07-16 16:41:50 +03:00
Ivan Savenko
1c63fefe02 Moved banks randomization to server-side with client netpack 2024-07-16 13:13:39 +00:00
Ivan Savenko
b07408e984 New objects are now created and initialized on server and sent to client 2024-07-16 13:13:39 +00:00
Ivan Savenko
d2839c8e52 Rewardable object randomization is now always server-sided 2024-07-16 13:13:39 +00:00
Ivan Savenko
388d65d6b2 Fix merge 2024-07-16 13:13:39 +00:00
Ivan Savenko
c4b8778e8b Remove unused code 2024-07-16 13:13:39 +00:00
Ivan Savenko
5178e4842e Moved generation of new rumors to server 2024-07-16 13:13:39 +00:00
Ivan Savenko
55bf75c43e Remove no longer used random seeds from StartInfo 2024-07-16 13:13:39 +00:00
Ivan Savenko
0d66ddbeec GameState now uses random generator from server. Blocked access to rmg
on client
2024-07-16 13:13:38 +00:00
Ivan Savenko
63bcf7d83c Replaced most of usages of CRandomGenerator with vstd::RNG in library 2024-07-16 13:13:07 +00:00
Ivan Savenko
60a51e98de Remove usage of std::function from CRandomGenerator 2024-07-16 13:13:07 +00:00
Ivan Savenko
30569a112c Fix crash on attempt to transfer component of a combined artifact 2024-07-16 13:08:15 +00:00
Ivan Savenko
ad9750ed3e
Merge pull request #4186 from SoundSSGood/end-of-battle-artifacts-transfer
End of battle artifacts transfer
2024-07-16 12:45:13 +03:00
Ivan Savenko
696cce7f7f
Merge pull request #4253 from smanolloff/random-port
Bind VCMI server to a random TCP port
2024-07-16 12:25:29 +03:00
Ivan Savenko
fd04320815
Merge pull request #4267 from IvanSavenko/sonar_fix
Fixed new issues detected by SonarCloud
2024-07-16 12:23:08 +03:00
Ivan Savenko
8e8d640923
Merge pull request #4276 from Alexander-Wilms/jsonparser-err-newline
JsonParser::error(): Don't add trailing newline
2024-07-16 12:21:23 +03:00
Ivan Savenko
3134d8383c
Merge pull request #4207 from Laserlicht/map_format_additional
[1.6] Map format additional infos
2024-07-16 12:15:58 +03:00
Alexander Wilms
f22a3d6168
JsonParser::error(): Use empty()
Co-authored-by: Andrey Filipenkov <kambaladecapitator@gmail.com>
2024-07-16 10:30:00 +02:00
Alexander Wilms
466318b77b JsonParser::error(): Don't add trailing newline 2024-07-15 23:58:56 +02:00
Ivan Savenko
d59744f26f It is now possible to define multiple music themes for terrains 2024-07-15 21:46:41 +00:00
Ivan Savenko
9c5d5d7c5a It is now possible to define custom battle opening sound and custom music
for a battlefield
2024-07-15 21:46:23 +00:00
Ivan Savenko
358008fca9 It is now possible to define multiple town themes 2024-07-15 21:45:51 +00:00
Xilmi
fbe1e171fe Merge remote-tracking branch 'upstream/develop' into develop 2024-07-15 18:36:19 +02:00
Xilmi
f8f10adb2e Take magic-capability into account for overall strength-estimation of hero-lead-armies
The magic-strength of a hero now checks if the hero has a spellbook and at least one combat-spell.
The impact of knowledge and spellpower to the hero's magic-strength is now also depending on it's current and max mana-pool-size as an empty mana-pool does not exactly contribute well to fights.

Replaced every call of getFightingStrength() with getHeroStrength() which uses both the fightingStrength and the (reworked) magicStrength to guess how much stronger a hero-lead army is.
2024-07-15 17:42:02 +02:00