1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-28 23:06:24 +02:00
Commit Graph

149 Commits

Author SHA1 Message Date
Konstantin
a6de9097be vcmi: rename HeroBonus.h to Bonus.h 2023-05-02 11:20:58 +03:00
Konstantin
3df5a8e415 vcmi: split selectors from HeroBonus.h 2023-05-02 00:54:53 +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
1d34c73c2d vcmi: split CBonusSystemNode, BonusParams and prop
More splitting of HeroBonus.h
2023-05-02 00:54:53 +03:00
Konstantin
713e3004df vcmi: rename updater and limiter files 2023-05-02 00:53:51 +03:00
Konstantin
34c1d4f3e9 vcmi: move CBonusProxy and friends to new file
To decouple HeroBonus.h more
2023-05-02 00:53:51 +03:00
Konstantin
e37f798a68 vcmi: split bonus updaters 2023-05-02 00:53:50 +03:00
Konstantin
416faf521e vcmi: move limiters outside of HeroBonus.cpp
This will help for recompilation.
2023-05-02 00:53:50 +03:00
Konstantin
6fa1b2b19f vcmi: move bonuses to its own folder 2023-05-02 00:53:50 +03:00
nordsoft
ddb683e237 Fix typo 2023-05-01 00:14:53 +04:00
nordsoft
1b4d117790 deeper decoupling 2023-04-30 17:13:07 +04:00
nordsoft
ac8f390cf8 Dividing rewarbadle objects into separate files 2023-04-30 04:39:31 +04:00
nordsoft
421bbab1cc Split CGTownInstance file 2023-04-28 05:30:49 +04:00
Tomasz Zieliński
80b5c53815 Place quest artifacts after all the treasures are already created. 2023-04-23 10:08:16 +02:00
Ivan Savenko
3738171b21 Refactoring of H3M loader to make HotA format support easier
- extracted low-level reader from MapFormatH3M class
- added separate structure to define version-specific values
- cleared up some H3M format edge cases
- replaced witch hut skill vector with set
- converted several fields to enum type
2023-04-15 17:20:38 +03:00
Ivan Savenko
ff66592fad
Merge pull request #1882 from rilian-la-te/native-terrain-refactor
Native terrain refactor
2023-04-11 02:14:37 +03:00
nordsoft
9371f013e9 Rename outer caster 2023-04-10 20:56:50 +04:00
Konstantin
0f5f4c69ec vcmi: specialize native terrain entity
Specialize native terrain entity for all object that have
native terrain. Allow creatures to take global bonuses into
account when checking for native terrain.
2023-04-10 19:28:16 +03:00
nordsoft
56b0e900d8 Add outer caster class 2023-04-10 05:39:25 +04:00
Ivan Savenko
307065a633 Merge beta into develop 2023-04-04 16:06:20 +03:00
Ivan Savenko
6dac15c5b2
Merge pull request #1706 from rilian-la-te/moats-landmines
Proper moats: mechanincs
2023-04-02 20:12:33 +03:00
nordsoft
b70b4b5c4f Add missing includes 2023-04-02 16:43:32 +04: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
57c35f39ca WIP: Moat placer 2023-03-30 14:41:40 +03:00
Tomasz Zieliński
401f2342c0 Place Mines after Towns and Monoliths. 2023-03-29 16:54:22 +02:00
Ivan Savenko
6f8513e303 Bump version to 1.3 2023-03-27 23:31:46 +03:00
Tomasz Zieliński
18a87d1ec0 Distribute limited objects evenly in zones with matching terrain 2023-03-27 09:09:58 +02:00
Ivan Savenko
dc099b2a35 Implemented support for multi-spell casters 2023-03-25 00:48:14 +02:00
Ivan Savenko
383387ef29 Integrated defaultMods into mod system 2023-03-16 17:55:09 +02:00
Ivan Savenko
65c020ef34 Moved Unicode namespace out of GeneralTextHandler file 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
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
970bd6ed34 adjust project for Android (except AI) 2023-03-02 12:09:47 +03:00
Andrey Filipenkov
cc31c4aa3f remove unused macro 2023-02-22 14:00:53 +03: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
Andrii Danylchenko
9f55666931 rework netpacks to avoid double typeinfo 2023-02-13 20:26:39 +02:00
Konstantin
8661496f6c vcmi: modernize lib/serializer 2023-02-12 21:23:00 +03:00
Ivan Savenko
9c59025db0 Merge master -> develop 2023-02-03 13:26:44 +02:00
Ivan Savenko
b429f0bfeb Change version to 1.1.1 2023-02-03 11:25:08 +02: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
42df5626d9 Added Color class to replace SDL_Color 2023-01-30 00:12:43 +02:00
Ivan Savenko
9a30484183 Point and Rect now reside in library 2023-01-20 16:11:43 +02:00
Ivan Savenko
b86969909a Fixes compilation due to changes in callback interface 2023-01-20 15:18:10 +02:00
Ivan Savenko
e48bd39b9c Moved road & river handlers into a separate file 2023-01-11 15:17:24 +02:00
Ivan Savenko
4f3ea0d1d9 Renamed Terrain.h/cpp -> TerrainHandler.h/cpp 2023-01-10 00:01:35 +02:00
Ivan Savenko
325c29da0d Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-23 14:51:34 +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
nordsoft
7b2b3bd065 Bump version 2022-12-16 17:12:36 +04:00
Ivan Savenko
d13bbabf08 Made copying of config & mods directories on build optional
Added option COPY_CONFIG_ON_BUILD, if set to OFF then post-process
command that copies config & mods directories to build destination will
be disabled.

This command may be convenient in most cases, but when only config file is
edited CMake won't trigger this command since lib was not changed.

At least on Linux, symlinks are more reliable alternative
2022-12-05 22:26:59 +02:00
Andrii Danylchenko
11790c7c02
Merge pull request #1083 from vcmi/fix-android
Move version definition into a separate cmake file
2022-10-23 10:39:25 +03:00
Andrii Danylchenko
6ef480971d Move version definition into a separate cmake file 2022-10-22 20:48:38 +03:00
Andrey Filipenkov
e0e075df77 [Conan] save install folder to CMake variable 2022-10-22 16:59:45 +03:00
Andrii Danylchenko
c2cc801f60
Merge pull request #1073 from kambala-decapitator/ios-conan
[Conan] add iOS support, bump dependencies, improvements
2022-10-22 12:40:48 +03:00
Andrey Filipenkov
f10e5e3b99 [Conan] add iOS support 2022-10-16 13:25:38 +03:00
Andrii Danylchenko
82a9f82e1c BattleAI: retreat 2022-10-14 12:00:56 +03:00
Andrii Danylchenko
8f599ed043 NKAI: android fixes 2022-10-03 09:01:15 +03:00
Andrey Filipenkov
380100f90b compile Version.cpp only when ENABLE_GITVERSION is ON
Co-authored-by: Johannes Schauer Marin Rodrigues <josch@mister-muffin.de>
2022-09-26 23:04:05 +03:00
Andrey Filipenkov
e1c9903a45 extract iOS helpers into a shared lib 2022-09-24 15:55:24 +03:00
Andrey Filipenkov
7631e7ef06 move linking to system frameworks to appropriate Find* scripts 2022-09-24 15:55:23 +03:00
Andrey Filipenkov
4452ddb404 fix typo in FindFFmpeg 2022-09-24 15:55:23 +03:00
Andrey Filipenkov
5e838008df merge launcher and client
launcher is a static lib now
2022-09-24 15:55:22 +03:00
Andrey Filipenkov
6642592567 install main lib only if it's shared 2022-09-24 15:55:22 +03:00
Andrey Filipenkov
0a1f824add fix installing shared Boost libraries 2022-09-24 15:55:21 +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
b824a90295 initial iOS support to fix building
tested with Xcode and Unix Makefiles
2022-09-24 15:55:15 +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
Konstantin
8fc14369a4
CMake presets. (#744)
* CI: use single build action
* CMake: use imported targets
* CI: do not build boost for linux
* CMake: add FORCE_BUNDLED_MINIZIP option
* linux: use external minizip and fuzzylite
* CMake: add presets
* .gitignore: ignore cmake build dirs
* github: use cmake presets
2022-05-26 08:55:20 +03:00
Andrii Danylchenko
b00a1dee28 Fix build 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
b4241670ba Nullkiller: rename VCAI to AIGateway 2021-07-26 21:02:50 +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
Ivan Romanov
3c1c72319b CMake: update version on each compiling 2018-02-11 13:52:29 +03:00
Arseniy Shestakov
610740011c CMake: print useful debug information on every build
That way we don't need to ask more questions regarding system where build failed.
2017-09-06 13:15:49 +03:00
Arseniy Shestakov
2b3a467728 CMake: structure changes and other small improvements
- Now cmake_minimum_required used properly and set to 2.8.12
- cmake_modules/CMakeCPackOptions.cmake.in is removed
2017-08-16 16:10:08 +03:00
Arseniy Shestakov
40af43c46e CMake: massive rework for Mac build and other improvements
- macOS: RPATH-related code all removed or disabled
- macOS: new osx/CMakeLists.txt to run some install-code running after all subdirectories
- Assets copying into the runtime output directory implemented for Mac and Linux development
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
7dca95c8cc CMake: multiple improvements for builds and project generation
- Change default build output directory name from "build" to "bin"
- Implement new function vcmi_get_cmake_debug_info
- Link client with SDL2main on Windows and disable debug console
- Remove all old MinGW-specific options since they outdated and MXE work fine
- Set AUTOGEN_TARGETS_FOLDER for better Xcode and Visual Studio projects
- Remove useless vcmitestFiles custom target for less garbage in project files
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
56f89270db macOS: full rework of Mac packaging process
- Most of outdated CMakeLists code removed.
- All Mac-specific code is removed include Sparkle support and vcmibuilder app.
- DMG buidling reimplemented using macdeployqt command.
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
193f492b99 CMake: cleanup, project generation and other improvements
- Use EXCLUDE_FROM_ALL for FuzzyLite and GoogleTest to avoid inclusion of unneded headers and libraries into installers.
- Set minimum CMake version only in main CMakeLists.txt
- Set project name only in main CMakeLists.txt
- Visual Studio: add assign_source_group function to generate proper filesystem tree
- Visual Studio: set PROJECT_LABEL so generated projects have same names binaries on Windows
- Visual Studio: enabled USE_FOLDERS for projects grouping. This also possibly affect other IDEs.
- Added add_subdirectory_with_folder function to make sure 3rd-party libraries are affected by USE_FOLDERS.
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
b3b29cfda9 CMake: update cotire to 516d78476f 2017-08-16 16:10:07 +03:00
Juan Rada-Vilela
7069f4b416 Upgrade to fuzzylite 6.0 as a submodule 2017-08-15 16:05:49 +03:00
Victor Luchits
36b8541ab5 MacOS build fix 2017-07-07 15:20:52 +03:00
Victor Luchits
30cc2f6a01 Change the output path for cmake so all files go into the same root directory 2017-07-07 13:08:53 +03:00
Vadim Markovtsev
da1c9cf249 Fix rebuilding everything on HEAD change 2016-10-23 16:56:53 +02:00
Vadim Markovtsev
8546f510d1 Update cotire 2016-10-02 17:12:08 +02:00
Mikhail Paulyshka
941dcee0f5 Fix AI and VCAI CMakeLists.txt 2014-11-02 23:43:10 +03:00
Mikhail Paulyshka
dcba7a6316 move minizip detection to module 2014-10-12 16:50:39 +03:00
Mikhail Paulyshka
53e2719ca4 update cotire 2014-10-12 16:37:10 +03:00
Mikhail Paulyshka
f5f254f9ba FFMpeg: also find libs in x64/x86 subfolders 2014-10-12 16:32:50 +03:00
Michael Pavlyshko
88316f93d1 add NSIS generator settings 2014-07-14 01:23:57 +03:00
Michael Pavlyshko
476c7c32dc CMake/SDL2: add ability to find SDL2 without pkg-config 2014-07-05 21:47:03 +03:00
Ivan Savenko
9c0df68cb8 Fixing spelling mistakes. Patch from josch, fixes #1759 2014-03-23 12:59:03 +00:00
beegee1
5a7551388b - added missing cotire files to previous commit 2014-02-01 13:38:15 +00:00
Ivan Savenko
843f8f10c0 patches from forum:
- (vcmibuilder) fix for space in path
- (cmake) fix ffmpeg detection on Mac
2013-01-30 20:46:09 +00:00
Ivan Savenko
9caa21a51c - fix for #1189 (h3 text parsing fix)
- fix for #1188 (replaced ffmpeg detection with module from KDE)
2013-01-26 19:39:54 +00:00
Ivan Savenko
2643762f08 Mac OS patch from stopiccot 2012-12-01 06:30:52 +00:00
beegee1
3f0c225880 * Fixed building, installing on Fedora * Updated RPM spec 2012-10-06 16:09:20 +00:00
ddaroo
758fb0679e Stub for a CMake build system. 2012-07-01 14:27:41 +00:00