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