Ivan Savenko
d257fb37f0
Use optional instead of Json for queries
2023-09-26 13:42:20 +03:00
Ivan Savenko
371d798302
Fix tests
2023-09-19 20:09:18 +03:00
Alexander Wilms
ee935e9fa7
Fix JSON files
2023-09-17 12:36:57 +00:00
Ivan Savenko
f39fbe5151
Merge pull request #2757 from IvanSavenko/filesystem_refactor
...
Filesystem refactor - part 1
2023-09-07 10:51:02 +03:00
Ivan Savenko
8bdddd1324
Fix tests compilation
2023-09-06 16:03:47 +03:00
Ivan Savenko
fc4dfda00f
Added support for concurrent battles to gamestate and server
2023-09-06 16:03:02 +03:00
Ivan Savenko
8dfdfffd87
Use ResourcePath for audio files
2023-09-04 18:22:34 +03:00
Ivan Savenko
6f0108e462
Use ResourcePath for referencing texts and json's
2023-09-04 18:22:34 +03:00
Ivan Savenko
823ffa7a07
Always use ResourcePath for referencing images and animations
2023-09-04 18:22:34 +03:00
Ivan Savenko
e54287ea5d
Converted remaining identifier to new system
2023-08-25 13:38:02 +03:00
Ivan Savenko
0240ee886d
Converted (almost) all namespace enum's to enum classes
2023-08-25 13:38:02 +03:00
Ivan Savenko
62cd8b12d4
Converted several namespace enums to enum class
2023-08-25 13:38:02 +03:00
Ivan Savenko
ec8d31bbfc
First step at unifying game identifiers code
2023-08-25 13:38:01 +03:00
Konstantin
d746a96d55
vcmi: use SpellSchool identifier instead of enum
...
Use identifier instead of enum inside callbacks. It is better and more
expandable solution.
2023-08-23 17:53:09 +03:00
Konstantin
8724181a0f
vcmi: spell resistance rework
...
Now instead of XXX_IMMUNITY bonuses we have 2 bonuses with spellSchool
subtype: SPELL_SCHOOL_IMMUNITY and NEGATIVE_EFFECT_IMMUNITY.
All previous bonuses of subtype 0 is covered by SPELL_SCHOOL_IMMUNITY,
and all previous bonuses of subtype 1 is covered by
NEGATIVE_EFFECT_IMMUNITY. Unit tests are updated accordingly.
2023-08-23 17:52:16 +03:00
Ivan Savenko
44d16b32fe
Use API identical to std classes where possible
2023-08-23 16:32:29 +03:00
Ivan Savenko
87957e74c1
Replaced boost::thread_specific_ptr with thread_local
2023-08-23 16:32:29 +03:00
nordsoft
15847c89b6
Fix tests
2023-08-22 21:02:32 +04:00
Ivan Savenko
f13a53c1d9
Merge remote-tracking branch 'vcmi/beta' into develop
2023-08-12 17:28:47 +03:00
Andrii Danylchenko
ba9998ac66
BattleAI: fast targets optimization
2023-08-08 20:10:29 +03:00
Ivan Savenko
62fddca21e
Split massive CModHandler class/file into multiple parts:
...
- IdentifierStorage is now a separate handler in VLC
- Renamed ModHandler::Incompatibility exception to ModIncompatibility
- Extracted ModScope namespace from ModHandler
- Extracted ModUtilities namespace from ModHandler
- Split CModHandler.cpp on per-class basis
- Replaced some direct members with unique_ptr to reduce header includes
2023-07-30 22:17:47 +03:00
Ivan Savenko
4d08a131d3
Reorganization of boost filesystem usage
...
- Removed (most of) boost filesystem namespace usings
- Replaced boost::filesystem::fstream with std::fstream and different
constructor that should be available on any plaftorm
2023-07-28 19:12:04 +03:00
Ivan Savenko
e733b55c90
Removed buggy and poorly designed fromString method
...
Use VLC->modh directly with proper parameters instead
2023-07-25 22:36:45 +03:00
Tomasz Zieliński
9b649b0b79
Build fix
2023-07-18 10:55:26 +02:00
SoundSSGood
9b5f6ec7cf
CArtifact getters setters
2023-07-05 15:48:08 +03:00
Ivan Savenko
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +03:00
Ivan Savenko
6a08a96d0c
Added createObject call as wrapper around NewObject netpack
2023-06-23 13:42:08 +03:00
Ivan Savenko
9b5e81929f
Fix build
2023-06-20 19:37:27 +03:00
Ivan Savenko
2e7c382612
Moved creature upgrade logic to CGObjectInstance inheritors
2023-06-16 17:59:10 +03:00
Tomasz Zieliński
a70555a725
Fix test mock
2023-06-08 10:32:38 +02:00
Ivan Savenko
97b3b2e147
Fix build
2023-06-03 00:48:32 +03:00
Konstantin
e60a4318c3
vcmi: a bunch of forward definitions
2023-05-07 20:37:32 +03:00
Konstantin P
057a33c508
SpellSchool: use identifier instead of int
...
Needs redifinition of MAGIC_SCHOOL_SKILL in all mods
2023-05-07 20:37:32 +03:00
Konstantin P
6ff83e6f16
tests: test nonMagical effects
2023-05-05 18:57:40 +03:00
Konstantin P
75948a5dd7
tests: add ResistanceCondition test
2023-05-05 18:57:40 +03:00
Konstantin
3d46ee3182
TargetCondition: units with 100% MR is immune
...
Spells should not consider units with 100% MR as valid targets.
2023-05-05 18:57:40 +03:00
Konstantin
b0d2787e86
vcmi: remove DIRECT_DAMAGE_IMMUNITY bonus
...
Replace by SPELL_DAMAGE_REDUCTION bonus with 100 value
2023-05-05 18:57:40 +03:00
Konstantin
05eccbc2bb
vcmi: split bonus to enumerator and HeroBonus.h
2023-05-03 18:01:06 +03:00
Konstantin
a6de9097be
vcmi: rename HeroBonus.h to Bonus.h
2023-05-02 11:20:58 +03:00
Konstantin
29c76fb9bf
HeroBonus: split BonusList
2023-05-02 00:54:53 +03:00
Konstantin
4866c2fe5c
vcmi: split IBonusBearer
2023-05-02 00:54:53 +03:00
Konstantin
6fa1b2b19f
vcmi: move bonuses to its own folder
2023-05-02 00:53:50 +03:00
nordsoft
17c9dc3115
fix tests
2023-04-29 06:15:14 +04:00
Konstantin
88f8694825
tests: fix modhandler assert
2023-04-27 20:59:55 +03:00
Konstantin
15d933d354
tests: disable settings.init()
...
This will remove debug assertion than will prevent any test
from running in debug mode
2023-04-27 20:59:55 +03:00
Konstantin
2a8f9629ae
tests: attempt to fix build without lua
2023-04-27 20:59:55 +03:00
Konstantin P
00487e3257
vcmi: disable -Wvirtual-move-assign from tests
2023-04-27 20:59:55 +03:00
Konstantin P
0d8e59a172
tests: add test directories to core loader
...
Fixes all tests loading
2023-04-27 20:59:55 +03:00
Konstantin P
d14c951005
CBattleInfoCallbackTest: fix catch-value
2023-04-27 20:59:55 +03:00
Konstantin P
608c30c3d3
vcmi: add formation inside test map
2023-04-27 20:59:55 +03:00
Konstantin P
c6fbb8b30d
tests: fix faction test
2023-04-27 20:59:55 +03:00
Konstantin P
705d7164ae
vcmi: fix heal and teleport tests
2023-04-27 20:59:55 +03:00
Konstantin P
e5f78a8997
vcmi: fix tests with latest develop
2023-04-27 20:59:55 +03:00
Konstantin
7c56fbd16b
vcmi: fix test building for 1.2
2023-04-27 20:59:55 +03:00
Konstantin
924b456b0f
vcmi: fix unit tests for latest develop
2023-04-27 20:59:55 +03:00
Konstantin
74656b9f96
vcmi: disable MapComparer team check for now
2023-04-27 20:59:55 +03:00
Konstantin
91c7c93d07
vcmi: fix MapComparer appearance check
2023-04-27 20:59:55 +03:00
Konstantin
d31a3362af
vcmi: map objects test passed
...
It is weird, because some objects should have mod scope now, and some not
We need to fix this, and rework test if necessary - its data is too huge now.
2023-04-27 20:59:55 +03:00
Konstantin
bd7faddb55
vcmi: more verbose JSON compare
2023-04-27 20:59:55 +03:00
Konstantin
015f55cd82
vcmi: fix building tests without scripts
2023-04-27 20:59:55 +03:00
Konstantin
276bd5eebf
vcmi: fix healing effect tests
2023-04-27 20:59:55 +03:00
Konstantin
42984396ff
all: fix ImmunityNegationConditionTest
2023-04-27 20:59:55 +03:00
Konstantin
56601a0c2a
vcmi: entity tests passed
2023-04-27 20:59:55 +03:00
Konstantin
2680046dd0
vcmi: make tests builds at least
2023-04-27 20:59:55 +03:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Konstantin
fedf7d377c
vcmi: remove TFaction
...
This is a huge change and will break save compatibility
2023-04-10 19:28:16 +03:00
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
SoundSSGood
9f8aa25297
Backpack limit part4 (Using cheats, buying)
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
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
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
Dydzio
a2ce9220ed
Fix tests + scripting compilation on gcc
2023-01-05 17:42:33 +02:00
Ivan Savenko
43c1994ca2
Fix test
2023-01-04 21:41:11 +02:00
Ivan Savenko
2cbe6bcb47
Added common method to get names of hardcoded mod scopes
2022-12-07 15:18:19 +02:00
Tomasz Zieliński
20c102e648
Remove T prefix from new typedefs
2022-09-29 11:44:46 +02:00
Tomasz Zieliński
4ea57ea7fc
A variety of suggested style tweaks
2022-09-25 09:33:56 +02:00
Tomasz Zieliński
494b0f0226
First version that compiles
2022-09-21 11:34:23 +02: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
c4035134e5
New battlegrounds ( #758 )
2022-09-11 11:31:26 +03:00
Nordsoft91
aaa07e4d2e
New terrain support - part 1 ( #755 )
...
Initial support of new terrains
2022-09-11 11:31:26 +03:00
Andrey Filipenkov
d7650ce9c0
use Conan to make macOS CI builds for both Intel and ARM ( #782 )
...
* [CI] append platform to output artifact name if it's given
2022-08-30 17:29:00 +03:00
Soar Qin
188607b05f
Replace cotire with CMake builtin precompiled headers support (Requires CMake version >= 3.16)
2022-06-17 17:20:08 +03:00
Soar Qin
c87df8e704
Fix warnings/errors on MSVC ( #753 )
...
* Fix warnings/errors on MSVC
1. update googletest to tag release-1.11.0 to make googletest and
googlemock compile on MSVC2022.
2. set gtest_force_shared_crt to ON in test cmake project to make tests
compile on MSVC.
3. add /wd4251 and /wd4275 to MSVC compile flags to ignore DLL related
warnings for class exports.
4. fix some other warnings and errors while compiling on MSVC2022.
2022-06-11 18:45:34 +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
7f175c7f19
Merge pull request #676 from ShubusCorporation/do/fix/mod_system/Patch3
...
Patch III for Mod system improvement : Negative bonuses: new feature, fixes, town building: Magic Well
2021-09-26 21:22:28 +03:00
Dmitry Orlov
30b879ae5d
Fixed: duplicated bonusing building. Improved: opposite bonus propagation
2021-09-12 14:30:54 +03:00
Dmitry Orlov
ec7453ae85
Fix some warnings, Add headers to the solution
2021-09-05 17:31:12 +03:00
Dmitry Orlov
25d9ea1ddf
Feature: Opposite Side Limiter
2021-09-04 14:15:38 +03:00
Andrii Danylchenko
9c8d776398
Merge branch 'develop' into handlersAbstraction
...
# Conflicts:
# CI/linux/before_install.sh
# CI/mac/before_install.sh
# CI/mxe/before_install.sh
# lib/CModHandler.cpp
# lib/mapObjects/CObjectClassesHandler.cpp
# lib/mapObjects/CObjectClassesHandler.h
# lib/mapObjects/CommonConstructors.cpp
# server/CGameHandler.cpp
# test/CMakeLists.txt
# test/spells/effects/TeleportTest.cpp
2021-07-16 00:32:13 +03:00
Andrii Danylchenko
6d8373a473
Configure github actions
2021-07-13 14:56:35 +01:00
Alexander Shishkin
9e422a1664
Merge pull request #690 from nullkiller/erm-fix-vr
...
ERM: fix string concatenations and bit operations
2021-04-29 16:05:20 +03:00
Andrii Danylchenko
fc9bbfb895
ERM: revert unwanted changes
2021-04-19 18:33:07 +03:00
Andrii Danylchenko
061941b3ac
ERM VR:M,VR:U
2021-04-19 18:28:55 +03:00
AlexVinS
f0a7a6ffbf
Fixed build
...
Some stubs for !!UN
C::B project update
2021-04-10 02:04:07 +03:00
Andrii Danylchenko
35566d7748
ERM: fix string concatenations and bit operations
2021-04-09 23:41:50 +03:00
Andrii Danylchenko
bd31a87133
a few erm interpretter unit tests and fixes ( #688 )
2021-03-27 15:47:44 +03:00
AlexVinS
483a4689ce
Fixes for code review issues
2021-02-20 04:57:50 +03:00
AlexVinS
ec6f7b88fe
!?OB WIP
2021-02-16 13:32:18 +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