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

5540 Commits

Author SHA1 Message Date
Ivan Savenko
1cb0c6b270
Merge pull request #1848 from Nordsoft91/editor-fix
Fix map editor crash with cutting random town
2023-04-02 20:09:24 +03:00
Ivan Savenko
a3074e2741
Merge pull request #1835 from rilian-la-te/fix-native-type
CCreatureHandler: fix native terrain for any
2023-04-02 20:08:18 +03:00
nordsoft
91ef7cbb4f Fix ScopeGuard move behavior 2023-04-02 15:46:56 +04:00
nordsoft
d63e32841d Fix divide by zero crash 2023-04-02 15:28:41 +04:00
nordsoft
1e5362cb07 Fix crash with cutting random town 2023-04-02 14:06:16 +04:00
Konstantin
cabe228ebc CCreatureHandler: fix native terrain for any 2023-04-02 02:32:40 +03:00
Konstantin
ff3e761f3b CTownHandler: remove hardcoded Cove grail
We have now exactly same definition in Json
2023-04-02 00:27:29 +03:00
Ivan Savenko
4d6b88f10d
Merge pull request #1821 from rilian-la-te/remove-cove-hardcode
CTownHandler: remove hardcoded Cove grail
2023-04-02 00:20:49 +03:00
Ivan Savenko
042e46580b Fix uninitialized variable 2023-04-01 23:59:31 +03:00
Tomasz Zieliński
aca227b5e4 Manually adjust the position of town - noticeable on S maps. 2023-04-01 17:07:43 +02:00
Konstantin
3df5964847 CTownHandler: remove hardcoded Cove grail
We have now exactly same definition in Json
2023-04-01 03:14:35 +03:00
Ivan Savenko
a64f35c933
Merge pull request #1765 from vcmi/fix_horde_buildings_load
Fix loading horde buildings predefined in editor
2023-03-31 17:59:26 +03:00
Tomasz Zieliński
308b42549b Merge remote-tracking branch 'origin/beta' into object_distribution 2023-03-31 15:44:14 +02:00
Konstantin
6d17b9342d ResourceSet: resolve .at troubles 2023-03-31 14:12:38 +03:00
Konstantin
c1fd7309ad ResourceSet: composition 2023-03-31 14:00:49 +03:00
Ivan Savenko
ea1d177c9b Fixed false error messages on game startup 2023-03-31 01:28:56 +03:00
Konstantin
d8a237ba46 vcmi: add getTrigger method to obstacles
Fixes advanced remove obstacle spell
2023-03-31 01:01:26 +03:00
Konstantin
25956e3f37 vcmi: bump serializer version 2023-03-31 01:01:25 +03:00
Konstantin
ecae600563 effects: Moat now includes battlefield bonus
This is an implementation which works exactly like in H3
2023-03-31 01:01:25 +03:00
Konstantin
f704a17e1a vcmi: add a last hex setting
I consider this behaviour as H3 bug, but this is H3.
So, added a setting to disable this behaviour.
2023-03-31 01:01:25 +03:00
Konstantin
179cee3e88 vcmi: add obstacle animation helper functions 2023-03-31 01:01:25 +03:00
Konstantin
eff41f66ed vcmi: now obstacles can have disappearing anim
It is a reverse version of appearingAnimation.
2023-03-31 01:01:25 +03:00
Konstantin
c4d5a7a2d6 vcmi:towns now can choose if moat render is needed
Using invalid points. Also removed unused variable.
2023-03-31 01:01:25 +03:00
Konstantin
3bbff0588d CSpell: !isMagical() -> no sorcery and no generic spell dmg reduction
Other bonus are still applied.
2023-03-31 01:01:25 +03:00
Konstantin
a639bd2606 spells: rework isMagical()
Now it is a flag of a spell, and not a target condition.
This fixes resistance to bind effect
2023-03-31 01:01:25 +03:00
Konstantin
aab5b47038 vcmi: setup moats using MoatAbility
Setup moats using moat ability, need playtest for now.
-3 to defence not added for now.
2023-03-31 01:01:25 +03:00
Konstantin
1100bc7a5b obstacle: remove trigger animation and sound
It was not working anyway. Now it is handled by trigger ability.
Trigger ability hit animation + trigger ability cast sound.
2023-03-31 01:01:25 +03:00
Ivan Savenko
508d68f77c Rewardables will use per-object name, if available 2023-03-30 22:29:58 +03:00
Ivan Savenko
e652b3eef0 Removed old code - VCMI now supports json-based animations everywhere 2023-03-30 19:59:19 +03:00
Konstantin
cd1730b1fb vcmi: remove obstacle caster logic
It is possible now to cast something via obstacle
Immune creatures should not trigger an obstacle trigger now
and should not reveal it.
2023-03-30 14:41:40 +03:00
Konstantin
db428faeeb vcmi: allow obstacles to store another spells
It will be used as trigger spell, if set
If not set, it will be ignored
2023-03-30 14:41:40 +03:00
Konstantin
57c35f39ca WIP: Moat placer 2023-03-30 14:41:40 +03:00
Konstantin
d90d00eeac vcmi: rework ProxyCaster
Now ProxyCaster can be used without hero and can even cast something
with default values.
2023-03-30 14:41:40 +03:00
Konstantin
847437bbfa BattleInfo: update bonus tree when unit is moved
This is a semi-dirty hack to force uncaching a bonuses with
UnitOnHexLimiter
2023-03-30 12:51:59 +03:00
Konstantin
4c08e6a0f9 vcmi: add UnitOnHex limiter
Bonus will be accepted, if unit stands in listed hexes
2023-03-30 12:51:59 +03:00
Konstantin
ffe24627e7 HeroBonus: change limiters to enum class
Also remove unused functions.
2023-03-30 12:42:24 +03:00
Konstantin
777818b388 HeroBonus: use 64 bit for tree counter (to be more robust) 2023-03-30 12:41:17 +03:00
Konstantin
0e69aac96f HeroBonus: removed unused functions 2023-03-30 12:41:17 +03:00
Konstantin
89fd742c1a NetPacks: add BATTLE type to GiveBonus
Will work as battlefield effect of current battle.
2023-03-30 12:41:17 +03:00
Konstantin
5716925b47 NetPacks: change GiveBonus enum to enum class. 2023-03-30 12:41:17 +03:00
Tomasz Zieliński
46a24043e8 Add back Mines. 2023-03-29 17:06:17 +02:00
Tomasz Zieliński
401f2342c0 Place Mines after Towns and Monoliths. 2023-03-29 16:54:22 +02:00
Tomasz Zieliński
5ed3c2d518 Place towns and monoliths first - preferably at the zone border. 2023-03-29 16:25:13 +02:00
Tomasz Zieliński
045942fd68 Fixed warning-as-error 2023-03-28 18:25:56 +02:00
Tomasz Zieliński
b184e80b72 Use the most suitable template for object 2023-03-28 17:53:08 +02:00
Tomasz Zieliński
49c029ea6c Minor refactor 2023-03-28 17:13:24 +02:00
Ivan Savenko
8d0d5341db Refactoring of hero specialty loading code:
- removed no longer used code
- follow creature upgrade chains (e.g. third upgrades)
2023-03-28 17:09:54 +03:00
Ivan Savenko
39ff7efb78 Fix crash on starting Launcher without H3 data 2023-03-27 22:33:36 +03:00
Ivan Savenko
b2f5042942
Merge pull request #1783 from vcmi/beta
Merge beta -> develop
2023-03-27 21:21:25 +03:00
Ivan Savenko
a4fe11d413
Merge pull request #1766 from vcmi/fix_editor_shortcut
Fix editor shortcut
2023-03-27 21:20:14 +03:00
Ivan Savenko
11088100a0
Merge pull request #1782 from korli/haiku
Haiku patch
2023-03-27 18:42:22 +03:00
Tomasz Zieliński
b3a457c71a Skip objects with value too low to be placed in the zone. 2023-03-27 17:29:46 +02:00
Ivan Savenko
b875da108b
Merge pull request #1717 from SoundSSGood/backpack-limit-size
Introducing backpack size limit functionality
2023-03-27 17:17:49 +03:00
Ivan Savenko
e3b5db0ade
Merge pull request #1778 from rilian-la-te/fix-obstacle-removal-mechanincs
Fix landmines staying on battlefield after trigger
2023-03-27 17:17:14 +03:00
Konstantin
9a229d6e48 vcmi: really correct obstacle trigger
Now obstacle trigger really matches H3
2023-03-27 16:11:17 +03:00
Konstantin
8c1d6c8e13 CBattleInfoCallback: use obstacle only once
We should not affect creature by obstacle twice.
2023-03-27 15:45:41 +03:00
Konstantin
88a7b3141d vcmi: really correct BFS
AFAIK, all is working as H3.
2023-03-27 15:45:41 +03:00
Jerome Duval
518f8d69e5 Haiku patch 2023-03-27 10:10:09 +02:00
Tomasz Zieliński
511a42f9b9 Oops missed that part. 2023-03-27 09:35:52 +02:00
Tomasz Zieliński
18a87d1ec0 Distribute limited objects evenly in zones with matching terrain 2023-03-27 09:09:58 +02:00
Tomasz Zieliński
a88e1dc1f6 Add only one template per object 2023-03-27 08:44:49 +02:00
Konstantin
5b50191af7 NetPacksLib: remove obstacle ACTIVATE* actions
Actually these actions was not working anyway.
2023-03-26 22:59:34 +03:00
Konstantin
26db14b7b4 vcmi: expert dispel now works mechanically correct 2023-03-26 21:25:26 +03:00
Konstantin
edc9812559 obstacle: correct logic as in OH3
Obstacle spells should not be cast if they are affected by native
terrain and enemy have at least one stack with native terrain
2023-03-26 21:22:38 +03:00
Konstantin
705afbb898 UnitEffect: it should not always assume smart
It is normal than non-smart spell will be cast on our units.
2023-03-26 21:19:49 +03:00
Konstantin
44a625aa6b vcmi: check spell obstacles by type 2023-03-26 21:17:39 +03:00
Andrii Danylchenko
a0de223901
Merge pull request #1772 from vcmi/fix_invalid_native_terrain
Fix the case of invalid native town type
2023-03-26 13:19:01 +03:00
Ivan Savenko
9287d1b837
Merge pull request #1776 from vcmi/beta
Merge beta -> develop
2023-03-26 01:48:23 +02:00
Ivan Savenko
7477e4a8cc Handle mods with "keepDisabled" propertly on client 2023-03-25 23:54:51 +02:00
Ivan Savenko
4eed0b2c9e Added workaround for Dungeon towers 2023-03-25 23:54:51 +02:00
Ivan Savenko
8fbeff2a02 Fix movement over lowered drawbridge in Fortress 2023-03-25 23:54:51 +02:00
Ivan Savenko
5288e3761e
Merge pull request #1764 from IvanSavenko/selectable_spellcaster
Implemented support for multi-spell casters
2023-03-25 20:08:47 +02:00
Ivan Savenko
6f631a0aa7
Merge pull request #1759 from IvanSavenko/kills_in_tooltip
Show potential kill amount in attack tooltip
2023-03-25 20:03:27 +02:00
Tomasz Zieliński
00a77e3c5f Probably found the root cause of terrain problems. 2023-03-25 18:52:18 +01:00
DjWarmonger
2c4cde060a
Merge pull request #1694 from vcmi/extra_rmg_monoliths
This could be controversial solution, but since there were no objections, I'll give it a shot.
2023-03-25 18:38:06 +01:00
DjWarmonger
114e7d196b
Merge pull request #1698 from vcmi/object_placement_tweaks
No objections, works fine for me as well.
2023-03-25 18:13:15 +01:00
Tomasz Zieliński
68a2bb78a5 Fix the case of invalid native town type :? 2023-03-25 18:08:46 +01:00
Tomasz Zieliński
9d7d4b6a5f Fixed editor shortcut on Windows 2023-03-25 11:40:44 +01:00
Tomasz Zieliński
392061e97e Fix loading towns which in OH3 editor have defined horde buildings level 1 - 5 (inluding random town). 2023-03-25 11:17:49 +01:00
Ivan Savenko
9a19feaf4a Fix spellcasters with massive spells 2023-03-25 01:23:49 +02:00
Ivan Savenko
dc099b2a35 Implemented support for multi-spell casters 2023-03-25 00:48:14 +02:00
Ivan Savenko
970981cfc9 Show information on potential kills in attack tooltip 2023-03-24 17:18:47 +02:00
Ivan Savenko
31147ac83b refactoring: TDmgRange pair -> DamageRange struct 2023-03-23 17:49:33 +02:00
Konstantin
e40b9c849d vcmi: no open-code NO_APPROPRIATE_TARGET 2023-03-22 12:04:28 +03:00
SoundSSGood
19096f39f0 Backpack limit. Amount of fixes. 2023-03-21 22:11:42 +02:00
Konstantin
0ffc440b53 vcmi: fix target condition regression 2023-03-21 19:19:34 +03:00
Ivan Savenko
44dc89bdcf
Merge pull request #1736 from rilian-la-te/fix-target-conditions
vcmi: fix target condition regression
2023-03-21 17:35:20 +02:00
Konstantin
60b510617c vcmi: fix target condition regression 2023-03-21 17:56:15 +03:00
Ivan Savenko
575fb29a22
Merge pull request #1534 from kambala-decapitator/pathfinder-fly
fix movement cost with Fly
2023-03-21 14:32:56 +02:00
SoundSSGood
f0f9eecf97 Backpack limit part5. End of battle. Other stuff 2023-03-21 12:14:33 +02:00
SoundSSGood
9f8aa25297 Backpack limit part4 (Using cheats, buying) 2023-03-21 12:14:33 +02:00
SoundSSGood
ca5c9910a4 Backpack limit part3 finishQuest 2023-03-21 12:14:33 +02:00
SoundSSGood
e23766280f Backpack limit part2 (Pick up, Dig up, Object rewards) 2023-03-21 12:14:33 +02:00
SoundSSGood
96e8a1f21c Backpack limit part1 (move, disassemble) 2023-03-21 12:14:33 +02:00
SoundSSGood
37edffd788 GameConstants upd 2023-03-21 12:14:33 +02:00
SoundSSGood
72122fb433 CArtifact, CArtifactInstance, CCombinedArtifactInstance reorganization 2023-03-21 12:14:33 +02:00
Ivan Savenko
6ee4fd24f7
Merge pull request #1731 from rilian-la-te/fix-unicorns
CStack: make unicorns ability multiplicative
2023-03-20 23:34:05 +02:00
Konstantin
8c10f48fbd CStack: make unicorns ability multiplicative 2023-03-20 23:29:33 +03:00
Ivan Savenko
9289646dab
Merge pull request #1722 from rilian-la-te/fix-first-aid
vcmi: fix first aid regression
2023-03-20 21:49:53 +02:00
Andrey Filipenkov
147633bd9d compute movement cost using PathNodeInfo layer info when possible 2023-03-20 11:35:20 +03:00
Andrey Filipenkov
a0cd69e944 Slight refactoring of CGHeroInstance::movementPointsAfterEmbark() 2023-03-20 11:35:20 +03:00
Andrey Filipenkov
3602645a30 improve iterating over EPathfindingLayer 2023-03-20 11:35:19 +03:00
Andrey Filipenkov
c0c19557af fix method documentation 2023-03-20 11:35:19 +03:00
Andrey Filipenkov
8f843d0bff fix typos 2023-03-20 11:35:19 +03:00
Andrey Filipenkov
68f5c1de79 improve variable names in CPathfinderHelper::getNeighbours() 2023-03-20 11:35:19 +03:00
Andrey Filipenkov
bfb0dc26d5 fix movement cost on roads 2023-03-20 11:35:19 +03:00
Andrey Filipenkov
0c7b5ac793 fix movement cost on Favorable Winds 2023-03-20 11:35:19 +03:00
Andrey Filipenkov
3fbdc3b198 improve code that checks last possible tile 2023-03-20 11:35:18 +03:00
Andrii Danylchenko
23fa7c4a9b
Merge pull request #1720 from vcmi/fix_small_lakes_clean
Don't place shipyard or boats at very small lakes
2023-03-19 19:52:22 +02:00
Andrii Danylchenko
aede3da74e
Merge pull request #1721 from vcmi/fix_rmg_infinite_loop
Fix rmg infinite loop
2023-03-19 19:46:28 +02:00
Konstantin
895572df02 vcmi: fix first aid regression 2023-03-19 19:20:08 +03:00
DjWarmonger
15047a4469
Merge pull request #1718 from vcmi/fix_shipyard_border
Fix shipyard border calculation for RMG
2023-03-19 16:05:24 +01:00
Tomasz Zieliński
9e206dbbc7 Forgot this one 2023-03-19 09:51:37 +01:00
Tomasz Zieliński
f52c465322 Allow zones to inherit properties recursively, in any order. 2023-03-19 09:27:05 +01:00
Andrey Filipenkov
21463f1c0e fix movement cost with Fly 2023-03-19 11:26:55 +03:00
Andrey Filipenkov
43e89523a9
Merge pull request #1716 from rilian-la-te/tw-fix
TotalValue: fix typo
2023-03-19 11:25:48 +03:00
Tomasz Zieliński
dd3803b111 Don't place shipyard or boats at very small lakes
(cherry picked from commit 1d2913bea0)
2023-03-18 22:05:25 +01:00
Tomasz Zieliński
e1ced317a1 Few tweaks for boat placement to keep distance between it and other objects, especially guards. 2023-03-18 21:59:23 +01:00
Tomasz Zieliński
1dc96d6844 Fix shipyard border calculation for RMG 2023-03-18 20:12:36 +01:00
Konstantin
54b1b49f5a totalValue: fix overflow
Fixes #1715
2023-03-18 22:08:21 +03:00
Tomasz Zieliński
23a5a32756 Add fallback for empty terrain types. Still it's a workaround and does not solve the root cause. 2023-03-18 17:00:50 +01:00
Konstantin
b07f4fb383 TotalValue: fix typo 2023-03-18 15:45:32 +03:00
Tomasz Zieliński
eabcbfc25a Fix all stacks being capped at 10 units 2023-03-17 22:32:05 +01:00
Tomasz Zieliński
f57c275603 Merge remote-tracking branch 'origin/develop' into object_placement_tweaks 2023-03-17 21:47:16 +01:00
Ivan Savenko
f24ca6fbcf
Merge pull request #1699 from rilian-la-te/fix-ignissa
Rewardable: always initialize numbers
2023-03-17 22:15:28 +02:00
Ivan Savenko
95d56d3f2a
Merge pull request #1705 from rilian-la-te/convert-scouting
HeroBonus: add scouting to converter
2023-03-17 22:14:54 +02:00
Konstantin
6de042657c fix Ignissa bug the old way 2023-03-17 20:09:18 +03:00
Konstantin
b4fe7908a4 HeroBonus: add scouting to converter 2023-03-17 18:50:57 +03:00
Konstantin
bbbbfe00f0 Modernize resourceSet 2023-03-17 02:26:54 +03:00
Ivan Savenko
8a6c51a9e6 Fix uninitialized pointer dereference 2023-03-16 20:48:37 +02:00
Tomasz Zieliński
f2dc9cb48e - Place Subterranean Gates as far from other objects as possible
- Added minimum distance between zone guards
2023-03-16 18:42:28 +01:00
Ivan Savenko
fbb9810c49 Fix regression - uninitialized pointer 2023-03-16 19:25:26 +02:00
Ivan Savenko
aea2a1e22e Fixed loading of settings from mods 2023-03-16 18:11:36 +02:00
Ivan Savenko
a0e9e01b48 Renamed & reorganized all game mechanics settings names 2023-03-16 18:11:35 +02:00
Ivan Savenko
383387ef29 Integrated defaultMods into mod system 2023-03-16 17:55:09 +02:00
Tomasz Zieliński
62490683ce Place objects away from zone guard in both zones, not only the where it is placed. 2023-03-16 16:20:11 +01:00
Konstantin
4c4498b22a vcmi: modernize rest of lib 2023-03-16 17:55:20 +03:00
Konstantin
7f805768f0 battle: fixup siege crash 2023-03-16 16:47:06 +03:00
Konstantin
4eb248b5e2 vcmi: bump serialization version
Saves from this branch are incompatible with generic ones
2023-03-16 16:47:05 +03:00
Konstantin
580268bfd4 vcmi: fix logistics specialist movement regression
There was incorrect calculations introduced earlier.
2023-03-16 16:46:42 +03:00
Konstantin
0adffc824f vcmi: allow to configure army movement counter
It is not hardcoded now. MOVEMENT.TXT is still not read,
but ARMY_MOVEMENT updater parameters can be specified in json.
There is a 4 parameters:
1. Base - base value (firstly lowest speed is multiplied by it)
2. Divider - base value is integrally divided by it
3. Multiplier - result value will be multiplied by it
4. Max - maximum allowed movement from army.

Vanilla values is in defaultMods.json

Fixes: https://bugs.vcmi.eu/view.php?id=3209
2023-03-16 16:46:42 +03:00
Konstantin
b91d7418dd vcmi: remove ONLY_ENEMY_ARMY range
It should be used directly instead of alias, propagation updater
also can be useful for any other updaters can be added.
2023-03-16 16:46:42 +03:00
Konstantin
ff5f828031 vcmi: remove SELF_LUCK bonus
This bonus also now handled by LUCK bonus with INDEPENDENT_MAX of 1
2023-03-16 16:46:42 +03:00
Konstantin
c7e197e1ff vcmi: remove SELF_MORALE bonus
It is easily handled by MORALE bonus with INDEPENDENT_MAX

Harmless due to converter.
2023-03-16 16:46:42 +03:00
Konstantin
ebbc8cf208 vcmi: remove BLOCK_LUCK bonus
To block a luck, just set both INDEPENDENT_MAX and INDEPENDENT_MIN
to 0 of LUCK bonus
2023-03-16 16:46:42 +03:00
Konstantin
c07e74250b vcmi: remove BLOCKS_MORALE bonus
To block morale, just set INDEPENDENT_MAX and INDEPENDENT_MIN
to 0, there is no need for separate bonus.
2023-03-16 16:46:42 +03:00
Konstantin
1e7875cb36 vcmi: selector-based target conditions
For now, allows us to define target conditions by selector and even
by minimal and maximal value of bonuses. Convert Bonus condition
to Selector condition.
Allow structures inside TargetCondition struct.
2023-03-16 16:46:42 +03:00
Konstantin
0540e1531d vcmi: allows parsing selectors from JSON
Supports anyOf, allOf, noneOf,
and all selectors from Selector namespace.
Can be useful to define selectors in JSON when required
2023-03-16 16:46:42 +03:00
Konstantin
f13a934c47 vcmi: allow converting bonusParams to selector 2023-03-16 16:46:42 +03:00
Konstantin
eaceb65b5c vcmi: fix CSkillHandler crash 2023-03-16 16:46:42 +03:00
Konstantin
930955f268 vcmi: deprecated bonus converter
It converts almost all sorts of deprecated bonuses from mods
when loading json. It can print to console correct new variant
or bonus.

Also removed a bunch of deprecated bonuses from list.
It will break saves!!!
2023-03-16 16:46:41 +03:00
Konstantin
95503d0623 vcmi: unify movement
1. Now there is only one bonus: MOVEMENT, with 2 subtypes: 0 is sea, 1 is land
   For movement value on land depends on creature speed we use a new
   ARMY_MOVEMENT updater with global bonus. If we does not like such
   dependency, we can just remove this updater from json.
2. All specialities and secondary skills for movement moved to new
   system AFAIK
2023-03-16 16:46:41 +03:00
Konstantin
20a9332a3f vcmi: translate wisdom
Make wisdom as separate bonus. It will be enough for now. But
next is should be done as IsLearnable for each spell.
2023-03-16 16:46:41 +03:00
Konstantin
ddcff9dc36 vcmi: convert magic schools to MAGIC_SCHOOL_SKILL
It is already used by battlefields.
2023-03-16 16:46:41 +03:00
Konstantin
64ad7558c6 vcmi: skill-agnostic artillery
Now it should work for any creature and with any damage percentage.
2023-03-16 16:46:41 +03:00
Konstantin
9205ef2c91 vcmi: skill-agnostic ballistics
Made ballistics by using spell action and more code is shared now.
2023-03-16 16:46:41 +03:00
Konstantin
84f53485e2 vcmi: skill-agnostic first aid
Now first aid is passive battle spell, and skill just bumps
specific spell power for this spell. Everything about healing
is handled into Heal spell effect.
2023-03-16 16:46:41 +03:00
Konstantin
a0987313ba vcmi: convert intelligence
Intelligence is converted to both global effect and skill bonus

Bonus name HERO_MANA_PER_TEN_KNOWLEDGE is a little weird, but works
like old SECONDARY_SKILL_PREMY bonus
2023-03-16 16:46:41 +03:00
Konstantin
a86e12cd42 vcmi: convert necromancy
Now it is 3 bonuses to cover necromancy.
1. IMPROVED_NECROMANCY = possible creatures raized (affected by cloak)
2. UNDEAD_RAISE_CHANCE = raise chance (affected by artifacts)
3. UNDEAD_RAISE_POWER = helper to select creature from first
2023-03-16 16:46:41 +03:00
Konstantin
84eece1d8b vcmi: convert mysticism to MANA_REGENERATION
With PERCENT_TO_TARGET_TYPE it was easy.
2023-03-16 16:46:41 +03:00
Konstantin
f641ed2015 vcmi: convert learning to global effect
Now hero experience is a global effect, and secondary
skill gives exactly same bonus. Can be modified by
PERCENT_TO_TARGET_TYPE.
2023-03-16 16:46:41 +03:00
Konstantin
a85f3b63ec vcmi: reuse SPELL_DAMAGE for sorcery
Now there is no need for specific spell bonus, and
we need to simply reuse SPELL_DAMAGE, and by using
PERCENT_TO_TARGET_TYPE speciality will work.
2023-03-16 16:46:41 +03:00
Konstantin
6b987275eb vcmi: use global bonuses for sight radius and mana
We do not need to hardcode constants for there. We can just
use default bonuses.
2023-03-16 16:46:41 +03:00
Konstantin
5d4bcb3c78 vcmi: fix scouting bonus spelling error
With fallback for old mods.
2023-03-16 16:46:41 +03:00
Konstantin
f264c541fb vcmi: skill-agnostic tactics
Tactics is split to 2 bonuses, and it is now possible to
block tactics without having tactics itself. But tactics
for two sides is not implemented, because it is huge rework
and not high priority for me now, I want to do basic
secondary skill rework first.
2023-03-16 16:46:41 +03:00
Konstantin
300a8a15ba vcmi: remove estates bonus
Now it is handled by GENERATE_RESOURCE::GOLD.
2023-03-16 16:46:41 +03:00
Konstantin
c64d05c419 vcmi: skill-agnostic diplomacy
This is simple and will work.
2023-03-16 16:46:41 +03:00
Konstantin
34a26580a7 vcmi: skill-agnostic resistance
Uses exiting bonus and new PERCENT_TO_TARGET_TYPE value type
2023-03-16 16:46:41 +03:00
Konstantin
6e4372176a vcmi: skill-agnostic pathfinding
For now, works exactly as in VCMI and H3.
I think we should add some BONUS_TERRAIN_DISCOUNT_PERCENT bonus
to discount by percent, like written in pathfinding description
2023-03-16 16:46:41 +03:00
Konstantin
9ffd18c914 vcmi: skill-agnostic armorer
This is a skill-agnostic armorer, which can be used same as
armorer before.
2023-03-16 16:46:41 +03:00
Konstantin
43f09dd2e4 vcmi: convert scholar to new bonus
Convert scholar to new skill-agnostic bonus. Now works only for any
school (not from specific). In all schools form identical to
past's SECONDARY_SKILL_PREMY::SCHOLAR
2023-03-16 16:46:41 +03:00
Konstantin
0ed89e77d4 vcmi: replace archery and offence to new bonus
Add PERCENTAGE_DAMAGE_BOOST bonus, which will work exactly as old
archery or offence. Subtype is actually boolean which select
ranged (1) and melee (0)
2023-03-16 16:46:41 +03:00
Konstantin
4a89418ada vcmi: replace SecondarySkillPremy:EAGLE_EYE
Replace this bonus to new ArcaneIntuition bonus, which
will work independently from the rest of skill bonuses.
Proof of concept for other skills.
2023-03-16 16:46:41 +03:00
Konstantin
a0a78d0596 vcmi: remove MAXED_SPELL
Replace it by SPELL bonus with val = 3
2023-03-16 16:46:41 +03:00
Konstantin
496c1def12 vcmi: remove FULL_HP_REGENERATION bonus
Just set HP_REGENERATION to high number
(in OH3 doubled stack health is sufficient)
2023-03-16 16:46:41 +03:00
Konstantin
62e579f672 vcmi: replace KINGx bonuses to one KING bonus
val = level of slayer which require to affect.
Can break saves.
2023-03-16 16:46:41 +03:00
Konstantin
1e73c2e1e6 vcmi: configurable charge
There is no reason not to make charge configurable.
Just do it.
2023-03-16 16:46:41 +03:00
Konstantin
f26fac5562 vcmi: move obligatory marker to CSkillHandler
It is working, now it is possible to
define other obligatory skills than wisdom or magic schools,
but only 2 types of obligatory skills exists - like wisdom and
like magic school
2023-03-16 16:46:41 +03:00
Konstantin
4acf3778ef vcmi: allow adding global bonuses
I will use it to implement some H3 base features like
mana regen and base movement.
2023-03-16 16:46:41 +03:00
Konstantin
9280d70819 vcmi: remove deprecated "specalties" node
Use new bonus system format
2023-03-16 16:46:41 +03:00
Konstantin
d9496dd9f7 vcmi: remove vector speciality format
It is deprecated and will not be used anymore.
2023-03-16 16:46:41 +03:00
Konstantin
96c40eb36e vcmi: remove SPECIAL_BLESS_DAMAGE bonus
It is handled by HAS_ANOTHER_BONUS_LIMITER with SPELL_EFFECT limiter
with desired spell id (bless). Yes, bonus will come from HERO_SPECIAL,
but will work only for blessed with spell id creatures.
2023-03-16 16:46:41 +03:00
Konstantin
a943d2cb12 vcmi: add sourceType to HasAnotherBonusLimiter
Now we can filter bonuses by sourceType, hence,
checking, for example, specific secondary skills.

Also fix archery artifacts working without Archery skill.
2023-03-16 16:46:41 +03:00
Konstantin
7e9a15c20b vcmi: add PERCENT_TO_TARGET_SOURCE value type
It will break saves!!!

Added a new value type to bonuses which allows to add percentage
only to one foreign bonus source, for example, to add percentage to all
bonuses from secondary skills from hero special.
2023-03-16 16:46:41 +03:00
Konstantin
98218adea5 vcmi: add PERCENT_TO_SOURCE value type
This will adds percent only to bonuses with same source.
In theory it should allow us to create specials which affects only
secondary skills, or only artifacts (let's say, swordmaster special
- any attack bonus from artifact is doubled).
2023-03-16 16:46:41 +03:00
Konstantin
ee90400d66 vcmi: add a Not bonus selector.
It will allow us to form complex selector logics with full boolean
operator.
2023-03-16 16:46:41 +03:00
Konstantin
b99a2ad669 vcmi: adjust parseBonus and Bonus::toJson
This was an error, when scheme and parser asks different values for
source type. Corrected this.
2023-03-16 16:46:41 +03:00
Ivan Savenko
129b5313c5
Merge pull request #1663 from Adriankhl/fix_load_sleeping_heroes
Fix client data deserialization, such as sleepingHeroes
2023-03-16 15:05:18 +02:00
Ivan Savenko
865f9f7d2b
Merge pull request #1511 from IvanSavenko/launcher_welcome_page
Add welcome/setup page to Laucher
2023-03-16 15:04:49 +02:00
Ivan Savenko
962f7ac4de
Merge pull request #1682 from IvanSavenko/h3m_text_export
H3M/H3C text export
2023-03-16 14:50:57 +02:00
Ivan Savenko
2a2af34788
Merge pull request #1650 from SoundSSGood/arts-swap-regression-fix
Arts swap regression fixed
2023-03-16 14:47:31 +02:00
Tomasz Zieliński
5b267f9cbd - Duplicate Monolith templates to ensure at least 100 are available to RMG
- Do not use Monoliths which can't be placed at any land
2023-03-16 06:58:25 +01:00
Ivan Savenko
f5f303202a Update localization 2023-03-14 22:04:08 +02:00
Ivan Savenko
d2152d387f Fix processing of VCMI_Tests map 2023-03-14 21:48:39 +02:00
Ivan Savenko
06e5d37fbd Fixed incorrect error messages from translations 2023-03-14 19:55:08 +02:00
Ivan Savenko
f42a894723 Implemented h3c translations 2023-03-14 19:46:15 +02:00
Ivan Savenko
a4ef9fd0b8 Added h3m strings generation to 'convert txt' command 2023-03-14 17:54:37 +02:00
Ivan Savenko
369e925af8 Loading of translation mods is now skipped on language mismatch 2023-03-14 16:02:16 +02:00
Ivan Savenko
66df19352f Do not show languages without translations in UI 2023-03-14 16:02:16 +02:00
Ivan Savenko
c3d78ba761 Partially implemented Setup Window 2023-03-14 16:02:16 +02:00
Ivan Savenko
6fe319329b Fix language selection 2023-03-14 16:02:16 +02:00
Ivan Savenko
70bdb3aeaf Moved language handling code to Languages.h/cpp 2023-03-14 16:02:16 +02:00
Adriankhl
626721cbba Fix serialization of ObjectClass 2023-03-12 21:41:46 +01:00
Konstantin
45dcd95f20 miscObjects: fix whirpool display
It should display negative numbers, not positive
2023-03-11 21:41:58 +03:00
Konstantin
fafe352f93 vcmi: bump max serialization version
And also - now we can choose between 3 states for rewardables
actually.
2023-03-11 21:41:57 +03:00
Konstantin
bc228a938a vcmi: use enum class for EComponentType
There is really no reason not to use it
2023-03-11 21:41:57 +03:00
Konstantin
716dd9a43b vcmi: remove a bunch of duplicated showInfoDialog
These methods duplicated in almost every map object
Just replace it by one such method
2023-03-11 21:41:57 +03:00
Konstantin
8edba4fb06 vcmi: use MODAL by default
Convert only some objects to AUTO, need futher testing
than no non-adventure objects will not use AUTO or INFO
2023-03-11 21:41:57 +03:00
Konstantin
c759400767 vcmi: allow showing simple rewardables in infobox 2023-03-11 21:41:57 +03:00
Konstantin
4617ce10e5 vcmi: allow showing more than one components in infobar
Up to 8, AFAIK. So, we can show multi-reward in infobox now.
One issue remain - cannot dynamically choose components size
based on text size.
2023-03-11 21:41:57 +03:00
Konstantin
d503c875a4 vcmi: fix mana points displayed 2023-03-11 21:41:57 +03:00
Ivan Savenko
0ea73cae7f
Merge pull request #1662 from rilian-la-te/reduce-lexical-cast
vcmi: reduce boost::lexical_cast usage
2023-03-10 12:53:21 +02:00
Ivan Savenko
c4de8a5cd0
Merge pull request #1580 from rilian-la-te/modernize-log-fs-events
Modernize next part
2023-03-09 15:53:43 +02:00
Ivan Savenko
a503c9d413
Merge pull request #1638 from rilian-la-te/fix-road-river
vcmi: fix road and river loading
2023-03-09 15:53:10 +02:00
Konstantin
5366f9190e vcmi: reduce boost::lexical_cast usage 2023-03-09 16:36:46 +03:00
SoundSSGood
e24eb6cc12 regression fixed 2023-03-08 17:20:38 +02:00
Ivan Savenko
58cfea02f1 Added option to skip validation of mods 2023-03-07 00:06:58 +02:00
Ivan Savenko
db9a296d02 Fix debug renderer 2023-03-07 00:06:58 +02:00
Ivan Savenko
499496f9d0 Restored Simplified Chinese support 2023-03-07 00:06:58 +02:00
Ivan Savenko
3d71f8b46d Fix loading of h3m translations 2023-03-07 00:06:58 +02:00
Ivan Savenko
0c847c85cc Fix serialization of rewardable objects 2023-03-07 00:06:58 +02:00
Ivan Savenko
0b3c10d990 Fix crash on hovering Market of Time (unfinished H3 object) 2023-03-07 00:06:58 +02:00
Konstantin
042885c0b8 vcmi: modernize lib/events 2023-03-06 20:24:38 +03:00
Konstantin
462599a5c6 vcmi: modernize lib/filesystem 2023-03-06 20:24:38 +03:00
Konstantin
c142bf1072 vcmi: modernize lib/logging 2023-03-06 20:13:25 +03:00
Ivan Savenko
c8afef3408
Merge pull request #1636 from rilian-la-te/remove-unused
vcmi: remove old war machine code
2023-03-06 00:10:55 +02:00
Ivan Savenko
df50a17d2a Fix loading of non-ASCII text files 2023-03-05 21:50:38 +02:00
Konstantin
c84a9f32f6 vcmi: fix road and river loading
It actually catched by MapFormat.Terrain test crash.
So, this is a fix (functions does not trowing exceptons, it returns NULL
if something is wrong).
2023-03-05 22:41:38 +03:00
Ivan Savenko
7ef5163d9d
Merge pull request #1581 from IvanSavenko/map_render_rewrite
Adventure Map - rendering rewrite
2023-03-05 19:51:07 +02:00
Konstantin
a364e39b50 vcmi: remove old war machine code 2023-03-05 19:12:47 +03:00
Ivan Savenko
387a7b421a Refactoring of new code, multiple functionality changes:
- Implemented separate Map View contexts for different map modes
- Puzzle map now works
- Enemy movement now works as in H3
- Removed no longer used code
- Implemented missing embark/disembark sounds
- Fixed view focusing on embarking/disembarking
- Fixed focusing on movement near edge of terra incognita
- Fixed sea movement sound
2023-03-05 18:02:58 +02:00
Ivan Savenko
45e2875342 Completely removed old TerrainRect class 2023-03-05 17:57:36 +02:00
Ivan Savenko
5905dd6111 Grail digging check is now in library 2023-03-05 17:48:02 +02:00
Ivan Savenko
11e4d84749 Implemented View Earth / View Air spells 2023-03-05 17:48:02 +02:00
Ivan Savenko
ca13e7dedf Implemented terrain palette animatiions. Removed old code 2023-03-05 17:48:02 +02:00
Ivan Savenko
4501036a04 Basic version of hero movement on map. Removed old code. 2023-03-05 17:48:02 +02:00
Ivan Savenko
beb7ce5beb Refactoring of MapView 2023-03-05 17:48:02 +02:00
Ivan Savenko
bb6e1f7ee1 Initial WIP of adventure map rendering rewrite 2023-03-05 17:47:12 +02:00
Ivan Savenko
27cf4d1cd5 Removed non-translatable string 2023-03-05 17:39:27 +02:00
Ivan Savenko
260f6d626c Implemented translations for H3M maps 2023-03-05 17:39:27 +02:00
Ivan Savenko
5b767d8b0d Keep new skills from mods active in h3m maps 2023-03-05 17:39:27 +02:00
Ivan Savenko
f653d22f99 Fixed encoding of strings in h3m maps 2023-03-05 17:39:27 +02:00
Ivan Savenko
9b428e8231 Fonts will now correctly detect encoding of fonts from mods 2023-03-05 17:39:27 +02:00
Ivan Savenko
4260726e4b Provide encoding information to maps & campaigns loaders 2023-03-05 17:39:27 +02:00
Ivan Savenko
bd70b6fabd Unicode conversion functions now require source encoding 2023-03-05 17:39:27 +02:00
Ivan Savenko
8b3309b47d Fixed custom hero names text ID's 2023-03-05 17:39:27 +02:00
Ivan Savenko
190368e419 Fix string ID's road/river/terrains 2023-03-05 17:39:27 +02:00
Ivan Savenko
acdb8d6e06 renamed Unicode -> TextOperations, to use for all text processing 2023-03-05 17:39:23 +02:00
Ivan Savenko
65c020ef34 Moved Unicode namespace out of GeneralTextHandler file 2023-03-05 17:30:38 +02:00
Ivan Savenko
6643408cdd Fixed localization validation 2023-03-05 17:30:38 +02:00
Ivan Savenko
320a44ca3c Moved common language data into a new file 2023-03-05 17:30:38 +02:00
Ivan Savenko
eeafc48663 Added validation for mod translations 2023-03-05 17:30:38 +02:00
Ivan Savenko
f57a77c2fe VCMI will now check whether translations are complete 2023-03-05 17:30:38 +02:00
Ivan Savenko
623cae7d47 All translatable strings now have language identifier 2023-03-05 17:30:38 +02:00
Ivan Savenko
84fa19dadf
Merge pull request #1547 from dydzio0614/game-start-unrandomization
Hardcoded features for HotA-like starting conditions
2023-03-05 17:29:49 +02:00
Ivan Savenko
476e60c753
Merge pull request #1615 from SoundSSGood/CArtifactsOfHero-refactoring
Optimization and cleanup CArtifactHolder
2023-03-05 17:28:36 +02:00
Ivan Savenko
07898f5cca
Merge pull request #1609 from krs0/feature/Battle_order_slight_refactorings
Battle order slight refactoring
2023-03-05 17:27:38 +02:00
Andrii Danylchenko
59d612fc2d
Merge pull request #1616 from kambala-decapitator/conan-android
move Android code to the main repo
2023-03-05 08:13:41 +02:00
SoundSSGood
a1dbbe2d86 redraw optimization 2023-03-03 10:17:31 +02:00
Andrey Filipenkov
0294a8b063 enable StupidAI and EmptyAI for static AI 2023-03-02 12:09:49 +03:00
Andrey Filipenkov
fd56f86a84 introduce VCMI_MOBILE macro 2023-03-02 12:09:49 +03:00
Andrey Filipenkov
313d479d42 fix using JNI from server in single process build 2023-03-02 12:09:48 +03:00
Andrey Filipenkov
c4e7e91850 fix single process build for Android 2023-03-02 12:09:48 +03:00
Andrey Filipenkov
71d51beab2 change static AI approach to use static libvcmi
- now links to static AI lib targets
- solves uncaught boost exception on closing server
2023-03-02 12:09:48 +03:00
Andrey Filipenkov
4c19d8794d add option to compile AI code into libvcmi directly
- used on Android by default
- AI sources and libs are propagated to upper level with set(... PARENT_SCOPE)
2023-03-02 12:09:48 +03:00
Andrey Filipenkov
2ced633ad8 refactor VCMIDirs for Android
removes inheritance from VCMIDirsXDG to get rid of defining M_*_DIR variables
2023-03-02 12:09:47 +03:00
Andrey Filipenkov
5b1f3bf0db use JNIEnv object from SDL instead of forwarding from Java for Client 2023-03-02 12:09:47 +03:00
Andrey Filipenkov
970bd6ed34 adjust project for Android (except AI) 2023-03-02 12:09:47 +03:00
krs
26bca26bd8 Enum is now in its own namespace, comments for enum values removed
Using Namespace Fix for linux compilation.


NO_OF_PHASES renamed to NUMBER_OF_PHASES, removed duplicate phase documentation
2023-03-01 21:21:20 +02:00
krs
7421fabf2c BattlePhases enum moved to Unit.h 2023-03-01 21:21:20 +02:00
krs
0373febe6f Refactoring 1st phase - Renaming's mainly
S'more small battle order refactoring.
2023-03-01 21:21:20 +02:00
Ivan Savenko
d55ac50e3c
Merge pull request #1622 from krs0/feature/CArchiveLoaderparam_extractArchives_ismaskedbytypo#1619
CArchiveLoader param "extractArchives" is masked by typo #1619
2023-03-01 21:15:35 +02:00
Konstantin
cb26bedd17 fix #1621 2023-03-01 19:22:06 +03:00
krs
a950fb379e All CArchiveLoader constructor parameters now have different names from members 2023-02-28 23:21:44 +02:00
Ivan Savenko
8d3bfbe0bc
Merge pull request #1582 from rilian-la-te/modernize-lib-battle
vcmi: modernize lib/battle
2023-02-28 12:12:39 +02:00
Andrii Danylchenko
37baec1d24 Fix crash on replaced hero placeholder mouseover 2023-02-27 09:10:26 +02:00
Ivan Savenko
8c52cbcd00
Merge pull request #1429 from dydzio0614/creature-numeric-quantities
Implement numeric creature descriptions with config toggle on/off
2023-02-26 22:57:01 +02:00
Andrey Filipenkov
176dfca578 fix indentation 2023-02-24 13:42:26 +03:00
Andrey Filipenkov
e6d87d5f35 wrap FileStream's helper functions into anonymous namespace 2023-02-24 13:42:26 +03:00
Andrey Filipenkov
85d1909ac5 remove copy-pasted functions from ioapi.c 2023-02-24 13:42:26 +03:00
Andrey Filipenkov
b0c109d5f7 use target from variable 2023-02-22 14:00:52 +03:00
Andrey Filipenkov
59948a41a6 use std::call_once instead of bool flag 2023-02-22 14:00:50 +03:00
Andrii Danylchenko
e13a230848 merge conflict regression fix 2023-02-18 17:19:33 +02:00
Andrii Danylchenko
47b253e837 #1579 - check z coord as well 2023-02-17 18:34:57 +02:00
Konstantin
93c2bbf9ab vcmi: modernize lib/battle 2023-02-16 23:37:19 +03:00
Dydzio
e48a4185ed Use config values from new settings 2023-02-15 23:36:09 +01:00
Andrii Danylchenko
6314fc0506 Fix destructor order 2023-02-15 20:37:18 +02:00
Andrii Danylchenko
c6feafc367 Hack to fix campaigns 2023-02-15 20:37:18 +02:00
Ivan Savenko
f65c6ad275 fix regressions from modernization 2023-02-15 14:27:12 +02:00
Ivan Savenko
5d98471d12
Merge pull request #1567 from rilian-la-te/modernize-maps
Modernize maps
2023-02-14 23:42:03 +02:00
Konstantin
5f181e25af vcmi: modernize lib/mapObjects 2023-02-14 14:39:56 +03:00
Konstantin
b16f66477c vcmi: modernize lib/mapping 2023-02-14 14:22:13 +03:00
Ivan Savenko
64ddd75cdc
Merge pull request #1571 from IvanSavenko/advmap_elements_refactoring
Advmap elements refactoring
2023-02-14 12:53:23 +02:00
Ivan Savenko
fbbfa29030
Merge pull request #1561 from rilian-la-te/modernize-serializer-spells
VCMI: modernize lib/serializer and modernize lib/spells
2023-02-14 12:12:39 +02:00
Ivan Savenko
72fe1fcfa9 Fix minimap updating on hero loss 2023-02-14 11:32:19 +02:00
Konstantin
7bfb37df4d vcmi: modernize lib/rmg 2023-02-14 02:50:39 +03:00
Andrii Danylchenko
9f55666931 rework netpacks to avoid double typeinfo 2023-02-13 20:26:39 +02:00
SoundSSGood
0f93b0991c Regression fixed 2023-02-13 15:16:42 +02:00
SoundSSGood
8504102c53
Merge branch 'vcmi:develop' into contitutient-swap 2023-02-13 09:51:42 +02:00
Andrii Danylchenko
e6b21ed298
Merge pull request #1574 from SoundSSGood/contitutient-move
combined art move
2023-02-13 08:30:35 +02:00
Andrii Danylchenko
c41a0a37e7
Merge pull request #1562 from rilian-la-te/modernize-netpacks
vcmi: modernize lib/NetPacks.h and lib/NetPacksBase.h
2023-02-12 23:10:21 +02:00
SoundSSGood
2976739c97 some refactoring 2023-02-12 21:27:37 +02:00
Konstantin
bdd976cc1e vcmi: modernize spell effects v2 2023-02-12 21:23:00 +03:00
Konstantin
97fc424e98 vcmi: modernize lib/spells (except adventure one, needs major rework) 2023-02-12 21:23:00 +03:00
Konstantin
8661496f6c vcmi: modernize lib/serializer 2023-02-12 21:23:00 +03:00
SoundSSGood
34a0dbc0b6 misc slots. fixed combined arts moving 2023-02-12 20:13:26 +02:00
Konstantin
0627e1ecaa vcmi: remove unused variables from lib/rmg 2023-02-12 19:11:24 +03:00
Konstantin
3cf303f1c7 vcmi/client: make ColorRGBA constexpr
1. Replace overflowing int3 to ColorRGBA, which is more semantically
   correct
2. Make ColorRGBA constexpr, to make sure than hardcoded colors can
   be initialized in compile time
2023-02-12 19:11:24 +03:00
Konstantin
038db5c71b vcmi: make int3 as constexpr class
This allows us to calculate distances and check const vector validity
at compile time
2023-02-12 19:00:43 +03:00
Konstantin
b30d23d278 vcmi: make ConstTransitivePtr always init self. 2023-02-12 17:59:06 +03:00
SoundSSGood
7314df56ac contitutient arts swap 2023-02-11 13:21:45 +02:00
DjWarmonger
94bc418e34
Update CRewardableConstructor.cpp
Fixed swapped identifiers in Limiter.
2023-02-11 08:28:29 +01:00
Dydzio
8604bde69e
Apply suggestions from code review
Commit code review changes

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2023-02-09 19:20:41 +01:00
Dydzio
7af737e9d4 Improve filling vector hardcoded feature data 2023-02-09 18:35:06 +01:00
Konstantin
286c1e522e vcmi: modernize netpacks 2023-02-09 20:22:48 +03:00
Konstantin
e82cc56ddb vcmi: modernize lib/spells/effects 2023-02-08 15:38:26 +03:00
Konstantin
cb3723b54c vstd: pass separators and input by reference
It removes many cases of redundnant string copying
2023-02-05 18:07:56 +03:00
Dydzio
981c23cafa Bump serialization - not sure if necessary 2023-02-05 01:01:11 +01:00
Dydzio
7095e9d8f9 Allow heroes to start with empty armies if configured properly 2023-02-05 00:36:51 +01:00
Dydzio
3f79a9806c Allow flexible configuration - starter dwellings and max stacks count 2023-02-04 23:40:02 +01:00
Konstantin
7b8aebe4e3 vcmi: deprecate MAXED_SPELL
It is almost identical to SPECIAL_FIXED_VALUE_ENCHANT.

Replace its usage in JSON and inside deprecated converter
to SPECIAL_FIXED_VALUE_ENCHANT. Remove buggy string inside
getEffectLevel.
2023-02-04 16:23:03 +03:00
Ivan Savenko
58cfddccaa
Merge pull request #1546 from rilian-la-te/dead-code-removal
Remove SDL usage from VCMI library
2023-02-03 11:28:29 +02:00
Dydzio
28eed7047c Hardcoded feature to allow default towns always have 2nd dwelling 2023-02-02 22:50:08 +01:00
Dydzio
4f4660e82d Hardcoded feature to allow new heroes always have 3 stacks like in HotA 2023-02-02 22:28:14 +01:00
Konstantin
cffdabf48e lib: replace SDL usage to Boost one
It is safer and header-only, and can be removed after C++23 is accepted.
There is no need for SDL in non-GUI.
2023-02-02 23:58:22 +03:00
Konstantin
70786f4963 lib: remove unused header
This an unused header with empty class. Just remove it.
2023-02-02 23:50:50 +03:00
Ivan Savenko
9678296875 Hero interaction is now battle action 2023-02-02 13:43:19 +02:00
Ivan Savenko
b1c67fbf47 Better formatting for enum 2023-02-02 13:25:55 +02:00
Ivan Savenko
f1ea88ae9a
Merge pull request #1505 from dydzio0614/cheats-improvements
Cheats improvements
2023-02-02 12:21:19 +02:00
Ivan Savenko
f4bbcd0ed4
Merge pull request #1539 from dydzio0614/fixScriptingCompilation
Fix scripting compilation
2023-02-02 12:21:11 +02:00
Ivan Savenko
34772ef830 Fixed includes 2023-02-01 21:45:06 +02:00
Dydzio
19925c2c25 VcmiLua builds properly now 2023-02-01 20:25:09 +01:00
Ivan Savenko
0ba74fea73
Merge pull request #1515 from IvanSavenko/time_based_animations
Time based animations
2023-02-01 12:25:54 +02:00
Ivan Savenko
885fad87f9
Merge pull request #1527 from IvanSavenko/sdl_abstraction_iteration
SDL abstraction layer iteration
2023-02-01 12:25:41 +02:00
Ivan Savenko
c3a2dee45a Code cleanup 2023-01-31 15:00:46 +02:00
Ivan Savenko
c5508d33fc
Merge pull request #1514 from IvanSavenko/rewardable_fixes
Minor fixes to rewardable objects
2023-01-31 12:47:24 +02:00
Ivan Savenko
57df0a6995 Fix crash on hovering prison 2023-01-30 19:00:51 +02:00
Ivan Savenko
42df5626d9 Added Color class to replace SDL_Color 2023-01-30 00:12:43 +02:00
Andrey Filipenkov
07dc2e1c48
Merge pull request #1496 from kambala-decapitator/resurrect-message
show resurrect message in the battle log
2023-01-29 22:18:32 +03:00
Ivan Savenko
57ee9a9bf3 Merge vcmi/beta into vcmi/develop 2023-01-29 18:21:55 +02:00
Ivan Savenko
a853045509 Removed unused value from creature config 2023-01-28 13:56:51 +02:00
Ivan Savenko
d34efaeb81 All battle effects now use time-based timings 2023-01-28 13:19:35 +02:00
Ivan Savenko
a2cd17197e Fix Campfire Gold reward amount. Now always one of 400/500/600 2023-01-28 13:12:03 +02:00
Ivan Savenko
d82822d37a Fix reset of rewardable objects with reset period of 1 day 2023-01-28 13:12:03 +02:00
Ivan Savenko
4d1c338503
Merge pull request #1498 from rilian-la-te/conan-v2
Conan as MXE replacement
2023-01-27 23:14:37 +02:00
Ivan Savenko
e87adf334d Fix loading of vcmi json maps 2023-01-26 23:32:56 +02:00
Ivan Savenko
8b2d336562 Fix initialization of visitDir in templates 2023-01-26 23:32:56 +02:00
Ivan Savenko
a3846f1b31 Fix incorrect identifiers format 2023-01-26 23:32:56 +02:00
Ivan Savenko
eebc6fd625 Map object use format mod:object (or mod:object.subobject) 2023-01-26 23:32:56 +02:00
Ivan Savenko
7b82387a49 Dwellings & Banks will register custom names for their objects 2023-01-26 23:32:56 +02:00
Ivan Savenko
bc27faea57 All objects will register single name per object type 2023-01-26 23:32:55 +02:00
Ivan Savenko
50e8a62178 Remove access to creature dwellings names via CGeneralTextHandler 2023-01-26 23:27:26 +02:00
Ivan Savenko
f71cbc5d9b Fixed loading of object names 2023-01-26 23:27:26 +02:00
Ivan Savenko
b13637cdd5 Fix regressions in RMG & map editor 2023-01-26 23:27:26 +02:00
Ivan Savenko
6f324216db Bugfixing 2023-01-26 23:27:24 +02:00
Ivan Savenko
6c472339ce Refactoring of ObjectClassesHandler 2023-01-26 23:26:49 +02:00
Ivan Savenko
c5f72ccdc7 Names for object supertypes are passed through translator 2023-01-26 23:19:53 +02:00
Konstantin
f0cb8b63c7 lib/CGameInterface.cpp: add MinGW workaround
MinGW returns all dynamic library functions as FARPROC, which need
to be cast to actual signatures, and this casts emits
-Wcast-function-type.
So, silence it for GetProcAddress.
2023-01-26 23:49:00 +03:00
Konstantin
cf56f7ccce vcmi: remove unused-but-set-variables 2023-01-26 23:49:00 +03:00
DjWarmonger
25ef065dbe
Merge pull request #1486 from IvanSavenko/configurable_rewardables
Well, it works for my brand new objects with arbitrary bonus, so likely will work with everything else.
2023-01-26 17:01:01 +01:00
Andrey Filipenkov
0bbf70f30a show resurrect message in the battle log 2023-01-25 18:13:06 +03:00
Andrey Filipenkov
785d565f31
Merge pull request #1483 from kambala-decapitator/statue-of-legion-bonus
fix displaying growth bonus from Statue of Legion
2023-01-25 17:45:30 +03:00
Dydzio
3d9f04c6e0 Minor cheats code changes 2023-01-25 12:10:48 +01:00
Ivan Savenko
4a8d1d9b5e Serialization version bump 2023-01-25 12:36:03 +02:00
Ivan Savenko
19cfb79c59 Removed H3 language detection - should be set by Launcher 2023-01-25 12:36:03 +02:00
Ivan Savenko
35775b90f8 Moved bonus names to translation 2023-01-25 12:36:02 +02:00
Ivan Savenko
39131eba3e Added translation support for mods. VCMI translations are now in mod.
Moved existing (English) translation to vcmi mod
Added translations for:
- German
- Polish
- Ukrainian
2023-01-25 12:33:54 +02:00
Konstantin
f93c9277c6 lib/filesystem: rename CreateFile to createFile
In MinGW, there is a define which replaces all CreateFile to
CreateFileA or CreateFileW and breaks compilation. Fix it.
2023-01-25 12:13:34 +03:00
Andrii Danylchenko
94f483c1e7
Merge pull request #1481 from kambala-decapitator/owner-tooltip
display owner of ownable objects in tooltip
2023-01-25 10:38:13 +02:00
Andrii Danylchenko
4cfc93d2da Somehow it works but JNI signatures were incorrect 2023-01-25 08:59:59 +02:00
Ivan Savenko
7a9e5e4e30 Cleanup & consistency changes 2023-01-25 00:38:50 +02:00
Ivan Savenko
af5ff0c9df Remove no longer used code 2023-01-24 23:34:02 +02:00
Ivan Savenko
44bdd2cbf3 Implemented selectable messages for visited & empty state 2023-01-24 23:31:07 +02:00
Andrey Filipenkov
90cb0cdc9b fix displaying growth bonus from Statue of Legion 2023-01-24 18:35:30 +03:00
Andrey Filipenkov
5b10903116 reorder growth bonuses display to match oh3 2023-01-24 18:35:07 +03:00
Ivan Savenko
ca6947b2cc Fixed Tree of Knowledge component 2023-01-24 17:35:06 +02:00
Ivan Savenko
3ba8d708f8 Partially fixed bonuses descriptions (affected by separate old bug) 2023-01-24 17:34:48 +02:00
Ivan Savenko
c793527b44 Added "days since start of the game" limiter. Fixes Water Wheel 2023-01-24 16:54:14 +02:00
Ivan Savenko
ca521fb129 Removed incomplete functionality from rewardable object 2023-01-24 16:29:05 +02:00
Ivan Savenko
c9dcb921ab Implemented "changeCreatures" option for Stables 2023-01-24 16:18:59 +02:00
Ivan Savenko
ecbcafefbc It is now possible to configure what exactly will be reset in object 2023-01-24 13:54:03 +02:00
Ivan Savenko
0c70822928 Implemented logical expression (allOf/anyOf/noneOf) for limiters 2023-01-23 23:54:54 +02:00
Ivan Savenko
f8f6df02f3 Removed remaining hardcoded objects 2023-01-23 15:27:27 +02:00
Ivan Savenko
62e127fb59 Bonusing objects are now configured in json 2023-01-23 01:05:10 +02:00
Ivan Savenko
bfd6c40f25 Moved all once-per-hero visitable (sans Tree) to config 2023-01-22 22:58:53 +02:00
Ivan Savenko
a6bda58276 Moved CGOnceVisitable to config 2023-01-22 20:26:19 +02:00
Ivan Savenko
fcb455b7f4 Fixed remaining bugs with converted objects 2023-01-22 18:37:26 +02:00
Ivan Savenko
695a94c3c8 Fixed all major bugs with newly converted objects 2023-01-22 18:17:26 +02:00
Ivan Savenko
9f3f9cc563 Added some missing functionality for configurable object 2023-01-22 02:08:58 +02:00
Ivan Savenko
83bb70cd8a All CGPickable objects are now fully configurable 2023-01-21 16:45:04 +02:00
Ivan Savenko
8064bc5465 Fix description of artifacts 2023-01-21 15:58:28 +02:00
Ivan Savenko
5fa69dcf2f Fix description of skill-based bonuses 2023-01-21 15:58:12 +02:00
Ivan Savenko
9565cae3cb Fix potential assertion failure on map load 2023-01-21 15:57:25 +02:00
Dydzio
685d63603d Merge branch 'develop' into creature-numeric-quantities 2023-01-21 12:57:29 +01:00
Andrey Filipenkov
2a43b7cfbc display owner of ownable objects in tooltip
also displays owner of towns (deviation from oh3)
2023-01-21 14:25:43 +03:00
Ivan Savenko
6e2d09d605 Cleanup 2023-01-20 16:11:43 +02:00
Ivan Savenko
46931a0ecf Bugfixing 2023-01-20 16:11:43 +02:00
Ivan Savenko
ee7a573cb8 Refactoring of SDL API usage:
- Rect no longer inherits from SDL_Rect
- renamed vcmi functions that used SDL naming format
- moved all functions in SDL_Extensions file into CSDL_Ext namespace
- SDL_Rect is now used only by SDL_Extensions, all other code uses Rect
2023-01-20 16:11:43 +02:00
Ivan Savenko
9a30484183 Point and Rect now reside in library 2023-01-20 16:11:43 +02:00
Ivan Savenko
e0842d416c Fix identifier format 2023-01-20 15:18:36 +02:00
Ivan Savenko
27442e2950 Remove unused code 2023-01-20 15:18:36 +02:00
Ivan Savenko
5a9ffb8e95 Serialization version bump 2023-01-20 15:18:36 +02:00
Ivan Savenko
47c1803c42 Finalization of refactoring:
- Entity interface now has getNameTranslated & getNameTextID methods
- Entity interface no longer has getName method
- removed (most) usages of normalizeIndentifier workaround method
- all moddable objects have identifier in form of mod:name
- all moddable object register strings in form of mod.type.name
2023-01-20 15:18:36 +02:00
Ivan Savenko
05a1d7c6e3 All text for factions/towns/building are passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
388ed88b5d All artifact strings now pass through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
d2b837b116 All creature-related texts go through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
fa6f7513e8 All heroes-related strings are passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
e22f6283c2 Secondary skills strings are now passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
5da407e822 All spell texts are now passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
30d7bdc884 Moved tower damage computation to town instance 2023-01-20 15:18:10 +02:00
Ivan Savenko
b7c27e7d47 ios compilation fix 2023-01-20 15:18:10 +02:00
Ivan Savenko
789f4d6bc8 Formatting 2023-01-20 15:18:10 +02:00
Ivan Savenko
33b5bfbbd2 Fixed secondary skill specialties 2023-01-20 15:18:10 +02:00
Ivan Savenko
4015d3d8bd Fixed creature specialties 2023-01-20 15:18:10 +02:00
Ivan Savenko
4a09dc0757 Fixed Adela's Bless specialty 2023-01-20 15:18:10 +02:00
Ivan Savenko
b86969909a Fixes compilation due to changes in callback interface 2023-01-20 15:18:10 +02:00
Ivan Savenko
1418ce4678 Refactoring & fixes of damage calculation 2023-01-20 15:18:10 +02:00
Ivan Savenko
d0c292e2fd Fix order of map indexes 2023-01-20 15:15:57 +02:00
Ivan Savenko
8cfde8fc5e Fixed selection of dragon's breath attack against double-wide units 2023-01-20 15:15:44 +02:00
Ivan Savenko
b8c5a32b9b Fix attack targeting selection for double-wide units 2023-01-20 15:15:44 +02:00
krs
fd90653e25 Bug in moving maps. .h3c vs .H3C 2023-01-20 15:14:52 +02:00
Dydzio
54d62a5eb9 Fix roads and rivers saving in map editor 2023-01-19 23:04:12 +04:00
Ivan Savenko
e53e515aa7 Fix msvc compile 2023-01-18 01:04:50 +02:00
Ivan Savenko
17fc9d8d8f Merge with vcmi/develop 2023-01-18 01:04:34 +02:00
Ivan Savenko
c400416058
Merge pull request #1409 from IvanSavenko/translate_terrain
Refactoring of terrain handlers
2023-01-18 00:12:31 +02:00
Dydzio
0e72ee9217 No longer relevant TODO removed 2023-01-18 02:05:30 +04:00
Dydzio
72eb794397 Fix space to tab, update description 2023-01-18 02:05:30 +04:00
Dydzio
f64d6bc1bc Add support for overwriting default range via additional info 2023-01-18 02:05:30 +04:00
Dydzio
01ce01d8f9 Add proper handling for 2-hex units + extract range calculation method 2023-01-18 02:05:30 +04:00
Dydzio
cf1674d0ca Introduce new bonus for limiting range 2023-01-18 02:05:30 +04:00
Dydzio
c22ab5ec9e Initial version of limiting shooters range feature 2023-01-18 02:05:30 +04:00
Nordsoft91
672bcb488b
Merge pull request #1381 from dydzio0614/client-commands-improvements
Client commands code improvements + ingame support
2023-01-18 02:04:38 +04:00
Ivan Savenko
05ac217b0f Merge with vcmi/develop 2023-01-17 23:02:25 +02:00
Ivan Savenko
e436b4425f Serialization version bump 2023-01-17 22:59:32 +02:00
Ivan Savenko
633b9ef3be Native terrain is now required for faction, opt-out with value "none" 2023-01-17 22:59:14 +02:00
Ivan Savenko
707de75ac0 Cleared up formatting 2023-01-17 22:58:22 +02:00
Dydzio
e593b61201 Merge branch 'develop' into client-commands-improvements 2023-01-16 01:13:06 +01:00
Dydzio
da39eb789f Fix indent 2023-01-16 00:37:18 +01:00
Ivan Savenko
96141f010b Merge remote-tracking branch 'vcmi/develop' into translate_launcher 2023-01-15 23:55:49 +02:00
Ivan Savenko
0a858d9a7c
Upgrade msvc to include enet and qt translator (#1436)
- Updated MSVC prebuilt package
- Fixed build warnings
2023-01-15 23:55:24 +02:00
Ivan Savenko
246281e62a Merged vcmi/beta with vcmi/develop 2023-01-15 17:46:42 +02:00
Ivan Savenko
bec894c348 Implemented automatic detection of H3 files language/encoding 2023-01-15 17:32:39 +02:00
Ivan Savenko
6ea7add4bb
Merge pull request #1394 from SoundSSGood/art-move-fix
Artifact movement refactoring
2023-01-15 17:29:36 +02:00
Andrey Filipenkov
2f14914120 fix Boost deprecation warnings
warnings introduced in v1.81

# Conflicts:
#	mapeditor/resourceExtractor/ResourceConverter.cpp
2023-01-15 17:28:09 +02:00
Dydzio
804b164c75 Changed getQuantityRangeStringForId handling 2023-01-15 16:19:55 +01:00
Andrii Danylchenko
9f0eb055f9
Merge pull request #1426 from vcmi/android-upgrade-sdl
Update android JNI bindings
2023-01-15 10:36:32 +02:00
Dydzio
b5a1b178d9 Explicitly call reset on shared_ptr for potential readability boost 2023-01-15 01:18:35 +01:00
Ivan Savenko
a46ab835ce Applied review suggestions 2023-01-14 23:01:33 +02:00
Dydzio
8248feebf7 Implement numeric creature descriptions with config toggle on/off 2023-01-14 15:55:08 +01:00
Ivan Savenko
ccc6ebee0d Cleared up gate blocking, Force Field can now block gates 2023-01-13 15:44:42 +02:00
Ivan Savenko
526de47ca4 Removed 0.98 compatibility 2023-01-13 13:00:07 +02:00
Ivan Savenko
3be3c871fb Destroyed walls will now remove wall penalty 2023-01-13 01:59:09 +02:00
Ivan Savenko
1d7f004658 Implemented reinforced walls in towns with Castle 2023-01-13 01:09:24 +02:00
Ivan Savenko
500cf7f15d EWallPart & EWallState are now enum class 2023-01-13 00:35:58 +02:00
Ivan Savenko
dd3adb7e16 Arrow towers damage algorithm should now match H3 2023-01-12 23:52:03 +02:00
Dydzio
aac515f64e Merge 'develop' branch 2023-01-11 16:24:53 +01:00
Ivan Savenko
192e856797 merge with vcmi/develop 2023-01-11 16:47:53 +02:00
Ivan Savenko
e48bd39b9c Moved road & river handlers into a separate file 2023-01-11 15:17:24 +02:00
Ivan Savenko
5e72ef76cf Fix quest texts accessing 2023-01-11 15:10:44 +02:00
Ivan Savenko
8b6f6f9b93 Fix msvc compile 2023-01-11 13:59:43 +02:00
Ivan Savenko
c6f089c6b1 Removed outdated comment 2023-01-11 13:59:33 +02:00
SoundSSGood
a0568823a9 swap contitutient 2023-01-11 13:17:33 +02:00
Ivan Savenko
1e37e66e6c Replaced Terrain::BORDER and WRONG with NONE 2023-01-10 20:09:09 +02:00
Ivan Savenko
1b25043dab Terrain identifiers will also have mod:name format 2023-01-10 20:08:37 +02:00
Ivan Savenko
1caec0a8cb Removed default native terrains - breaks neutral faction 2023-01-10 20:08:07 +02:00
Ivan Savenko
8c2b1d74be Removed unused code 2023-01-10 20:07:22 +02:00
Ivan Savenko
3fd9a14651 Fix #1401 - Restored accessing creature names via GeneralTextHandler 2023-01-10 12:26:20 +02:00
Ivan Savenko
c455986a55 Fix regressions in RMG & map editor 2023-01-10 01:05:28 +02:00
Ivan Savenko
4f3ea0d1d9 Renamed Terrain.h/cpp -> TerrainHandler.h/cpp 2023-01-10 00:01:35 +02:00
Ivan Savenko
f51b3bca57 use JsonKey or NameTranslated instead of ambiguos Name 2023-01-10 00:01:35 +02:00
Ivan Savenko
009705e794 Names for terrains now pass through translator 2023-01-10 00:01:35 +02:00
Ivan Savenko
7c7ae26e67 Map/Road/River identifiers are now private members 2023-01-10 00:01:35 +02:00
Ivan Savenko
f3985d205b Added horseSoundPenalty for terrains (for movement outside of roads) 2023-01-10 00:01:35 +02:00
Ivan Savenko
64885bdf6b Better names for terrain parameters. Support for new movement sounds. 2023-01-10 00:01:35 +02:00
Ivan Savenko
4e4dae854f Final stabilization changes 2023-01-10 00:01:35 +02:00
Ivan Savenko
99745b5c3c Fix rivers & roads loading 2023-01-10 00:01:35 +02:00
Ivan Savenko
2de3178158 Fixed game startup 2023-01-10 00:01:35 +02:00
Ivan Savenko
e1799379dd Terrain/Road/River handler are now in compileable state 2023-01-10 00:01:35 +02:00
Ivan Savenko
1468f6aded Converted terrainTypeHandler into proper handler class 2023-01-10 00:01:35 +02:00
Ivan Savenko
01811317f9 Remove assert which may not always be true 2023-01-09 23:22:59 +02:00
Ivan Savenko
1fece0ce18
Merge pull request #1229 from IvanSavenko/battle_improvements
Battle: Fixing bugs & Implementation of missing features
2023-01-09 22:07:13 +02:00
Ivan Savenko
bde988ca43
Merge pull request #1329 from IvanSavenko/translate_game
Translations support - base functionality for main game texts
2023-01-09 20:33:56 +02:00
Ivan Savenko
8f42c86962 Formatting: space -> tabs 2023-01-09 18:34:37 +02:00
Ivan Savenko
84aefc3362 Changed log file format: print timestamp instead of thread ID 2023-01-09 18:34:37 +02:00
Ivan Savenko
2f5ee44cbe Fixes patrol position initialization on H3M load 2023-01-09 18:34:13 +02:00
Ivan Savenko
7e8516f927 Changed Sirens behavior to match H3 logic 2023-01-09 13:04:56 +02:00
SoundSSGood
4005b48360 Regressions fixed 2023-01-08 23:31:12 +02:00
SoundSSGood
6b7ce798d0 artifactTransitionPos created 2023-01-08 23:24:13 +02:00
Andrey Filipenkov
48c01157e6 fix typo 2023-01-08 01:33:26 +02:00
Andrey Filipenkov
db98575d10 fix unaligned memory access (UB) on Clang/GCC/MSVC
sample UBSAN report:
client/gui/CAnimation.cpp:329:24: runtime error: load of misaligned address 0x62d0004b094f for type 'const ui32' (aka 'const unsigned int'), which requires 4 byte alignment
2023-01-08 01:33:26 +02:00
Ivan Savenko
481f756b51 Fixes #1304 - correct battle log message on spellcast without kills 2023-01-07 19:52:57 +02:00
Andrii Danylchenko
9f9798d3a4 Update android JNI bindings 2023-01-07 09:26:01 +02:00
Dydzio
622e012fcf Allow ingame console to use clientside commands and print output 2023-01-06 21:01:54 +01:00
Dydzio
a2ce9220ed Fix tests + scripting compilation on gcc 2023-01-05 17:42:33 +02:00
SoundSSGood
d5cef0c069 end of battle art assembling fix 2023-01-05 17:37:14 +02:00
Dydzio
3e1e41ef59 Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2023-01-05 17:31:30 +02:00
Dydzio
a83c7eb00f Add configurable damage and defense parameters 2023-01-05 17:31:30 +02:00
Ivan Savenko
6b2490903d Fix casting of massive spells by creatures 2023-01-04 21:26:13 +02:00
Ivan Savenko
e1a244beb0 Fix crash on firewall cast attempt 2023-01-04 17:38:55 +02:00
Ivan Savenko
d3ecd43aba Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2023-01-04 16:20:53 +02:00
Ivan Savenko
c479504646 Formatting cleanup 2023-01-01 22:50:38 +02:00
Ivan Savenko
d237bee927 Removed unused code 2023-01-01 21:12:47 +02:00
Ivan Savenko
7c0d5666a0 Return string by copy to fix cases when string is constructed on stack 2023-01-01 20:55:43 +02:00
Ivan Savenko
9a620a9091 Refactoring of GeneralTextHandler to reduce boilerplate code in callers 2023-01-01 15:13:02 +02:00
Ivan Savenko
01d0cd4f7a Changed configurable UI to match text refactoring:
- help.txt strings are now loaded as (hover, help) pairs
- renamed string pairs from translate.json to use (hover, help) form
- interface builder will always load label texts via unified ID
- interface builder way of loading buttons text has been changed:
- - field has been renamed "zelp" -> "help" for consistency
- - "help" field now only accepts string or object json type
2023-01-01 14:56:45 +02:00
Ivan Savenko
84493e1bff Translate received string identifier before storing 2023-01-01 14:56:45 +02:00
Ivan Savenko
10541855d9 Don't load empty rumor strings 2023-01-01 14:56:45 +02:00
Ivan Savenko
a499390b9c Restored text export command 2023-01-01 14:56:45 +02:00
Ivan Savenko
1979b3e97f Fixes typo 2023-01-01 14:56:45 +02:00
Ivan Savenko
e9e2ebb1c9 Cleanup 2023-01-01 14:56:45 +02:00
Ivan Savenko
cb4f5edae9 All Heroes 3 texts are now passed through translator 2023-01-01 14:56:45 +02:00
Ivan Savenko
85d7b470d4 Access to quests texts is now processed via translator 2023-01-01 14:56:45 +02:00
Ivan Savenko
bdb8e0ee5c Introduced string identifiers for H3 texts, still WIP 2023-01-01 14:56:44 +02:00
Dydzio
7e321b2405 Fix missing formatting 2022-12-30 16:14:04 +01:00
Dydzio
306348c301 Tweak condition to remove hardcoded terrain ID 2022-12-30 16:04:19 +01:00
Dydzio
2c09bfb22a Fix code formatting 2022-12-30 15:51:13 +01:00
Dydzio
c40dcec7cd Improve terrain check condition 2022-12-30 15:46:10 +01:00
Dydzio
1967416eb2 Remove no longer needed code 2022-12-30 15:26:27 +01:00
M
23de4a188b Change cartographer tile reveal logic to match H3 2022-12-30 15:09:09 +01:00
Ivan Savenko
0c78e47dce Fixed serialization due to changed lsit of bonuses 2022-12-30 11:55:40 +02:00
Ivan Savenko
5d80457eda Merge with vcmi/develop branch 2022-12-30 00:52:23 +02:00
Ivan Savenko
b8b1e07621 Fix serialization 2022-12-30 00:36:10 +02:00
Ivan Savenko
486c9612b8 Fix regression from warnings_fix branch 2022-12-30 00:23:34 +02:00
Ivan Savenko
b89e8a9dfe Fix serialization 2022-12-29 23:37:46 +02:00
Ivan Savenko
b275d9de72 merge beta branch into develop 2022-12-29 22:08:53 +02:00
Ivan Savenko
7a35bcc812
Merge pull request #1221 from IvanSavenko/warnings_fix
Fix remaining compiler warnings
2022-12-29 21:51:55 +02:00
Ivan Savenko
e19dc41295 Support Polish version of H3 data files 2022-12-29 21:50:04 +02:00
Andrey Filipenkov
b030a88ca5 fix gold check for School of War 2022-12-29 01:45:51 +04:00
Ivan Savenko
5f4a998435 editorPath -> mapEditorPath 2022-12-28 17:59:16 +02:00
Andrii Danylchenko
a954cc08fb Made intermediate class to hide some implementation details from header. 2022-12-27 12:55:31 +02:00
Andrii Danylchenko
c271f9187f Connection buffered read cpack. 2022-12-26 21:49:53 +02:00
Andrii Danylchenko
cb13064a62 Socket buffered write. Write full cpack at once 2022-12-26 20:17:53 +02:00
Ivan Savenko
78ed2f154b Revert uninteded change 2022-12-26 14:48:13 +02:00
Ivan Savenko
bb65246aa3 Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-26 01:15:44 +02:00
Ivan Savenko
e4e5278f60 Merge with vcmi/develop 2022-12-25 23:10:52 +02:00
Ivan Savenko
b38752bde1 Editor can be started from Launcher (disabled for ios) 2022-12-25 23:08:39 +02:00
Ivan Savenko
7e3cd7db51 Fix for missing Death Blow sound 2022-12-25 20:11:22 +02:00
Ivan Savenko
063b8732ff Save compatibility with main branch 2022-12-25 18:07:08 +02:00
Ivan Savenko
a0ab760249 Removed debug code 2022-12-25 16:53:40 +02:00
Ivan Savenko
94597e7af6 Remove deprecated usage of sprintf 2022-12-25 14:04:12 +02:00
Ivan Savenko
405b2976d5 Renamed getUpgradeInfo -> fillUpgradeInfo 2022-12-25 14:03:43 +02:00
Nordsoft91
785787e454
Merge branch 'develop' into interface-builder 2022-12-24 21:56:29 +04:00
Ivan Savenko
325c29da0d Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-23 14:51:34 +02:00
Ivan Savenko
eb20a4b208 Merge remote-tracking branch 'vcmi/develop' into warnings_fix 2022-12-23 14:40:45 +02:00
Ivan Savenko
f073c676f9 Merge 1.1 release into develop 2022-12-23 14:17:18 +02:00
Ivan Savenko
9248e06ae0 Demon summon is now a spell. DEMON_SUMMONING bonus has been removed 2022-12-22 23:11:55 +02:00
Ivan Savenko
b2279484fc
Merge pull request #1227 from Shatur/opendingux
Port to OpenDingux handhelds
2022-12-22 16:56:55 +02:00
Ivan Savenko
bab5922951 Spells can now define color muxer effect (e.g. Bloodlust & Petrify) 2022-12-22 00:25:35 +02:00
Ivan Savenko
41b87088d5 Color muxer effects can now be (partially) configured by user.
TODO: move color muxer effects from spells into spell config
2022-12-21 23:29:56 +02:00
nordsoft
7e7071fc95 Merge remote-tracking branch 'upstream/develop' into interface-builder 2022-12-22 01:24:29 +04:00
nordsoft
34b81e8838 Revert VCMIDirs to fix the build 2022-12-21 23:08:53 +04:00
Ivan Savenko
26985600b2 Fixed several more cases of incorrect scope for identifiers resolving 2022-12-21 23:02:19 +04:00
Ivan Savenko
23cb47b457 Fixed several scenarios with incorrect scope for requesting identifiers 2022-12-21 23:02:19 +04:00
Ivan Savenko
b423b3fa6b Fix dragon breath & fire shield 2022-12-21 18:04:54 +02:00
Ivan Savenko
5f8cfadc4d Better formatting for not found terrains ID's 2022-12-20 01:55:59 +04:00
Ivan Savenko
3cf1e3b4d4 Restored neutral faction ID, changed warnings related to H3 ID's 2022-12-20 01:55:59 +04:00
Ivan Savenko
b13723305d Better error reporting for usages of invalid terrain in mods
TODO: switch to proper mechanism via identifier requests
2022-12-20 01:55:59 +04:00
Ivan Savenko
a57eec23e6 Refactoring of setBattleCursor & fromWhichHexAttack methods 2022-12-19 01:12:26 +02:00
Ivan Savenko
53f6b7bd32 Fix Ice Ring target selection 2022-12-18 20:23:19 +02:00
Ivan Savenko
e9e549148d Implemented teleportation animation effect 2022-12-18 18:26:43 +02:00
Ivan Savenko
a6622b5896 Fixed clone damage 2022-12-18 17:38:14 +02:00
Ivan Savenko
526a6e4fe7 Fix incorrect assertions 2022-12-18 14:33:59 +02:00
Andrii Danylchenko
cf97bf2cfd
Remove unused code 2022-12-18 13:11:02 +02:00
Andrii Danylchenko
1555c51313 fix assertion 2022-12-18 12:29:03 +02:00
Ivan Savenko
45aa841fb6 Stack reversing logic now matches H3 2022-12-18 11:42:02 +02:00
Ivan Savenko
52fc5b3c39 Exploded mines now send ACTIVATE flag to client to play effect 2022-12-17 19:37:00 +02:00
Ivan Savenko
deffba01b9 All battle effects are now fully client sided 2022-12-17 17:35:15 +02:00
nordsoft
b1f2c7aed4 Team alignments implemented 2022-12-17 08:19:16 +04:00
nordsoft
d93e844609 Use roads names instead of their filenames 2022-12-17 04:54:01 +04:00
nordsoft
f27a40dd34 Support roads and teams customization in engine 2022-12-17 03:52:40 +04:00
nordsoft
bcf95c32e9 Merge branch 'fix-cmake' into interface-builder 2022-12-17 03:09:41 +04:00
Ivan Savenko
733f21f8dc Petrify will freeze stack animations 2022-12-16 18:34:35 +02:00
Ivan Savenko
291bb9b204 Expanded cursors enum to include all possible values 2022-12-16 11:22:58 +02:00
Andrii Danylchenko
8c07ddbae0
Merge pull request #1204 from IvanSavenko/single_process_app_upgrade
[1.2] Single process app support for platforms other than ios
2022-12-15 12:22:24 +02:00
nordsoft
2fe951f819 Merge remote-tracking branch 'upstream/develop' into interface-builder
# Conflicts:
#	client/lobby/RandomMapTab.cpp
2022-12-15 04:47:11 +04:00
nordsoft
fc7f1dbc5a Fix template selection 2022-12-14 05:23:21 +04:00
nordsoft
53b2f68560 Serialize template 2022-12-14 04:37:11 +04:00
Ivan Savenko
e791323502 Implemented placement sound for obstacles 2022-12-13 21:31:49 +02:00
Ivan Savenko
60a00b450e Multiple fixes & improvements to animation ordering 2022-12-13 21:31:49 +02:00
Ivan Savenko
0020d76d1d Introduced animation phases for beter ordering of visuals in battles 2022-12-13 21:31:49 +02:00
Ivan Savenko
c79634b6a7 Moved all animation ordering logic to callers
Previously, CBattleAnimation & inheritors were controlling animation
ordering - e.g. which animations should play after which.
Now, this is controlled by caller, e.g. BattleInterface & its
controllers.
H3 animations are fairly linear and can be split in stages which are
already somewhat implemented via waitForAnims
2022-12-13 21:31:49 +02:00
Ivan Savenko
b3deea24e0 Earthquake spell: do not target already destroyed sections 2022-12-13 21:31:49 +02:00
Ivan Savenko
155f776ae8
Merge pull request #1172 from IvanSavenko/battleint_refactor
[1.2] Refactoring of BattleInterface class
2022-12-13 21:31:18 +02:00
Hennadii Chernyshchyk
de33eb44f9
Port to OpenDingux handhelds 2022-12-13 03:55:54 +02:00
nordsoft
b3d60ec418 Add new map sizes 2022-12-12 04:46:42 +04:00
Ivan Savenko
1558c28c0a Fix obstacle rendering 2022-12-12 00:05:00 +02:00
Ivan Savenko
ac839ad26a Changes to rest of the code according to review:
- renamed status bar method clearMatching -> clearIfMatching
- renamed class ColorShifterAddMul -> ColorShifterMultiplyAndAdd
- fixed missing return from function
- fixed potential access to deleted object
2022-12-11 23:43:43 +02:00
Andrii Danylchenko
0016b77192
Merge pull request #1218 from IvanSavenko/pathfinder_fix
[1.1] Do not allow attacking from inaccessible tiles
2022-12-10 15:19:55 +02:00
Ivan Savenko
25bceda4ea Added convertToVisitablePos/convertFromVisitablePos to CGHeroInstance
This method replaces old convertPosition, but with more clear names and
without hardcoded magic constants.
2022-12-09 14:42:47 +02:00
Ivan Savenko
db2a40600d Fixed some of the warnings detected by CI run 2022-12-08 23:20:42 +02:00
Ivan Savenko
48ec21f648 Do not allow attacking from inaccessible tiles 2022-12-08 16:14:33 +02:00
krs
ed70c69a2b extractToFolder fix with entry.offset is set to 0 2022-12-08 02:52:30 +04:00
krs
35db24a443 Reverted extractToFolder() for texts, to old stand alone version. 2022-12-08 02:52:30 +04:00
Ivan Savenko
facf77b3ae vstd::unique -> std::unique 2022-12-07 23:36:20 +02:00
Ivan Savenko
d85ee019ec Removed CGHeroInstance::convertPosition method 2022-12-07 22:51:32 +02:00
Ivan Savenko
49cbd5adc9 CGHeroInstance::convertPosition is no longer static method 2022-12-07 22:34:08 +02:00
Ivan Savenko
908e6892f3 Removed CGHeroInstance::getPosition pseudo-override
Now access to hero visible position is always done via visitablePos
2022-12-07 22:10:08 +02:00
Ivan Savenko
2855606a88 Enabled & fixed -Woverloaded-virtual warning from gcc/cland
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00
Ivan Savenko
65802d958b Integrated valid fixes from PR #1143 2022-12-07 18:13:54 +02:00
Ivan Savenko
fb6b3c31e8 Renamed UNUSED -> MAYBE_UNUSED macro to match c++17 attribute name 2022-12-07 18:06:47 +02:00
Ivan Savenko
3219e322ae Fixed all non-silenced gcc/clang warnings 2022-12-07 18:05:47 +02:00
Andrii Danylchenko
89f0cc66e8
Merge pull request #1213 from IvanSavenko/clone_fix
Fix crash on casting clone on modded creature
2022-12-07 17:34:52 +02:00
Ivan Savenko
2cbe6bcb47 Added common method to get names of hardcoded mod scopes 2022-12-07 15:18:19 +02:00
Andrii Danylchenko
4b19d37988
Merge pull request #1214 from IvanSavenko/enlightenment_fix
Library of Enlightenment fix
2022-12-07 09:14:06 +02:00
Ivan Savenko
4e1c8324fe Removed another unused friend declaration 2022-12-06 21:11:41 +02:00
Ivan Savenko
e0c8bd5d70 Removed unused friend class reference 2022-12-06 19:38:55 +02:00
Ivan Savenko
17f9c3af23 Library of Enlightenment fix
Do not offer choice between multiple identical option if hero is qualified
to receive multiple of them due to diplomacy skill
2022-12-06 18:08:10 +02:00
Ivan Savenko
65f9a1ffd2 Fixes identifiers resolving for json serialization 2022-12-06 16:26:32 +02:00
nordsoft
5d1b5b6c9c Throw an exception if empty zone is generated 2022-12-06 15:07:16 +04:00
Ivan Savenko
085abb9e32 Fix compilation on Windows 2022-12-06 12:46:10 +02:00
Ivan Savenko
09ac2421b9 Fix Windows single-app build 2022-12-06 01:53:19 +02:00
Ivan Savenko
fa23965d0b Renamed for consistency BUILD_SINGLE_APP -> ENABLE_SINGLE_APP_BUILD 2022-12-06 00:00:56 +02:00
Ivan Savenko
5e37ad6836 Changes to single-app build
- client version of library is now always called vcmi, like in regular
builds (e.g. libvcmi.so)
- server version of library keeps its separate name
2022-12-05 22:57:43 +02:00
Ivan Savenko
538c6e39f9 Split VCMIDirs::developmentMode to handle data & binaries separately 2022-12-05 22:56:10 +02:00
Ivan Savenko
6463e906d5 vcmi can be compiled as single app on Linux
TODO: check compilation on Win/Mac using Github Actions
2022-12-05 21:36:02 +02:00
Andrii Danylchenko
34cd856f53
Merge pull request #1197 from IvanSavenko/hero_positioning_fix
Adjust positions of heroes in towns earlier
2022-12-05 14:47:44 +02:00
Ivan Savenko
46b8709712 Adjust positions of heroes in towns earlier
fixes crash due to accessing tile that is outside of map bonds
2022-12-05 13:02:55 +02:00
Andrii Danylchenko
40e55e2788
Merge pull request #1196 from IvanSavenko/hero_positioning_fix
Fixes incorrect positioning of heroes on spawn/release from prison
2022-12-05 10:35:24 +02:00
Ivan Savenko
2cc4f59699 Update map properly on hero position change 2022-12-04 22:03:25 +02:00
Ivan Savenko
b6b6063505 Fix positioning of heroes after release from prisons 2022-12-04 22:00:33 +02:00
Ivan Savenko
fa3a05a074 Removed hardcoded constants in hero placement code for more robust
solution
2022-12-04 21:23:47 +02:00
nordsoft
bbe51bfaf4 Fix hero experience deserialization 2022-12-04 16:58:46 +04:00
nordsoft
8d1024fcfc Clear error message 2022-12-03 20:56:05 +04:00
nordsoft
2f2c980a0c Fix crash on map destroying 2022-12-03 20:56:05 +04:00
Ivan Savenko
1248292503 Fixed access violation - do NOT return address to temporary created on
stack
2022-12-02 21:37:58 +02:00
Andrii Danylchenko
d9c4b28ccc
Merge pull request #1177 from IvanSavenko/fix_mod_identifiers
Fix mod identifiers registration & incorrect mod validation
2022-12-02 09:20:49 +02:00
Ivan Savenko
d8742dac3f Show correct error message on attempting to cast Remove Obstacle on
fields with no removable obstacles
2022-12-02 00:27:48 +02:00
Ivan Savenko
495e0b3657 Merge remote-tracking branch 'vcmi/develop' into battleint_refactor 2022-12-01 23:58:01 +02:00
Ivan Savenko
5094fab4d9 Refactoring of spell animations, multiple fixes for spell visuals 2022-12-01 22:06:42 +02:00
Andrii Danylchenko
82179a9cdb
Merge pull request #1176 from IvanSavenko/tower_shooter_icons
Tower shooter icons fix
2022-12-01 12:30:24 +02:00
SoundSSGood
45a3064e5d suggested changes 2022-11-30 18:28:33 +02:00
Ivan Savenko
7c410ab5ce Fix potential crash due to iterator invalidation 2022-11-30 18:07:21 +02:00
Ivan Savenko
5cd405bce8 Fixed meta field handling in JsonUtils::inherit function, removed
workarounds
2022-11-30 17:38:53 +02:00
Ivan Savenko
79c96e94fa Cleared up comments 2022-11-30 17:37:36 +02:00
nordsoft
b7cab0e01d Merge remote-tracking branch 'upstream/develop' into battle-dialog 2022-11-30 01:03:57 +04:00
Ivan Savenko
36ae26bc37 Fixed several scenarios which could lead to json with incorrectly set
mod origin info, leading to non-resolving identifiers
2022-11-29 22:34:32 +02:00
SoundSSGood
3bf0cfe4fa
Merge branch 'vcmi:develop' into refactoring-art 2022-11-29 22:34:08 +02:00
Ivan Savenko
abe11aaf54 Introduced "map" scope for accessing identifier on map loading.
Currently it allows access to all mods, should be restricted to mods
that map depends on
2022-11-29 22:33:08 +02:00
SoundSSGood
96d8e952c4 attempt to fix the build 2022-11-29 21:45:37 +02:00
Ivan Savenko
861a6849f9 Added possibility to define per-town tower icon for battle queue in siege 2022-11-29 14:47:51 +02:00
SoundSSGood
8a6052fd54 CArtHandler refactoring 2022-11-29 02:34:04 +02:00
SoundSSGood
909dcb82fa use ArtifactID 2022-11-29 00:32:18 +02:00
Ivan Savenko
3e58d1e3c5 Merge remote-tracking branch 'refs/remotes/vcmi/develop' into battleint_refactor 2022-11-28 16:10:13 +02:00
krs
ea2fe78776 (char*)&data[0] changed to (char*)data.data() 2022-11-27 19:35:11 +02:00
krs
9b3cab1181 IVCMIDirs::userExtractedPath() created 2022-11-27 19:35:11 +02:00
krs
6130776fe4 removed one too many implementation of extractToFolder.
changed parameter 2 from CFileInputStream to CInputStream
2022-11-27 19:35:11 +02:00
krs
75b4b64b6f Final checks according to review 2022-11-27 19:35:11 +02:00
krs
31b7a81cd2 Data types in CArchiveLoader::extractToFolder() made more simple. 2022-11-27 19:35:10 +02:00
krs
d516a5f529 More changes following review. 2022-11-27 19:35:10 +02:00
krs
f0b66b6192 Animation.cpp fixes after review 2022-11-27 19:35:10 +02:00
krs
221a9e14b9 Linux Compile Fix: ../../lib/filesystem/CArchiveLoader.cpp:236:52: error: invalid initialization of non-const reference of type 'std::unique_ptr<CInputStream>&' from an rvalue of type 'std::unique_ptr<CInputStream>' 2022-11-27 19:35:10 +02:00
krs
62e479ae16 Linux Compile Fix: removed old code related to std::locale 2022-11-27 19:35:10 +02:00
krs
eecaa20693 Resource extractor "enablers" are now command line options
In VCMI_lib the extractArchives will be passed all the way down the call chain!
2022-11-27 19:35:10 +02:00
krs
cca1f074bf Convert PCX to PNG, Final touches, everything deactivated. 2022-11-27 19:35:10 +02:00
krs
93cf2682f3 Working Extractor, DefSplitter and pcx convertor 2022-11-27 19:35:10 +02:00
Andrii Danylchenko
3b072b80d5
Merge pull request #1168 from Nordsoft91/fix-obstacles-generation
Fix obstacles generation
2022-11-27 09:56:11 +02:00
Andrii Danylchenko
dfee2eda68
Merge pull request #1148 from SoundSSGood/ask-assemble
Feature to assemble/disassemble arts in backpack
2022-11-27 09:48:57 +02:00
nordsoft
8e324603bf Remove extra lines 2022-11-27 00:08:47 +04:00
nordsoft
2c88e35749 Fix obstacles generation 2022-11-27 00:04:14 +04:00
nordsoft
44e469a2c7 Merge branch 'develop-upstream' into battle-dialog 2022-11-25 14:38:49 +04:00
Andrii Danylchenko
0ccb706782
Merge pull request #1155 from Nordsoft91/fix-camp-919
Fix for #919
2022-11-25 11:43:25 +02:00
Ivan Savenko
6b3beb05e5 BattleInt split is finished, start of refactoring:
- Refactoring of siege controller code
- Replaced some usages of C struct SDL_Surface with proper c++ class
IImage
- Refactoring of rendering of battlefield objects (WIP)
2022-11-25 00:26:14 +02:00
nordsoft
b3cdcc774e Fix appearance for camp heroes 2022-11-23 14:34:57 +04:00
Ivan Savenko
8e6193ad6e Actually use new locale for filesystem access 2022-11-21 16:58:36 +02:00
Ivan Savenko
e6afd8621c Minor improvements & fixes to music player
- music will be selected correctly after rapid leaving and reentering
town screen
- music sets are now store as single std::map instead of unnecessary
"map of maps"
- fixed computation of resume time for restarted/looped music tracks
- updated & clarified some comments
- converted C functions for SDL_Mixer callbacks into lambdas
- formatting fixes
2022-11-21 16:20:20 +02:00
SoundSSGood
584f6a6230
Update lib/CArtHandler.cpp
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-20 10:15:57 +02:00
SoundSSGood
4b52d38c57 artifact assemble fixed 2022-11-19 16:35:06 +02:00
SoundSSGood
e6e669d024 ArtifactUtils::isSlotBackpack() func + refactoring 2022-11-18 23:13:44 +02:00
SoundSSGood
30bbb57619
Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-18 22:15:03 +02:00
nordsoft
625c18a889 Fix #3234 2022-11-18 04:05:35 +04:00
SoundSSGood
e9ab894638 backpack assemble 2022-11-18 01:55:29 +02:00
SoundSSGood
2d078132bf assemble in backpack initial 2022-11-17 19:43:54 +02:00
Ivan Savenko
a65dd0726d Separated siege-related part of BattleInterface into separate class
- added constants for BattleHex'es of castle towers
2022-11-17 18:50:12 +02:00
Ivan Savenko
bd1b2e4977 Battle Interface refactoring: separated projectile handling into a
separate class (untested)
2022-11-17 13:21:03 +02:00
Nordsoft91
1893212abb
Merge pull request #1146 from IvanSavenko/ray_projectile
Implemented ray-like projectiles for shooters
2022-11-16 22:45:00 +04:00
Ivan Savenko
1bdc4240d1 Remove unused include 2022-11-16 12:16:23 +02:00
Ivan Savenko
6678a747bb Implemented ray-like projectiles for shooters
- Added missing support for ray-like projectiles
- Archmages, Evil Eyes and Beholders now use ray for shooting
- New method to draw 1 pixel-wide line with color gradient at arbitrary
angle
- fixed incorrect attackClimaxFrame field for Archmages
2022-11-15 21:42:16 +02:00
nordsoft
9b597fc8d4 Merge remote-tracking branch 'upstream/develop' into battle-dialog 2022-11-15 23:08:20 +04:00
Andrii Danylchenko
6974d4ea53
Merge pull request #1130 from IvanSavenko/banned_skills_fix
Fixes #1096 - do not propose banned skills on levelup
2022-11-15 09:32:12 +02:00
Andrii Danylchenko
8b964be71f
Merge pull request #1111 from GermanAizek/develop
Code refactor and fix condition bug
2022-11-15 09:23:16 +02:00
lainon
7fdad4e0f6 Code refactor following C++ standard and condition fixes 2022-11-15 03:20:55 +03:00
Ivan Savenko
729357824b Added common method for secondary skill availability checks 2022-11-14 19:08:49 +02:00
Ivan Savenko
e06db2365d Fixes #1096 - do not propose banned skills on levelup
Remove possibility to get banned skill on levelup as "obligatory skill"
if all other such skills have been learned before.

May happen under some conditions, e.g. if hero quickly learns other
magic schools - in witch hut/university, leading to case where banned
skill is the only obligatory skill that can be offered on levelup
2022-11-14 17:16:49 +02:00
Andrii Danylchenko
86972d7164
Merge pull request #1112 from SoundSSGood/bulk-move-swap-artifacts-rev2
Bulk move and swap artifacts rev2
2022-11-14 08:31:48 +02:00
SoundSSGood
98bf6931a1 cosmetic correction 2022-11-13 19:01:28 +02:00
SoundSSGood
57ab13c820
cosmetic correction 2022-11-13 17:09:48 +02:00
SoundSSGood
f9738f0d0b nullptr checks 2022-11-13 16:28:26 +02:00
SoundSSGood
aef87dd482 Apply suggested cosmetic changes 2022-11-13 15:28:09 +02:00
SoundSSGood
84841a5f0a BulkMoveArtifacts::applyGs reworked 2022-11-12 19:44:34 +02:00
Nordsoft91
072e2d72bb
Merge branch 'develop' into battle-dialog 2022-11-12 17:14:15 +04:00
SoundSSGood
6e5932c016 Apply suggested changes next part 2022-11-10 21:02:06 +02:00
SoundSSGood
ad47a7573c Code style. Typo. Code clean up. 2022-11-10 18:29:39 +02:00
SoundSSGood
b9087e2d63
Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-10 17:45:54 +02:00
Andrii Danylchenko
1ca2283a90
Merge pull request #1105 from krs0/feature/#1071__In_latest_night_builds_there_are_problems_with_schema_obstacle.json_and_file_obstacles.json
Problems with schema obstacle.json and file obstacles.json #1071
2022-11-10 11:53:08 +02:00
Andrii Danylchenko
5f92a0760f
Merge pull request #1113 from vcmi/nk-fix-hung
NKAI: a few crash/hang fixes
2022-11-10 11:48:17 +02:00
SoundSSGood
3a3b559a0b attempt to fix the build 2022-11-07 14:20:28 +02:00
SoundSSGood
203c54e956 BulkMoveArtifacts structure optimization 2022-11-07 14:13:36 +02:00
Andrii Danylchenko
233b850daf NKAI: a few crash/hang fixes 2022-11-07 13:58:20 +02:00
SoundSSGood
0032947735 regression fixed. Artifact assemble dialog shows multiple times. 2022-11-07 00:36:13 +02:00
SoundSSGood
f72a3e3884 function ArtifactUtils::checkSpellbookIsNeeded for the artifacts like a Titan's thunder 2022-11-07 00:18:05 +02:00
SoundSSGood
95ab343116 Net Packs BulkMoveArtifacts structure and BulkMoveArtifacts::applyCl 2022-11-06 23:54:50 +02:00
SoundSSGood
d0895e30ef callback functions and cleaning up unused code 2022-11-06 23:41:29 +02:00
SoundSSGood
363e461c3e ArtifactUtils and CArtifactFittingSet class 2022-11-06 23:29:22 +02:00
nordsoft
4ccad9178e Fix potential BattleInfo destruction before usage 2022-11-06 21:46:56 +04:00
nordsoft
0f35082024 Fix crash with objects belonging players without state 2022-11-06 03:26:13 +04:00
nordsoft
e9cf3ede2a Try to handle queries by ai 2022-11-05 06:34:38 +04:00
nordsoft
48925a50f2 Development 2022-11-05 03:35:46 +04:00
nordsoft
219a282916 First step 2022-11-05 03:35:32 +04:00
krs
aab394ff93 #1071 - In latest night builds there are problems with schema obstacle.json and file obstacles.json 2022-11-04 00:06:15 +02:00
Andrii Danylchenko
7618bc7425 Mantis-2934: fix conditions to upgrade town in h3m format parser 2022-10-23 16:40:07 +03:00
Andrii Danylchenko
601ced3749 BattleAI: rework movement when no targtes 2022-10-23 11:41:03 +03:00
Andrii Danylchenko
b43e0ff9e4
Merge pull request #972 from vcmi/cpp-map-editor
Cpp map editor
2022-10-22 12:42:27 +03:00
nordsoft
750f160276 Fix advmap spell mechanics 2022-10-20 22:34:27 +04:00
Andrii Danylchenko
c32d44190e
Merge pull request #1075 from Nordsoft91/town-entrance-fix
[1069] Fix bug related to town entrance
2022-10-19 13:42:33 +03:00
Andrii Danylchenko
288f36c0c3
Merge pull request #1052 from Nordsoft91/mp-disconnection
MP handle disconnection
2022-10-19 09:56:18 +03:00
nordsoft
7bcb318593 Fix bug related to town entrance 2022-10-19 02:54:06 +04:00
nordsoft
0adae7bb0d Revert "Fix crash for disconnecting client"
This reverts commit 28ab1e9777.
2022-10-19 00:14:16 +04:00
nordsoft
d5403d3eb9 Merge remote-tracking branch 'upstream/develop' into cpp-map-editor 2022-10-17 01:39:11 +04:00
Andrii Danylchenko
82a9f82e1c BattleAI: retreat 2022-10-14 12:00:56 +03:00
Andrii Danylchenko
6cbaa40e29 #1065 - fix random hero initial position 2022-10-13 11:58:32 +03:00
nordsoft
4cb31ea912 Merge remote-tracking branch 'upstream/develop' into cpp-map-editor 2022-10-08 23:24:57 +04:00
Nordsoft91
64a801004c
Apply suggestions from code review
Co-authored-by: Andrey Filipenkov <decapitator@ukr.net>
2022-10-08 19:41:38 +04:00
Tomasz Zieliński
8c481dff46 Fix incorrect templates for mines in HoTA 2022-10-08 12:42:10 +03:00
nordsoft
3ff38b84a2 Support hotseat over multiplier 2022-10-05 01:54:31 +04:00
nordsoft
a9ad583158 Restore AI controlled player for client disconnection 2022-10-04 18:11:12 +04:00
nordsoft
0ea5a8fbe7 Merge remote-tracking branch 'upstream/develop' into mp-disconnection
# Conflicts:
#	server/CVCMIServer.cpp
2022-10-04 17:41:43 +04:00
Andrey Filipenkov
92dd6d8c17 define app version only in CMakeLists
now it's propagated to code via macros
2022-10-04 12:29:38 +03:00
nordsoft
16a5414247 Reconnection partially works 2022-10-04 05:09:03 +04:00
nordsoft
b91bb41a80 One step forward 2022-10-04 02:25:22 +04:00
Andrii Danylchenko
382b3ae94a
Merge pull request #1041 from vcmi/nkai-fixes
NKAI: android fixes
2022-10-03 20:30:05 +03:00
Andrii Danylchenko
04490b709a
Merge pull request #1000 from vcmi/multiplayer
Multiplayer
2022-10-03 20:16:39 +03:00
nordsoft
512cf014aa Freeze current state 2022-10-03 20:47:00 +04:00
nordsoft
f4b7cf8196 Transfer player ownership to AI 2022-10-03 20:47:00 +04:00
nordsoft
28ab1e9777 Fix crash for disconnecting client 2022-10-03 20:47:00 +04:00
Andrii Danylchenko
8f599ed043 NKAI: android fixes 2022-10-03 09:01:15 +03:00
nordsoft
628abd1428 Fix campaign serialization 2022-10-03 01:48:03 +04:00
Andrii Danylchenko
d07586ccf6
Merge pull request #1022 from kambala-decapitator/apple-set-app-version
[Apple] set proper app and build versions
2022-10-01 20:48:37 +03:00
Andrii Danylchenko
b2ea2eaba6
Merge pull request #1032 from kambala-decapitator/ios-flat-libs-dir
switch to flat libs directory structure
2022-10-01 17:57:33 +03:00
Andrey Filipenkov
b26db479d7 don't add Necromancy to Witch Hut on random maps 2022-10-01 16:01:47 +03:00
Andrey Filipenkov
acfdbe87fe remove duplicate entry 2022-10-01 16:01:02 +03:00
Andrey Filipenkov
b766edb6af [iOS] don't nest AI and scripting libs under subdirectories
3rd party signing tools may ignore such directory layout
2022-10-01 12:36:48 +03:00
Andrey Filipenkov
aa217236b3 check amount of artifacts on hero when checking requirements of a quest that requires artifact(s)
fixes case when 2 or more identical artifacts are required
2022-10-01 09:28:32 +03:00
Andrey Filipenkov
86708841f8 code improvement 2022-10-01 09:24:58 +03:00
Andrey Filipenkov
a11135152c remove trivial manual implementation of assignment operator
fixes clang warning: Definition of implicit copy constructor for 'RiverType' is deprecated because it has a user-provided copy assignment operator
2022-09-30 11:26:36 +03:00
Tomasz Zieliński
127d7ec40b Fixed asserts (only for debug build) 2022-09-29 21:10:44 +02:00
nordsoft
fea05a4320 Finally game restart works
# Conflicts:
#	lib/CGameState.cpp
#	server/CVCMIServer.cpp
2022-09-29 21:08:05 +04:00
Andrii Danylchenko
dae726b82d
Merge pull request #1005 from kambala-decapitator/ios-min-12
raise iOS deployment target to 12.0
2022-09-29 19:57:04 +03:00
Andrii Danylchenko
557512b308
Merge pull request #1006 from AgostonSzepessy/dev/agos/small-fixes
Small misc fixes
2022-09-29 19:53:27 +03:00
DjWarmonger
58a3abb643
Merge pull request #963 from vcmi/terrain-rewrite
Terrain rewrite
2022-09-29 18:24:05 +02:00
Andrii Danylchenko
878aabd4d6
Merge pull request #981 from kambala-decapitator/fix-analyzer-warnings
Fix Clang Analyzer warnings
2022-09-29 19:23:24 +03:00
Tomasz Zieliński
20c102e648 Remove T prefix from new typedefs 2022-09-29 11:44:46 +02:00
nordsoft
9fb5d0e726 Fix stackinstance deserialization 2022-09-29 00:35:51 +04:00
nordsoft
7ee4fca120 Pass whole gamestate over network 2022-09-28 23:15:05 +04:00
Tomasz Zieliński
475f835769 More style tweaks 2022-09-28 11:38:08 +02:00
Tomasz Zieliński
d38b6297f8 missing line 2022-09-27 07:53:21 +02:00
Tomasz Zieliński
f386f42166 Merge remote-tracking branch 'origin/develop' into terrain-rewrite
# Conflicts:
#	lib/Terrain.cpp
#	lib/Terrain.h
#	lib/battle/CBattleInfoEssentials.cpp
#	lib/rmg/ObstaclePlacer.cpp
#	lib/rmg/RiverPlacer.cpp
2022-09-27 07:50:17 +02:00
Andrey Filipenkov
53ac61b52b iOS: don't create unused CConsoleHandler 2022-09-27 07:05:10 +03:00
Andrey Filipenkov
802147c5b7 add some asserts that shouldn't fire 2022-09-26 14:06:55 +03:00
Andrey Filipenkov
bbf08afb3d fix possible memory leak 2022-09-26 14:06:55 +03:00
Tomasz Zieliński
25f66097cc Handle RoadType by value / reference 2022-09-26 10:20:39 +02:00
Tomasz Zieliński
f804f8a326 Store RiverType by value, handle by reference 2022-09-26 09:51:36 +02:00
Tomasz Zieliński
2bd30556a3 Store TerrainType by havlue and handle by reference 2022-09-26 09:17:55 +02:00
Tomasz Zieliński
cd3a1a02c2 More style tweaks 2022-09-25 21:47:44 +02:00
Tomasz Zieliński
64fd896978 Free memory at TerrainTypeHandler destruction 2022-09-25 20:52:51 +02:00
Andrii Danylchenko
27dbee6069
Merge pull request #975 from Nordsoft91/incomatibility-response
Incompatibility response
2022-09-25 18:26:02 +03:00
Andrii Danylchenko
127a7e6653
Merge pull request #959 from kambala-decapitator/fix-cursor-attack
fix cursor image on hover when there're multiple creatures nearby
2022-09-25 17:44:10 +03:00
Andrii Danylchenko
742030bbc0 fix checking if a tile is guarded 2022-09-25 13:13:37 +03:00
Nordsoft91
d4f97aadf0
Merge branch 'develop' into incomatibility-response 2022-09-25 13:26:07 +04:00
Tomasz Zieliński
4ea57ea7fc A variety of suggested style tweaks 2022-09-25 09:33:56 +02:00
Andrey Filipenkov
72feb538ce add explicit null pointer checks 2022-09-25 10:05:16 +03:00
Agoston Szepessy
0718acdb6d Use tuple instead of vector for comparing values
There are only 3 values, and they're only used for doing a comparison,
so it's wasteful to create a whole vector for that. std::tuple is better
suited for this use case.
2022-09-24 23:50:31 -07:00
Tomasz Zieliński
97a94ce61e Handle Tile by reference instead of pointer 2022-09-25 08:04:15 +02:00
nordsoft
d32898b39b Merge remote-tracking branch 'upstream/develop' into cpp-map-editor
# Conflicts:
#	CMakeLists.txt
2022-09-25 00:58:43 +04:00
Andrey Filipenkov
659be89a01 remove setting values that are never read 2022-09-24 16:52:38 +03:00
Andrey Filipenkov
9f46bf5bff Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-09-24 15:55:26 +03:00
Andrey Filipenkov
011f303397 code style improvement 2022-09-24 15:55:25 +03:00
Andrey Filipenkov
a5f9efb3df workaround GCC < 7.0 bug
template specialization from namespace must be enclosed in the namespace
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480
2022-09-24 15:55:25 +03:00
Andrey Filipenkov
031ba967d3 fix indentation 2022-09-24 15:55:24 +03:00
Andrey Filipenkov
e1c9903a45 extract iOS helpers into a shared lib 2022-09-24 15:55:24 +03:00
Andrey Filipenkov
0503993b8d avoid reloading server's filesystem stuff 2022-09-24 15:55:24 +03:00
Andrey Filipenkov
35e1b86683 remove no longer needed adjustments 2022-09-24 15:55:24 +03:00
Andrey Filipenkov
bb00ec8ce2 remove entitlements and shared container usage
they're no longer required since we have a single app now
2022-09-24 15:55:22 +03:00
Andrey Filipenkov
2d3002bc1d add standard lib target back
- the moved CMakeLists.txt is turned into a macro (adds whitespace difference)
- now uses absolute paths to the lib and include dirs
- refactors iOS install section to use "early continue" in the foreach loop
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
267e8df7db move lib/CMakeLists.txt to cmake_modules/VCMI_lib.cmake
preparation to be able to duplicate the lib target
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
ff635edc0b wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
27551a9eae fix using local minizip after rebase 2022-09-24 15:55:20 +03:00
Andrey Filipenkov
3388583089 use component-based install to copy only what's needed for every app 2022-09-24 15:55:20 +03:00
Andrey Filipenkov
13d0de17cd use shared path as user data when available 2022-09-24 15:55:19 +03:00
Andrey Filipenkov
821672a1a4 refactor VCMIDirsIOS::dataPaths() 2022-09-24 15:55:19 +03:00
Andrey Filipenkov
497bf58d32 disable modules 2022-09-24 15:55:19 +03:00
Andrey Filipenkov
2354023731 move extern "C" to header 2022-09-24 15:55:18 +03:00
Andrey Filipenkov
01c17d856f support restarting server thread
kambala-decapitator/vcmi#27
2022-09-24 15:55:18 +03:00
Andrey Filipenkov
2fc4d48215 load game data from shared dir
kambala-decapitator/vcmi#15
2022-09-24 15:55:18 +03:00
Andrey Filipenkov
9b3c2f2a82 some cleanup 2022-09-24 15:55:18 +03:00
Andrey Filipenkov
568e7446b9 show logs without debugger attached 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
dde9a5d5d2 todo updates 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
75282366c0 log messages with os_log 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
cfa22c33ad use rpath properly 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
b6c4126bed install files after building server/client
package required files inside app bundle
2022-09-24 15:55:17 +03:00
Andrey Filipenkov
e72e5cea6f attempt to run server in a separate app
partially reverts 3258f8bb40487e3731bf452dbda1add6294ff4b2
2022-09-24 15:55:17 +03:00
Andrey Filipenkov
26a1cc5b73 todos 2022-09-24 15:55:16 +03:00
Andrey Filipenkov
98d507d0a5 disable console colors as Xcode doesn't render them 2022-09-24 15:55:16 +03:00
Andrey Filipenkov
b8fa692bda simulator reads data from the macOS directory 2022-09-24 15:55:16 +03:00
Andrey Filipenkov
2e18299897 make server a static lib, run it in a separate thread
issues to solve:
- dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. 13CPackForLobby, 20LobbyClientConnected, 20LobbyClientConnected.
- error setting socket option: set_option: No buffer space available
2022-09-24 15:55:16 +03:00
Andrey Filipenkov
d6f8e4328c implement setting thread name on macOS/iOS 2022-09-24 15:55:16 +03:00
Andrey Filipenkov
8249171066 implement VCMIDirs 2022-09-24 15:55:16 +03:00
Nordsoft91
824aec8416
Apply suggestions from code review
Co-authored-by: Andrey Filipenkov <decapitator@ukr.net>
2022-09-24 13:03:46 +04:00
Tomasz Zieliński
0b56778e00 Fix for compatibility in rewrite 2022-09-23 20:01:54 +02:00
Tomasz Zieliński
a5077245a8 Merge remote-tracking branch 'origin/develop' into terrain-rewrite
# Conflicts:
#	lib/Terrain.cpp
#	lib/Terrain.h
2022-09-23 20:01:13 +02:00
Tomasz Zieliński
f883395710 A little refactoring 2022-09-23 19:26:38 +02:00
Tomasz Zieliński
09931b6c9d Moved roads and rivers to config files.
This also allows adding new ones via mods.
2022-09-23 18:57:16 +02:00
Tomasz Zieliński
ebe45d512d Moved roads and rivers to TerrainTypeHandler, by analogy to TerrainType. 2022-09-23 16:24:01 +02:00
nordsoft
8f6f9707a6 Read error message from translate.json 2022-09-23 15:20:11 +04:00
nordsoft
e74890c4b1 Add system message about mods incompatibility 2022-09-23 15:02:45 +04:00
Andrii Danylchenko
cfbd933d7d
Merge pull request #905 from Nordsoft91/mod-version-launcher
Mod versioning in launcher [part 4]
2022-09-23 13:59:29 +03:00
nordsoft
3101a207a0 hotfix for broken game loading 2022-09-23 12:34:44 +04:00
Andrii Danylchenko
eb7c263010
Merge pull request #964 from kambala-decapitator/warriors-tomb-message
fix showing "visited" message for Warrior's Tomb
2022-09-23 11:08:52 +03:00
Tomasz Zieliński
6aaf77812b Changed logic for zone placement.
Now every zone can be surface, underground, or both. This is separate from water <-> land distinction.

Iand type is now a combination of flags and can take multiple values: "type": ["LAND", "WATER", "SURFACE", "SUB", "ROCK"]. In nothing is specified, terrains get LAND | SURFACE flags by default.

Non-surface zones will default to DIRT, and non-underground zones will default to SUBTERRA.
2022-09-22 18:23:31 +02:00
Andrii Danylchenko
43a1a8b76d
Merge pull request #928 from kambala-decapitator/quick-recruit-no-creatures
show message instead of the Quick Recruit dialog when there're no creatures in town
2022-09-22 18:21:45 +03:00
nordsoft
89d0de53da Merge remote-tracking branch 'upstream/develop' into features/cpp-map-editor
# Conflicts:
#	.github/workflows/github.yml
#	launcher/modManager/cmodlist.cpp
#	lib/CModHandler.cpp
#	lib/CModHandler.h
2022-09-22 17:09:47 +04:00
Andrii Danylchenko
b4d3445559
Merge pull request #971 from kambala-decapitator/fix-warnings
Fix most project warnings
2022-09-22 16:05:32 +03:00
nordsoft
2c7198a01a Increment vcmi version 2022-09-22 16:41:23 +04:00
Andrii Danylchenko
afe84f16e8
Merge pull request #968 from kambala-decapitator/disable-scripting
Disable scripting modules by default
2022-09-22 15:23:17 +03:00
Andrii Danylchenko
3d3c513603
Merge pull request #929 from Nordsoft91/branch-merge-versioning
Mods versioning [part 3]
2022-09-22 14:56:20 +03:00
Andrey Filipenkov
c9c79887a7 remove unused variables 2022-09-22 11:54:10 +03:00
Andrey Filipenkov
3616827aad use default implementation of special methods 2022-09-22 11:54:09 +03:00
Andrey Filipenkov
a1cf120ea6 add missing virtual destructors 2022-09-22 11:54:09 +03:00
Tomasz Zieliński
e53613caa7 Fixed crash in pathfinder 2022-09-21 21:44:39 +02:00
Andrey Filipenkov
7e6ed0583c disable all scripting code when configuring without scripting modules 2022-09-21 19:31:42 +03:00
Andrey Filipenkov
6cd810e065 fix showing "visited" message for Warrior's Tomb 2022-09-21 15:19:04 +03:00
Tomasz Zieliński
97c17c6294 - Terrain config
- Fix for underground terrains
2022-09-21 14:11:32 +02:00
Tomasz Zieliński
c9c4603f75 Firts working version that launches original maps 2022-09-21 13:43:57 +02:00
Tomasz Zieliński
11e1bb44a2 Load sounds for new terrains later 2022-09-21 13:43:00 +02:00
Tomasz Zieliński
494b0f0226 First version that compiles 2022-09-21 11:34:23 +02:00
Tomasz Zieliński
b20f649521 stash 2022-09-19 16:13:58 +02:00
nordsoft
c348c1a053 Revert "Load template name from user settings"
This reverts commit 73cc606ee2.

# Conflicts:
#	lib/rmg/CRmgTemplateStorage.cpp
#	lib/rmg/CRmgTemplateStorage.h
#	mapeditor/windownewmap.cpp
2022-09-19 02:46:01 +04:00
Nordsoft91
60264aae29
Apply suggestions from code review
Co-authored-by: Andrey Filipenkov <decapitator@ukr.net>
2022-09-19 01:18:17 +04:00
Andrey Filipenkov
a320af837d fix includes in client subdirectories 2022-09-18 17:43:40 +03:00
DjWarmonger
7ba271edf1
Rotation rebase2 (#912)
* Instead of [x][y][z] coordinates, map will be stored as [z][x][y].
* Nullkiller AI can get it too.
* Use boost::multi_array instead of nested vectors
* In MapHandler too
* Rotate foreach algorithms, too
* VCAI gets rotated, too
2022-09-18 17:39:10 +03:00
Andrey Filipenkov
45f5fc04be [macOS] store logs in the standard system directory
~/Library/Logs/vcmi
2022-09-18 09:24:36 +03:00
Andrey Filipenkov
99af5bbe4c add dedicated method to get logs path 2022-09-18 09:24:36 +03:00
Andrey Filipenkov
03b4ea71ba move VCMIDirs::genHelpString() implementation to the base class
removes copy-paste
2022-09-18 09:24:36 +03:00
nordsoft
0b9f601d2c Squashing editor 2022-09-18 03:23:17 +04:00
nordsoft
1b6f4a5cf3 Rebase on develop 2022-09-17 17:43:59 +04:00
Nordsoft91
e4ac0d4370
Editor prerequisites [part 2] (#889) 2022-09-17 14:04:01 +03:00
Andrii Danylchenko
faccad7a15 #913 fix artifact assembling check 2022-09-16 14:13:56 +03:00
nordsoft
a598925a0b Support pickable objects 2022-09-16 09:41:23 +03:00
Nordsoft91
ad01c7ffce
Vlc obstacles [part 1] (#888)
* obstacles content handler, entity service and VLC integration
2022-09-15 11:06:54 +03:00
nordsoft
7dc05d8e81 Support rewardable objects 2022-09-15 11:05:13 +03:00
Tomasz Zieliński
77e43cb36f Cache Pathfinding skill 2022-09-14 15:24:24 +02:00