1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-08 00:39:47 +02:00
Commit Graph

4079 Commits

Author SHA1 Message Date
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
Tomasz Zieliński
55b142a8c9 Suggested tweaks 2022-09-14 11:37:12 +02:00
Tomasz Zieliński
d0f857c3c4 - Generate caching string with sprintf
- Reserve BonusList space to avoid costly vector reallocation
- Tweaks in int3 and UNDEAD bonus
2022-09-14 11:00:40 +02:00
DjWarmonger
3d2dc2335b Switch ObjectTemplate to shared_ptr<const> (#870) 2022-09-11 16:13:53 +03:00
Andrey Filipenkov
cedc9a92ed prevent crash when a mod from save file doesn't exist 2022-09-11 13:42:21 +03:00
Nordsoft91
0db05db920 [863] Fix spells amount (#867) 2022-09-11 11:31:28 +03:00
Tomasz Zieliński
22b4795f86 Well, we should have some sensible exception handling in VCMI 2022-09-11 11:31:28 +03:00
Tomasz Zieliński
1649cf2bb9 misc comments 2022-09-11 11:31:27 +03:00
Tomasz Zieliński
efb6580958 Fix for mislaced hero rescued from Prison - https://bugs.vcmi.eu/view.php?id=3227 2022-09-11 11:31:27 +03:00
Andrii Danylchenko
a25d0198a9 [844] - fix pathfinding for fly towards guarded tile 2022-09-11 11:31:27 +03:00
nordsoft
c9eec47304 Fix terrain performance 2022-09-11 11:31:27 +03:00
nordsoft
cf9314507b Fix crash in rmg 2022-09-11 11:31:27 +03:00
nordsoft
f7bf1ad467 [810] Fix bonus duplication 2022-09-11 11:31:27 +03:00
DjWarmonger
f81d869b4a Mine roads (#808)
* Create dirt roads to mines if there are no roads in a zone.
2022-09-11 11:31:27 +03:00
Nordsoft91
99a9680f62 Final preparations for merge into develop (#780)
* version updated, change log updated from release draft
* horse sounds for terrains
* Update and freeze essential files
2022-09-11 11:31:27 +03:00
nordsoft
670bca2fdb Randomly shuffle required objects to avoid patterns 2022-09-11 11:31:27 +03:00
Nordsoft91
8f0dcf928c Fix problems with water zone (#784) 2022-09-11 11:31:27 +03:00
Nordsoft91
e028875fe3 Fix RMG bug with incorrect town placement (#779)
* Fix RMG bug with incorrect town placement
* Readability tweak
2022-09-11 11:31:27 +03:00
Nordsoft91
454889598f Improve treasure placement logic (#775)
Improve treasure placement logic (#775)
2022-09-11 11:31:27 +03:00
Nordsoft91
1451385a9b Fix problem with empty areas (#772)
* Fixes for obstacles and treasures
2022-09-11 11:31:27 +03:00
Nordsoft91
2edf9ef3a4 Fix for sealed-off treasures (#771)
Fix for sealer-off treasures
2022-09-11 11:31:27 +03:00
Nordsoft91
4bd0ff680a Random map generator refactoring (#762)
random map generator refactoring and improvements
2022-09-11 11:31:27 +03:00
Andrii Danylchenko
665bd4346e Fix getting battlefield crash 2022-09-11 11:31:27 +03:00
Andrii Danylchenko
4b4cc3cf4b battlefields in VLC and custom bonuses for terrain patches 2022-09-11 11:31:27 +03:00
Andrii Danylchenko
3b1d271ae0 allow configurable battleground graphics 2022-09-11 11:31:26 +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
Nordsoft91
205bb09880
Launcher fixes for mod filesystem (#860)
* Show submods as disabled if parent mod is disabled
* [845] disable button for local mods
Fixes for #812 #851 #852
2022-09-10 19:30:41 +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
Nordsoft91
4f1f9e3c5d
Fix start game button for rmg without templates (#781) 2022-08-30 08:30:21 +03:00
Nordsoft91
b664f9a128
Fix for #3218 (#777) 2022-08-28 12:55:37 +03:00
nordsoft
92dc902748 Fix for #3228 and #3042 2022-08-24 14:58:56 +03:00
Andrii Danylchenko
c4dec67acc Fix movement freeze after battle in teleport 2022-06-20 09:05:05 +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
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
5c1a66ab69 Rmg water support (#745)
* RMG: water support and refactoring
* Fix seers hut bug
2022-06-11 18:40:24 +03:00
Andrii Danylchenko
31c9d6e28d Fix performance issue related to TurnInfo construction 2022-06-06 09:47:37 +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
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
Nordsoft91
a8265c7052
[0002285] Implement feature with extra resources near mines (#742)
* RMG: clear start position
* [0002285] some heaps of resources are placed nearby mines
* Fix leak in case of inability to place resource
* Fix indentation according to vcmi style
* Add constant for random amount of resources
* Code review fixes
2022-05-23 13:08:36 +03:00
Konstantin
c6b198ce14
Warning fix (I moved C++17 and CI to another branch) (#739)
* clang warning fixes
* use CMake 3.10 due to MXE CI does not have 3.13 yet

Co-authored-by: Konstantin <rilian@niisi.ras.ru>
2022-05-19 15:14:50 +03:00
Andrii Danylchenko
e220918230 full crash dump 2022-05-14 13:23:09 +03:00
Andrii Danylchenko
0d15089dd4 Do not remove hero if left only with commander 2022-05-01 09:30:30 +03:00
Andrii Danylchenko
e0e3787748 When the battle is won with only summoned creatures - defeat 2022-05-01 09:30:30 +03:00
Andrii Danylchenko
fa9a420f99 Fix a few crashes 2022-04-17 09:10:53 +03:00
Andrii Danylchenko
8b11b42aaf Fix RMG to place special dwellings like elemental conflux 2022-04-09 10:57:24 +03:00
Dmitry Orlov
d98f240164 Fix: Crash on startup when mod dependency is not found 2022-03-21 09:43:06 +02:00
Agoston Szepessy
5080f26235 Fix 3184
Taken from !684. This fixes a bug with primary skills that results in
heroes not being able to interact with objects, or skills being
incorrect when moving from mission to mission.
2022-03-14 09:18:57 +02:00
Dmitry Orlov
ea2931c6ea Fix: Get rid of 'Tile is not visible' error message 2022-01-30 12:31:07 +02:00
Andrii Danylchenko
84948820b2 exchange window move single stacks buttons 2022-01-03 15:13:46 +02:00
Andrii Danylchenko
2ce73fd4e1 Army exchange implementation 2022-01-03 15:13:46 +02:00
Arseniy Lartsev
222a0e40c7 Added code to display some HD mod buttons in hero exchange window 2022-01-03 15:13:46 +02:00
Dmitry Orlov
9e3c4b69c4 Minor fixes 2021-12-22 21:37:56 +02:00
Dmitry Orlov
8cae3398ba Feature: Army Management Shortcuts should work as in HD+ Mod 2021-11-28 20:00:43 +02:00
Dmitry Orlov
a65feb29f5 Fixed: Advanced options window issues 2021-11-13 17:02:11 +02:00
Dmitry Orlov
0427fa45dd Fix: Terrain description should be shown correctly 2021-11-08 21:01:30 +02:00
Dmitry Orlov
e4c2f0c822 Fix: Skyship Grail should work immediately after capturing without battle 2021-10-31 09:01:49 +02:00
Andrii Danylchenko
e219e1febf 3187 - fix whirlpool crash when exits are blocked 2021-10-23 21:40:52 +03:00
Andrii Danylchenko
4da8341024 Android: allow run without scripting 2021-10-15 09:51:32 +03:00
Andrii Danylchenko
11e6e0d6f7 Fix pathfinding issues when hero has expert navigation 2021-10-06 08:45:48 +03:00
Andrii Danylchenko
98c6215ab6 fix negative tile cost from pathfinding skill 2021-10-06 08:45:06 +03:00