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

435 Commits

Author SHA1 Message Date
Ivan Savenko
77b58bc66d Cleaned up object constructors to reduce duplicated code 2023-06-16 17:59:50 +03:00
Ivan Savenko
8614419954
Merge pull request #2208 from IvanSavenko/obstacles_foreground
Implemented foreground/background obstacles
2023-06-14 15:49:08 +03:00
krs
9496cb4058 rangedFullDamageLimitHighlightOnHover is now turned off by default 2023-06-11 19:36:46 +03:00
krs
c0591573bf Working Version 2023-06-11 18:40:47 +03:00
Ivan Savenko
428fb832c6 Implemented foreground/background obstacles:
- obstacles now have "foreground" field
- if "foreground" field set, obstacle will appear on top of other
objects, such as units
- if "foreground" is not set, obstacle will appear below units
- updated schema and cleared up obstacles config
2023-06-06 15:53:14 +03:00
Ivan Savenko
238a02eb5e It is now possible to cancel attack-via-swiping by moving finger away 2023-06-05 19:20:20 +03:00
Ivan Savenko
6283329aeb Added option to disable edge scrolling 2023-06-05 19:20:20 +03:00
Ivan Savenko
a08ff1e6ef Removed no longer used touchscreen option 2023-06-05 19:20:08 +03:00
Ivan Savenko
b20109c830 Test version of swipe gesture for in-combat attacks 2023-06-05 19:20:08 +03:00
Ivan Savenko
2c7b94d17f Remove unused map swipe option 2023-06-05 19:20:08 +03:00
krs
289a6da3d7 Merge fix for battlefield 2023-05-19 21:23:08 +03:00
krs
105dcf5a9f Fixed white spaces 2023-05-19 21:14:01 +03:00
krs
2e6cae80a9 Schemas rearranged
Artifact Schema rearranged


Battlefield schema rearanged


Bonus schema rearranged


Faction Schema rearanged


Hero Schema rearranged


HeroClass schema rearranged


MapHeader schema updated, something fishy in events


Mod schema updated. Settings not complete


Object schema rearranged


Object schema rearranged


object type schema rearranged


obstacles schema rearranged


Rivers schema updated


roads schema updated


script schema updated


skill schema updated


spell schema updated


template schema update


terrain schemas updated


town buildings schema update


town siege schema updated


town structure schema updated
2023-05-19 21:04:47 +03:00
Ivan Savenko
805721f8d7 Add missing check for file presence 2023-05-16 21:58:09 +03:00
Ivan Savenko
5e3a0a1a75 Fixed json validation 2023-05-15 22:22:54 +03:00
Ivan Savenko
a4b102e46f Implemented UI scaling (non-selectable option for now) 2023-05-09 13:10:33 +03:00
Ivan Savenko
4c93b8f3f2 Use separate json for vcmi-1.3 2023-05-04 19:38:36 +03:00
Konstantin
05eccbc2bb vcmi: split bonus to enumerator and HeroBonus.h 2023-05-03 18:01:06 +03:00
nordsoft
bfc75ccd39 Merge remote-tracking branch 'upstream/develop' into battle-dialog 2023-04-11 02:22:42 +04:00
krs
709a8a6eb3 movementHighlightOnHover is now saved with settings 2023-04-08 20:42:16 +03:00
nordsoft
52b53ab307 Feature and setting implemented 2023-04-08 01:49:59 +04:00
nordsoft
ece8a2a41f Merge branch 'battle-dialog' into battle-dialog2
# Conflicts:
#	AI/BattleAI/BattleAI.h
#	AI/StupidAI/StupidAI.h
#	client/CPlayerInterface.cpp
#	client/CPlayerInterface.h
#	client/Client.cpp
#	client/NetPacksClient.cpp
#	client/battle/CBattleInterface.cpp
#	client/battle/CBattleInterface.h
#	client/battle/CBattleInterfaceClasses.cpp
#	client/battle/CBattleInterfaceClasses.h
#	config/schemas/settings.json
#	lib/CGameInterface.h
#	lib/IGameEventsReceiver.h
#	lib/NetPacks.h
#	lib/NetPacksLib.cpp
#	lib/battle/BattleInfo.cpp
#	server/CGameHandler.cpp
#	server/CQuery.h
2023-04-06 19:53:52 +04:00
Ivan Savenko
307065a633 Merge beta into develop 2023-04-04 16:06:20 +03:00
Ivan Savenko
220f4531a1 Changed default mod repository path 2023-03-31 23:18:45 +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
Ivan Savenko
8a3e1b0230
Merge pull request #1789 from IvanSavenko/beta_fixes
Fixes for 1.2 release
2023-03-30 00:09:51 +03:00
Ivan Savenko
21ea50ca1e Check obstacle image for existance in schema 2023-03-28 17:02:18 +03:00
Ivan Savenko
b3b2426b19 Updated mod.json schema 2023-03-27 22:33:36 +03:00
Ivan Savenko
d1f6497bc8
Merge pull request #1768 from vcmi/default_ai
Make NKAI default AI
2023-03-27 21:20:01 +03:00
Ivan Savenko
7fd0d0beb1 Made English first language so invalid values would reset to it 2023-03-25 23:54:51 +02:00
Tomasz Zieliński
ab57941f0a Make NKAI default AI. 2023-03-25 12:17:35 +01:00
Ivan Savenko
aea2a1e22e Fixed loading of settings from mods 2023-03-16 18:11:36 +02: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
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
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
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
Ivan Savenko
a062e5e425 - Implemented proposition to install translation mod when necessary 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
Konstantin
a0c644a0e5 vcmi: actually implement AUTO for CInfoWindow
This is possible to use infobar interactions now.
2023-03-11 21:41:57 +03:00
Ivan Savenko
58cfea02f1 Added option to skip validation of mods 2023-03-07 00:06:58 +02:00
Ivan Savenko
f768a5543e Removed deprecated encoding option 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
2e69a4769d Implemented framerate limit option (not available in UI) 2023-03-05 21:06:52 +02: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
Ivan Savenko
b9056ef248 Moved swipe handling to TerrainRect class 2023-03-05 17:57:34 +02:00
Ivan Savenko
cda78fb30f Added option to disable animations for very low-end systems 2023-03-05 17:48:02 +02:00
Ivan Savenko
ebe996fa74 Hero movement speed and map scrolling speed now matches H3 2023-03-05 17:48:02 +02:00
Ivan Savenko
6643408cdd Fixed localization validation 2023-03-05 17:30:38 +02:00
Ivan Savenko
ad87735d8d Updated schema 2023-03-05 17:30:38 +02:00
Konstantin
f6695737d6 vcmi: allow loads bonuses info from mods
It is useful for making custom bonus graphics into mods, now
mods just replace game config, which is not good.
2023-03-04 22:50:00 +03:00
Dydzio
775db89241 Fix battle settings UI labels, add "dont show battle intro" setting 2023-02-15 20:29:29 +01:00
Dydzio
1d153f4ee9 "ForceMovementInfo" support + make other settings tab 2023-02-14 23:45:45 +01:00
Dydzio
d04c53e7e0 Merge branch 'develop' into settings-rework 2023-02-02 11:55:13 +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
Dydzio
cc9d65a341 Make battle settings callable without battle, save last settings tab 2023-01-30 22:15:37 +01:00
Ivan Savenko
57ee9a9bf3 Merge vcmi/beta into vcmi/develop 2023-01-29 18:21:55 +02:00
Ivan Savenko
3749074a4d Renamed speed setting name to force-reset it to new scale 2023-01-28 16:49:35 +02:00
Ivan Savenko
a853045509 Removed unused value from creature config 2023-01-28 13:56:51 +02:00
Ivan Savenko
bc27faea57 All objects will register single name per object type 2023-01-26 23:32:55 +02:00
Ivan Savenko
f71cbc5d9b Fixed loading of object names 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
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
Ivan Savenko
f5a7f5173f Cursor type is now configurable in Launcher 2023-01-20 15:15:19 +02:00
Ivan Savenko
e684300715 Fix mod validation for terrains 2023-01-18 15:48:10 +02:00
Andrii Danylchenko
6c843bce0b SDL relative pointer for android 2023-01-18 10:38:55 +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
Ivan Savenko
05ac217b0f Merge with vcmi/develop 2023-01-17 23:02:25 +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
96141f010b Merge remote-tracking branch 'vcmi/develop' into translate_launcher 2023-01-15 23:55:49 +02:00
Ivan Savenko
6985f2e050 Cursor type can now be set in settings.json 2023-01-15 21:18:34 +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
Andrey Filipenkov
efbed6000b fix typo 2023-01-15 17:28:09 +02:00
Ivan Savenko
192e856797 merge with vcmi/develop 2023-01-11 16:47:53 +02:00
Ivan Savenko
668aee71ff Added schemas for rivers & roads, updated terrain schema 2023-01-10 00:01:35 +02:00
Ivan Savenko
d9aab0a847
Merge pull request #1318 from IvanSavenko/translate_mapeditor
Translate mapeditor
2023-01-09 21:25:09 +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
67f7e5d042 Apply review suggestions 2023-01-07 16:15:45 +02:00
Ivan Savenko
f9575d6690 Added languages validation to settings schema 2022-12-28 17:57:03 +02:00
Ivan Savenko
abc7c890bf Backported required changes from Launcher branch 2022-12-26 23:26:19 +02:00
Ivan Savenko
9d2704adc3 Updated mod.json schema to include localization support 2022-12-26 00:03:00 +02:00
Ivan Savenko
e4e5278f60 Merge with vcmi/develop 2022-12-25 23:10:52 +02:00
Ivan Savenko
4cd91ffbed Save & load language selection 2022-12-25 23:06:22 +02:00
Ivan Savenko
01e8a83c56 Expanded schema accoring to Nordsoft info 2022-12-20 01:55:59 +04:00
Ivan Savenko
5ae17cb1ff Moved tower shooters info to "vcmi" mod
Required for file presence validation checks to pass since tower shooter
icons reside in vcmi mod
2022-12-20 01:55:59 +04: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
nordsoft
b7cab0e01d Merge remote-tracking branch 'upstream/develop' into battle-dialog 2022-11-30 01:03:57 +04:00
Ivan Savenko
8b7ca176f8 Updated schema 2022-11-29 15:14:10 +02:00
nordsoft
44e469a2c7 Merge branch 'develop-upstream' into battle-dialog 2022-11-25 14:38:49 +04:00
Nordsoft91
3133c238b8 Merge pull request #1146 from IvanSavenko/ray_projectile
Implemented ray-like projectiles for shooters
2022-11-22 03:36:50 +04:00
Ivan Savenko
9afc1eed49 Expanded schema to validate ray configuration 2022-11-16 12:26:56 +02:00
nordsoft
15ba4cda70 Cosmetic improvements for lobby 2022-11-16 04:22:48 +04:00
nordsoft
b253b19dc3 Support draw scenario (doesnt work properly) 2022-11-16 02:50:47 +04: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
e7a8466e2b Merge remote-tracking branch 'upstream/develop' into lobby 2022-11-15 22:09:46 +04:00
Nordsoft91
072e2d72bb
Merge branch 'develop' into battle-dialog 2022-11-12 17:14:15 +04:00
nordsoft
97e5fc8a07 Lobby works 2022-11-08 04:44:34 +04:00
nordsoft
dcda359567 Enable quick combat by default 2022-11-05 22:51:02 +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
nordsoft
1c84cc4521 Merge remote-tracking branch 'upstream/develop' into lobby 2022-11-01 16:30:27 +04:00
nordsoft
dd45d1a9cf Develop game part 2022-10-25 05:27:53 +04:00
nordsoft
aac859a030 Store settings 2022-10-23 23:24:33 +04: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
5743310aec Revert settings.json 2022-10-09 00:13:39 +04:00
nordsoft
4cb31ea912 Merge remote-tracking branch 'upstream/develop' into cpp-map-editor 2022-10-08 23:24:57 +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
nordsoft
16a5414247 Reconnection partially works 2022-10-04 05:09:03 +04:00
nordsoft
512cf014aa Freeze current state 2022-10-03 20:47:00 +04:00
Andrey Filipenkov
e8396401f9 fetch Extra Resolutions mod path from the settings schema 2022-09-27 11:56:13 +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
nordsoft
0b9f601d2c Squashing editor 2022-09-18 03:23:17 +04:00
Nordsoft91
ad01c7ffce
Vlc obstacles [part 1] (#888)
* obstacles content handler, entity service and VLC integration
2022-09-15 11:06:54 +03:00
Andrii Danylchenko
4b4cc3cf4b battlefields in VLC and custom bonuses for terrain patches 2022-09-11 11:31:27 +03:00
Nordsoft91
5862c192b0
Mod from GitHub (#785)
* Make new dialog for checking updates
* update on startup
* Implemented auto-update
2022-09-04 19:32:48 +03:00
Nordsoft91
0b29fec63c Rmg water support (#754)
* Final changes before merge
2022-06-11 18:40:24 +03:00
Nordsoft91
5054ee011a Rmg water support (#751)
* Roads added to shipyard
* Load general rmg parameters from config
* Fix issue with default zone guard
* Move magic numbers related to balance to randomMap.json
2022-06-11 18:40:24 +03:00
Nordsoft91
9d06e51631
Place proper towns in underground (#743)
Implement feature of proper town selection in underground and surface
* Some minor refactoring of rmg
2022-05-28 16:03:50 +03:00
Andrii Danylchenko
55b8aac63e fix missed required fields in settings 2022-05-16 12:09:10 +03:00
Andrii Danylchenko
e220918230 full crash dump 2022-05-14 13:23:09 +03:00
Andrii Danylchenko
2fc7cf02b0 tray notification for windows 2022-05-14 13:23:09 +03:00
kdmcser
10cfefdf9d
fix bug: valid json will failed when object template contains zIndex (#698) 2021-07-18 10:44:44 +03:00
AlexVinS
ecaa9f5d0b Entities redesign and a few ERM features
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2021-02-14 19:05:43 +03:00
Dmitry Orlov
854a2e6c39 Feature: Mods system improvement, Part III. Bunusing buildings customization. 2021-01-14 01:02:13 +03:00
Dmitry Orlov
f4816b0824 Mod system improvement Part I : Special buildings should work in the modders towns 2020-10-07 12:35:11 +03:00
AlexVinS
4b5910c2f4 VCAI performance improvements
* Node graph initialization optimized.
* Fixed "Unathorized obstacle access".
* Pathfinding tracing disabled with ifdef.
* Misc bonus calculation optimizations.
* Removed timestamp from log lines. Date formatting eats too much CPU.
* Paths for all heroes in Client are now cached
2019-01-17 10:50:56 +03:00
godric3
8650a8eea8 allow json schema references to use relative file path 2018-10-30 22:30:56 +01:00
Fior.in
cca46e311d Fixed schemas for battle animation overwritting an solo attribute instead images attribute dependant. Now working for replacing battle sprites on pre-existant heroes too (#490) 2018-09-13 02:33:34 +03:00
Fior.in
47ba3b2476 Hero scheme: allow each hero to have a unique battle animation (#480)
* attribute for battle image added on hero class, allowing on hero schemes each hero have a unique battle .def in 'images' structures sided with portraits and specialties images
2018-08-27 09:42:36 +03:00
Dydzio
b37ba8e046 Initial version of AI object value config 2018-07-28 00:43:56 +02:00
Henning Koehler
2ede3783dd Settings: savefrequency is now configurable in launcher
* Client command-line can modify arbitrary settings now
* Only launcher auto-saves to settings.json
2018-04-08 17:12:29 +07:00
Arseniy Shestakov
f04cbaf539 Settings: add lastMap, lastCampaign, lastSave to schema
Nice to see last used save game after client restart
2018-04-03 22:11:14 +07:00
Henning Koehler
82f334b503 Enable Limiter nesting with AllOf, AnyOf, NoneOf (#439)
* Renamed LimiterList to AllOfLimiter and added AnyOfLimiter, NoneOfLimiter
* Updated bonus schema to new limiter format
2018-04-01 18:17:34 +07:00
Henning Koehler
6ddcb079a4 Enabled new secondary skills to be created (#438)
* Universities, Scholars and Witch Huts may offer new skills
* Moved encode/decodeSkill to CSkillHandler
* Refactored CSkill interface and CSkill::LevelInfo image storage
* Legacy game constants renamed to ORIGINAL_XXX_QUANTITY
2018-03-31 12:56:40 +07:00
Henning Koehler
02b5a5e830 Make bonus stacking configurable + fix duplicate propagation/inheritance (#433)
Addresses several related problems:
* Propagation / unpropagation of duplicate bonuses is inconsistent, causing bugs
* Duplicate bonuses never stack, which is not always intended behaviour (e.g. multiple copies of resource generating artifacts)
* Different bonuses always stack, which is not always intended behaviour (e.g. Angel + Archangel morale bonuses)

This is addressed as follows:
* Duplicate bonuses are never eliminated during propagation/inheritance.
* Unpropagation eliminates only a single copy of duplicated bonus
* Bonus receives a new field stacking that determines stacking behaviour:
* * empty string = no stacking with duplicates (default)
* * "ALWAYS" = stacks with duplicates & everything else
* * some other value = no stacking with bonuses with same stacking value
Also Morale/Luck window now hides non-stacking bonuses.
2018-03-27 14:54:58 +07:00
Henning Koehler
7f76648a7c Extend Bonus.addInfo to integer vector (#427)
* changed Bonus::additionalInfo to integer vector

* fixed deserialization for old savegames

* removed newline from JsonNode::toJson()

* updated bonus schema; SPELL_AFTER_ATTACK and SPELL_BEFORE_ATTACK use new addInfo format

* removed unnecessary init in Bonus constructor
2018-03-12 08:20:18 +03:00
Henning Koehler
6442842731 added one-line option for standard creature specialty; also fixes bug for creatures where upgrades have different attack/defense 2018-02-18 20:59:05 +13:00
Henning Koehler
552bad08b3 added TimesHeroLevelUpdater; renamed ScalingUpdater to GrowsWithLevelUpdater 2018-02-18 20:36:24 +13:00
Henning Koehler
a002df399e updated json loading and schema to fit new specialty format 2018-02-18 19:27:24 +13:00
Henning Koehler
2703b035a6 added updater to Bonus json format 2018-02-18 17:33:23 +13:00
Henning Koehler
3e0022be27 added support for new specialty json format; old format is converted to bonuses with updaters 2018-02-18 17:33:23 +13:00
AlexVinS
0b70baa95e Spells configuration version 2 (effect-based)
* Indirect spell effects loading
* Json serializer improvements
* spell->canBeCastAt do not allow useless cast for any spell
* Added proxy caster class for spell-created obstacles
* Handle damage from spell-created obstacles inside mechanics
* Experimental GameState integration/regression tests
* Ignore mod settings and load only "vcmi" mod when running tests
* fixed https://bugs.vcmi.eu/view.php?id=2765 (with tests)
* Huge improvements of BattleAI regarding spell casts
* AI can cast almost any combat spell except TELEPORT, SACRIFICE and obstacle placement spells.
* Possible fix for https://bugs.vcmi.eu/view.php?id=1811
* CStack factored out to several classes
* [Battle] Allowed RETURN_AFTER_STRIKE effect on server side to be optional
* [Battle] Allowed BattleAction have multiple destinations
* [Spells] Converted limit|immunity to target condition
* [Spells] Use partial configuration reload for backward compatibility handling
* [Tests] Started tests for CUnitState
* Partial fixes of fire shield effect
* [Battle] Do HP calculations in 64 bits
* [BattleAI] Use threading for spell cast evaluation
* [BattleAI] Made AI be able to evaluate modified turn order (on hypothetical battle state)
* Implemented https://bugs.vcmi.eu/view.php?id=2811
* plug rare freeze when hypnotized unit shots vertically
* Correctly apply ONLY_MELEE_FIGHT / ONLY_DISTANCE_FIGHT for unit damage, attack & defense
* [BattleAI] Try to not waste a cast if battle is actually won already
* Extended JsonSerializeFormat API
* fixed https://bugs.vcmi.eu/view.php?id=2847
* Any unit effect can be now chained (not only damage like Chain Lightning)
** only damage effect for now actually uses "chainFactor"
* Possible quick fix for https://bugs.vcmi.eu/view.php?id=2860
2018-02-08 11:37:21 +03:00
Arseniy Shestakov
e7fa9f8cd6 config: add ambient, visit and removal sounds to schemas / objects 2018-01-02 09:48:17 +01:00
Henning Koehler
37df5c9d88 reworked mod loading to follow standard approach 2017-09-03 23:49:36 +12:00
Henning Koehler
dba5186a6f fixed skill schema definition 2017-08-30 20:01:09 +12:00
Henning Koehler
36d671b093 changed indentation from spaces to tabs 2017-08-30 16:23:03 +12:00
Henning Koehler
5e28202f94 dropped requirements for base in skill.json 2017-08-30 14:09:02 +12:00
Henning Koehler
899e8403f7 skills.json uses base and struct for effects 2017-08-30 10:25:36 +12:00
Henning Koehler
c0740e3623 fixed crash when loading neutral faction; skills.json no longer requires index values 2017-08-26 10:08:06 +12:00
Henning Koehler
0357a4fe3b enabled config of skill descriptions 2017-08-26 10:08:06 +12:00
Henning Koehler
64e2db6a0f added sufficient debug to diagnose - problem is with lack of original data 2017-08-26 10:08:06 +12:00
Henning Koehler
05cf95400c loading secondary skill bonuses from config/skills.json works (kind of) 2017-08-26 09:33:08 +12:00
Dydzio
c377f594a5 Add optional real fullscreen mode support 2017-07-08 18:43:04 +02:00
AlexVinS
0f5202689e Cumulative spell effects
* Added experimental support for cumulative effects for ENCHANTED bonus
* Updated and fixed SPECIAL_PECULIAR_ENCHANT processing
* Initial implementation of cumulative spell effects.
* Scheme for new spell feature - cumulative bonus.
2017-06-13 21:50:50 +03:00
Fay
01bae590f1 Added swipe support for non-android platforms; 2017-06-07 22:42:41 +02:00
AlexVinS
a31c28ec33 Unified war machine mechanics.
* it is possible to define new war machines
* added warMachine field to artifact configuration
2017-06-06 19:18:26 +03:00
Alexander Shishkin
7e1b0d71c5 Added option for saving generated maps on client side (#307)
* new configuration option 'general.saveRandomMaps'
* maps being saved to 'userCachePath/RandomMaps'
* no deletion of old random maps
* map filename generated based on template name and random seed
2017-06-04 20:33:28 +03:00
Fay
b5daa24982 Android support (#299)
* AI libs registering shenanigans on android;
* Fixed resolution aspect + mouse event scaling;
* Proper server init/deinit (through android IPC);
Enabled threaded init in CMT;
* Prevented a deadlock in logger on some devices;
* Fixed frozen intro frame after interrupting the video;
Added android progressbar displaying during initial data loading;
* Hacky fix for choppy animations during heroes movement (should look better now, but it's definitely not a good solution);
* Changes/fixes for new android launcher building process;
* Fixed app hang after getting SDL_QUIT when activity was destroyed;
* Functioanal, configurable advmap swiping support;
* VCMI changes cleanup;
Added few missing VCMI_ANDROID guards on swipe mechanics;
* Removed unneeded sleep in server startup code for android;
* Removed android ioapi hack (fixed in newest ndk);
* Removed unused android's library loading logic;
* Added android's swipe option to settings schema;
* Moved NO_STD_TOSTRING to be defined in global.h instead of build files;
2017-05-25 20:57:20 +03:00
Michał Kalinowski
4d39f652bf Making more detailed options when choosing AI in launcher: http://
bugs.vcmi.eu/view.php?id=2369
2017-01-17 12:34:28 +01:00
Krzesimir Nowak
32f5033a4d Add a displayIndex setting to the video settings
This setting will control on which display the game window will be
shown.
2016-08-31 11:12:59 +02:00
Arseniy Shestakov
8c39ecf538 moatHexes: add saves and mods compatability 2016-01-28 01:35:01 +03:00
Arseniy Shestakov
ffeb7f253b moatHexes: update faction schema and configuration files 2016-01-06 12:52:52 +03:00
ArseniyShestakov
e91d79414b PathfinderOptions: use settings and move all defaults into schema 2015-11-21 00:32:23 +03:00
AlexVinS
98ea8bf314 Introduce dummy spell animation/ animation pause configuration
* save format changed with backward compatibility, UNTESTED
2015-09-12 21:09:52 +03:00
AlexVinS
83fdce473e Fix mod schema: RMG templates added. 2015-07-27 08:36:19 +03:00
AlexVinS
5f8ecc22d5 Introduce configuration option for editor animation of map object and setup it for hero classes. 2015-06-10 14:21:33 +03:00
DjWarmonger
a68b58d969 - Use straight paths for some connections
- More fixes for template schema
2015-06-02 16:40:32 +02:00
DjWarmonger
d6225f50e1 Fixes for template schema. 2015-06-02 15:26:33 +02:00
DjWarmonger
6890ae9f02 - Fixed improper use of playersCount. Now RMG can generate maps up to 8 players, with CPU players only as well.
- Fixes for template scheme
2015-05-27 11:30:46 +02:00
DjWarmonger
2e70d8a084 - VCMI will now read templates from mods
- Added partial schema for RMG template
2015-05-26 18:19:41 +02:00
AlexVinS
8f84e24aa6 Get rid of mainEffectAnim 2014-11-28 01:03:25 +03:00
AlexVinS
d94f15bdf4 Added configurable animation for SPELL_LIKE_ATTACK 2014-11-28 00:36:14 +03:00
AlexVinS
75b93b070d Implemented configurable hit/affect animation
* need more testing
2014-11-27 16:51:16 +03:00
AlexVinS
16d08b062a First draft of spell animation configuration 2014-11-26 22:25:13 +03:00
AlexVinS
ce8fa33efc Introduced new spell configuration options (not used yet) 2014-11-13 13:37:42 +03:00
josch
b962e11bd7 Launcher: add setting allowing not to automatically check remote repositories
- add a button to the launcher which allows manual downloading
 - add a configuration option autoCheckRepositories to launcher settings
 - add ui elements to settings dialog to change autoCheckRepositories
2014-11-10 08:21:47 +01:00
Ivan Savenko
b551bdb725 Final part of the merge
Merging VCMI Dirs refactoring + GUI refactoring with current develop
2014-09-04 20:59:07 +03:00
Ivan Savenko
e692f3f520 Implemnted enemy turn speed selection:
- implemented switch in settings screen
- implemented "0 speed", animation-free. *may* also work for player-owned heroes
- removed no longer used creature window switch
2014-08-11 19:16:39 +03:00
Ivan Savenko
00cda400a1 Miscellaneous improvements for Launcher UI:
- Implemented "show intro" toggle in settings
- Install/Update/Enable buttons are now visible even when mod info is hidden
- Fixed behaviour of show mod info switch, added more obvious button to enable it
- Removed no longer used "Enable mods on install" switch
- Added buttons to open data, user data and temporary directories
2014-08-04 14:03:57 +03:00
AlexVinS
195eae48ca Merge branch 'develop' into SDL2
Conflicts:
	client/CPlayerInterface.cpp
2014-07-02 17:15:12 +04:00
Ivan Savenko
6e3eaeee21 Minor fix to schema, server will print visited objects in debug log 2014-06-25 00:23:56 +03:00
AlexVinS
3b8d0e44d4 Merge branch 'develop' into SDL2 2014-06-24 14:09:44 +04:00
Ivan Savenko
09d595e385 - Implemented "mapObject" entry for hero classes
- Updated schemas
- Some bugfixing
2014-06-16 19:27:26 +03:00
AlexVinS
3db7fb4f63 Still try to fix opengl backend
- no success
+ make backend selection configurable
2014-06-13 07:55:45 +04:00
AlexVinS
1597254399 just a few tweaks and it works!
* enable video again
* set default bpp to 32 - SDL2 dont like 24 bit resolution
* now almost everything looks as expected (some issues are present though)
2014-06-13 07:55:40 +04:00
Ivan Savenko
7e057b6df8 Bugfixing, game can finally load to main menu without crash 2014-06-04 11:25:13 +03:00
Ivan Savenko
32b6568b65 Merged changes from upstream and fixed compilation caused by API changes 2014-06-03 22:45:18 +03:00
Ivan Savenko
dc7f820161 Implemented object schema. Commiting current progress before sync with
upstream.
2014-06-03 21:43:33 +03:00
AlexVinS
f2b61f7e69 Spell configuration: introduce simplifaction mechanism for level conficuration
* also aviable for other handlers
2014-05-18 18:47:18 +04:00
AlexVinS
3209114393 Spell configuration. Introduce absoluteLimit.
* limit will be made negatable.
* now limit and immunity will look more solid.
* unused ATM
2014-05-18 17:22:02 +04:00
Macron1Robot
4a7a952590 Update faction.json
Added videoFile format to tavernVideo property
2014-04-29 21:55:35 +04:00
Macron1Robot
907caedb13 Added "produce" section in "building" structure. Changed dailyIncome. 2014-04-26 18:23:35 +04:00
Macron1Robot
b7b890acff Added "tavernVideo","guildBackground" to "faction" JSON config and schema. If "primaryResource" is set to "gold", silo will generate 500 gold per day 2014-04-24 23:36:18 +04:00
Ivan Savenko
1cec8d4cfc Some bits towards replacements of objects.txt, first step towards
configurable objects support:
- fixes for object template loader
- schema for current object template format
2014-03-23 20:26:18 +00:00
Ivan Savenko
9c0df68cb8 Fixing spelling mistakes. Patch from josch, fixes #1759 2014-03-23 12:59:03 +00:00
Ivan Savenko
9dda194ed3 Support for new fields in mod format including:
- screenshots, repository-only field, will be used by launcher to d/l
screeenshots
- screenshots will be viewed as thumbnails with switch to full view on
click
- changelog that is now visible in launcher
- somewhat better handling of submods by launcher
2014-03-23 12:08:01 +00:00
alexvins
9cac0af7be [Spells] More spell related refactoring
+ smart target modifier
- CREATURE_EXPERT_MASSIVE target type
* save format changed

spell format changes already documented in http://wiki.vcmi.eu/index.php?title=Spell_Format
2014-03-17 13:11:10 +00:00
alexvins
065b8366fb [Spells] Added basic support for icons and sounds
* few changes in spell format
* save format changed
2014-03-10 16:00:58 +00:00
alexvins
afcb7072eb Implemented #1379
+ added new flag for special spells. Special spells can be obtained only with BONUS::SPELL.
* made Titans` thunder special.
2014-03-07 16:10:20 +00:00
alexvins
4203d69525 Part 2 of new spell configuration
1) spell handler refactored to support modding in general way
2) imunnity icons moved to WoG as they depends on wog`s graphics
3) introduced new class template for handlers (todo: use this in other handlers)
4) save format changed
5) introduced "absolute immunity" - unaffected by "the Orb" etc. (todo: use it in config)
6) new format documented on wiki, added json schema.

* more split of registertypes - fixes 32 mingw build
2014-03-07 13:21:09 +00:00
alexvins
c7f57406eb Fix bonus schema to support array in duration 2014-03-01 18:42:31 +00:00
Ivan Savenko
cd8a0c01e4 Data for campaign win/loss conditions. All campaigns should now have
correct conditions.
All custom conditions are now validated using schema.

Note that some of scenarios may not work due to instant win/loss, mostly
because some placeholders fail to import (Mantis #1643)
2014-01-01 13:30:31 +00:00
Ivan Savenko
7d7e65a316 changes in hero class format:
- new property: affinity (might/magic) since in mods it is impossible to
rely on odd/even numeric indexes
- property commander is now part of hero class
2013-12-13 18:27:54 +00:00
Ivan Savenko
122db9963b More string ID's for buildings:
- town hall slots now use string ID's
- converted building requirements to new format
- "upgrades" property from buildings now uses string ID's
- several fixes for improved support of alternative creatures
- removed no longer needed "id" property from structures

Old mods should still work but will produce error messages during
validation
2013-12-04 10:36:39 +00:00
Ivan Savenko
71d6b0fea9 - Fixed some warnings from cppcheck
- Minor improvements to JSON validation
- Cleanup in SDL_Extensions.cpp
- Implemented new propery for creature format: idle animation duration
- Disabled idle animation of some of conflux creatures (was clearly
broken)
2013-11-06 13:42:58 +00:00
Ivan Savenko
c4716d0a9a - reordered files in cmake so files with long compile times will be
compiled first.
- changed format of modSettings.json, VCMI should properly update file
on the first run.
- implemented property "defaultTavern" that acts as default value for
"tavern" entry in hero class and town formats.
2013-11-03 12:07:23 +00:00
Ivan Savenko
6cb3cb006d Several minor fixes/features
- moved all traslatable strings into one json file, removed threats.txt file
- implemented "spellbook animation" option
- fixed missing central tower when attacking fort
2013-10-27 13:05:01 +00:00
Ivan Savenko
9237e6d97d Improved json validation
- split JsonNode.cpp into JsonNode and JsonDetail files
- validation should be notably faster (at least 10% faster loading)
- support for "format" field, allows checking existance of files.
- minor fixes in schemas
- msk/msg files are now optional
2013-10-26 19:33:34 +00:00
Ivan Savenko
e2c037402c Unicode support.
- boost-locale library is now required (boost 1.48 or higher)
- Unicode namespace that contains UTF-8 handling
- All non-ASCII strings from H3 data will be converted to UTF-8 during loading
- All JSON files MUST use UTF-8. 
- H3 data encoding can be selected via launcher or directly in config file
2013-10-25 21:45:14 +00:00
Ivan Savenko
208df34fc2 bigfixing & new file: launcher/jsonutils.cpp
- launcher uses json parser from vcmi lib instead of one from Qt #1469
- fixed abilities overrides for some creatures #1476
- fixed hero portraits in seer huts #1402
- ttf fonts will render text in utf-8 mode. Not really useful at this point
- new settings entry, available in launcher: encoding. Unused for now.
2013-09-21 18:29:26 +00:00
Ivan Savenko
fb4fb79be2 - by defaut launcher will use repository from vcmi.eu 2013-08-26 10:03:47 +00:00
Ivan Savenko
7cbfdd509c VCMI Launcher/Mod manager. See forum post for details. 2013-08-22 14:22:49 +00:00
Ivan Savenko
cf4b3c91cb - updated wog/vcmi mod.json files
- found situation where JsonNode parser won't report warning: comma after last element in arrays or objects. Fixed this in our config files but parser change is disabled for now due to huge number of warnings from mods.
2013-08-20 19:32:21 +00:00
Ivan Savenko
db1dc1dcc6 - fixed terrain music restarting every tile
- field "contact" for mod.json schema
2013-08-20 10:47:40 +00:00
Ivan Savenko
5654fef901 - ZipArchive namespace for operations with zip archives, located in CZipLoader.h/cpp.
- new fields in mod format, for use with mod manager (check config/shemas/mod.json for details)
- removed some 0.92 compatibility from mods loading
- several compile fixes
2013-08-19 11:50:53 +00:00
Ivan Savenko
c81a31c74a - catapult attacks should be identical to H3
- catapult may miss and attack another part of wall instead (this is how it works in H3)
- minor fixes
2013-08-06 11:20:28 +00:00
Ivan Savenko
b57b14b752 - fixed several bugs with siege graphics, including #1389
- removed "shooterHeight" property - seems to be same in all towns.
2013-07-31 22:24:44 +00:00
Ivan Savenko
ee09c5301e minor fixes:
- vcmi can play music files from archives
- converted resource_reward fields in bank_config into json object, fixes 3000 gems reward in shipwreck
- some compile fixes for minizip
2013-07-31 11:36:42 +00:00
Ivan Savenko
410ec92668 Minor fixes:
- removed unused functionality from CCreatureAnimation
- simplified postioning of units in battle, should fix remaining issues with unit positioning
- fixed unit tests compilation
2013-07-07 19:44:08 +00:00
Michał W. Urbańczyk
2a471eeb1a Addec quick combat to system options window.
Compile fixes [I don't know why it has compiled for me before].
2013-06-23 07:54:33 +00:00
Ivan Savenko
8be801a6dc - CMappedFileLoader class to remap WoG files to h3 names
- WoG should be optional, all remapped files are listed in WoG/config/wogFileOverrides.json
- fixed several cases of incorrect positioning of creatures in battles
- some missing sounds for battle effects
- negative luck support, disabled by default
- a bit hackish detection of WoG presence, VCMI should work on SoD-only installs
2013-05-04 13:14:23 +00:00
Ivan Savenko
3285f1910b - finally, solution for imageIndex fields. All image lists will be generated in runtime
- iconIndex fields from json are no longer used
- simple check for missing icons on startup
2013-04-22 19:51:22 +00:00
Ivan Savenko
c6cc6e6301 Large changeset, first part of editing H3 objects via mods feature. Changes:
- loading of all objects (including H3 objects) will be directed by mod handlers
- common base for all handlers accessible from mod system (IHanderBase)
- json format changes: use struct with string ID's instead of vector

- fixed some gcc/clang errors and warnings
- fixed several cases of memory leaks and invalid memory access (mostly related to usage of bonus system and/or identifiers resolution)

Note that right now loading is much slower than before due to excessive json validation (or not fast enough validator)
2013-04-21 12:49:26 +00:00
Michał W. Urbańczyk
e8354908c3 Big change: Introduced new mechanism to handle queries. It should not cause any visible changes ATM apart from fixing several long-standing bugs realted to handling post-visit/battle/levelup callback, including infamous creature bank issues: #955, #1053, #1063, #1191. Needs testing.
Minor changes:
* default log level set to trace
* LOG_TRACE raii guardian lifetime will last till the end of block
* compile fixes
* minor refactorings
2013-04-20 11:34:01 +00:00
Ivan Savenko
0cf969d508 - console logger by default uses same format as previously (no extra data)
- a lot of changes in configs;
- - update to creature format - abilities are now json structure
- - multiple bugfixes revealed by validation
- made schemas a bit more strict
- creatures data can be replaced via mods
- it is possible to validate vcmi configs using schemas (disabled)
2013-04-11 19:24:14 +00:00
beegee1
c7c2686379 - Integrated the logging API into the client and the lib - Remove some more comments and switched to /// style - Fixed recursive locks - Added Global.h to CMakeLists(now visible in qt-creator) - Removed usage of shared_mutex - Added unique_ptr to CLogger targets 2013-04-09 14:31:36 +00:00
beegee1
de01ea54b0 - Added stream-like logging - Schema refactoring 2013-04-06 17:45:02 +00:00
beegee1
0baa261dfc - Implemented the new logging API(not used currently) - Added lock typedefs to Global.h - Some layout updates to Global.h 2013-04-05 10:29:46 +00:00
Ivan Savenko
619a07da03 - projectile blitting should be closer to original H3. But still not perfect.
- removed no longer needed field "projectile spins"
2013-04-04 13:18:38 +00:00
Ivan Savenko
52e56693ea - fixed handling of incorrect configuration in settings.json
- more compact schema for siege node
2013-04-03 13:39:46 +00:00
Ivan Savenko
0307639c32 properly initialize settings when configuration was not found 2013-04-02 21:39:32 +00:00
Ivan Savenko
c927913f5f - Improved json validation. Now it support most of features from latest json schema draft
- Set of schemas in config/schemas directory that are used to validate input from mods.
2013-04-02 17:06:43 +00:00