Ivan Savenko
ac839ad26a
Changes to rest of the code according to review:
...
- renamed status bar method clearMatching -> clearIfMatching
- renamed class ColorShifterAddMul -> ColorShifterMultiplyAndAdd
- fixed missing return from function
- fixed potential access to deleted object
2022-12-11 23:43:43 +02:00
Andrii Danylchenko
0016b77192
Merge pull request #1218 from IvanSavenko/pathfinder_fix
...
[1.1] Do not allow attacking from inaccessible tiles
2022-12-10 15:19:55 +02:00
Ivan Savenko
25bceda4ea
Added convertToVisitablePos/convertFromVisitablePos to CGHeroInstance
...
This method replaces old convertPosition, but with more clear names and
without hardcoded magic constants.
2022-12-09 14:42:47 +02:00
Ivan Savenko
db2a40600d
Fixed some of the warnings detected by CI run
2022-12-08 23:20:42 +02:00
Ivan Savenko
48ec21f648
Do not allow attacking from inaccessible tiles
2022-12-08 16:14:33 +02:00
krs
ed70c69a2b
extractToFolder fix with entry.offset is set to 0
2022-12-08 02:52:30 +04:00
krs
35db24a443
Reverted extractToFolder() for texts, to old stand alone version.
2022-12-08 02:52:30 +04:00
Ivan Savenko
facf77b3ae
vstd::unique -> std::unique
2022-12-07 23:36:20 +02:00
Ivan Savenko
d85ee019ec
Removed CGHeroInstance::convertPosition method
2022-12-07 22:51:32 +02:00
Ivan Savenko
49cbd5adc9
CGHeroInstance::convertPosition is no longer static method
2022-12-07 22:34:08 +02:00
Ivan Savenko
908e6892f3
Removed CGHeroInstance::getPosition pseudo-override
...
Now access to hero visible position is always done via visitablePos
2022-12-07 22:10:08 +02:00
Ivan Savenko
2855606a88
Enabled & fixed -Woverloaded-virtual warning from gcc/cland
...
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00
Ivan Savenko
65802d958b
Integrated valid fixes from PR #1143
2022-12-07 18:13:54 +02:00
Ivan Savenko
fb6b3c31e8
Renamed UNUSED -> MAYBE_UNUSED macro to match c++17 attribute name
2022-12-07 18:06:47 +02:00
Ivan Savenko
3219e322ae
Fixed all non-silenced gcc/clang warnings
2022-12-07 18:05:47 +02:00
Andrii Danylchenko
89f0cc66e8
Merge pull request #1213 from IvanSavenko/clone_fix
...
Fix crash on casting clone on modded creature
2022-12-07 17:34:52 +02:00
Ivan Savenko
2cbe6bcb47
Added common method to get names of hardcoded mod scopes
2022-12-07 15:18:19 +02:00
Andrii Danylchenko
4b19d37988
Merge pull request #1214 from IvanSavenko/enlightenment_fix
...
Library of Enlightenment fix
2022-12-07 09:14:06 +02:00
Ivan Savenko
4e1c8324fe
Removed another unused friend declaration
2022-12-06 21:11:41 +02:00
Ivan Savenko
e0c8bd5d70
Removed unused friend class reference
2022-12-06 19:38:55 +02:00
Ivan Savenko
17f9c3af23
Library of Enlightenment fix
...
Do not offer choice between multiple identical option if hero is qualified
to receive multiple of them due to diplomacy skill
2022-12-06 18:08:10 +02:00
Ivan Savenko
65f9a1ffd2
Fixes identifiers resolving for json serialization
2022-12-06 16:26:32 +02:00
nordsoft
5d1b5b6c9c
Throw an exception if empty zone is generated
2022-12-06 15:07:16 +04:00
Ivan Savenko
085abb9e32
Fix compilation on Windows
2022-12-06 12:46:10 +02:00
Ivan Savenko
09ac2421b9
Fix Windows single-app build
2022-12-06 01:53:19 +02:00
Ivan Savenko
fa23965d0b
Renamed for consistency BUILD_SINGLE_APP -> ENABLE_SINGLE_APP_BUILD
2022-12-06 00:00:56 +02:00
Ivan Savenko
5e37ad6836
Changes to single-app build
...
- client version of library is now always called vcmi, like in regular
builds (e.g. libvcmi.so)
- server version of library keeps its separate name
2022-12-05 22:57:43 +02:00
Ivan Savenko
538c6e39f9
Split VCMIDirs::developmentMode to handle data & binaries separately
2022-12-05 22:56:10 +02:00
Ivan Savenko
6463e906d5
vcmi can be compiled as single app on Linux
...
TODO: check compilation on Win/Mac using Github Actions
2022-12-05 21:36:02 +02:00
Andrii Danylchenko
34cd856f53
Merge pull request #1197 from IvanSavenko/hero_positioning_fix
...
Adjust positions of heroes in towns earlier
2022-12-05 14:47:44 +02:00
Ivan Savenko
46b8709712
Adjust positions of heroes in towns earlier
...
fixes crash due to accessing tile that is outside of map bonds
2022-12-05 13:02:55 +02:00
Andrii Danylchenko
40e55e2788
Merge pull request #1196 from IvanSavenko/hero_positioning_fix
...
Fixes incorrect positioning of heroes on spawn/release from prison
2022-12-05 10:35:24 +02:00
Ivan Savenko
2cc4f59699
Update map properly on hero position change
2022-12-04 22:03:25 +02:00
Ivan Savenko
b6b6063505
Fix positioning of heroes after release from prisons
2022-12-04 22:00:33 +02:00
Ivan Savenko
fa3a05a074
Removed hardcoded constants in hero placement code for more robust
...
solution
2022-12-04 21:23:47 +02:00
nordsoft
bbe51bfaf4
Fix hero experience deserialization
2022-12-04 16:58:46 +04:00
nordsoft
8d1024fcfc
Clear error message
2022-12-03 20:56:05 +04:00
nordsoft
2f2c980a0c
Fix crash on map destroying
2022-12-03 20:56:05 +04:00
Ivan Savenko
1248292503
Fixed access violation - do NOT return address to temporary created on
...
stack
2022-12-02 21:37:58 +02:00
Andrii Danylchenko
d9c4b28ccc
Merge pull request #1177 from IvanSavenko/fix_mod_identifiers
...
Fix mod identifiers registration & incorrect mod validation
2022-12-02 09:20:49 +02:00
Ivan Savenko
d8742dac3f
Show correct error message on attempting to cast Remove Obstacle on
...
fields with no removable obstacles
2022-12-02 00:27:48 +02:00
Ivan Savenko
495e0b3657
Merge remote-tracking branch 'vcmi/develop' into battleint_refactor
2022-12-01 23:58:01 +02:00
Ivan Savenko
5094fab4d9
Refactoring of spell animations, multiple fixes for spell visuals
2022-12-01 22:06:42 +02: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
SoundSSGood
45a3064e5d
suggested changes
2022-11-30 18:28:33 +02:00
Ivan Savenko
7c410ab5ce
Fix potential crash due to iterator invalidation
2022-11-30 18:07:21 +02:00
Ivan Savenko
5cd405bce8
Fixed meta field handling in JsonUtils::inherit function, removed
...
workarounds
2022-11-30 17:38:53 +02:00
Ivan Savenko
79c96e94fa
Cleared up comments
2022-11-30 17:37:36 +02:00
Ivan Savenko
36ae26bc37
Fixed several scenarios which could lead to json with incorrectly set
...
mod origin info, leading to non-resolving identifiers
2022-11-29 22:34:32 +02:00
SoundSSGood
3bf0cfe4fa
Merge branch 'vcmi:develop' into refactoring-art
2022-11-29 22:34:08 +02:00
Ivan Savenko
abe11aaf54
Introduced "map" scope for accessing identifier on map loading.
...
Currently it allows access to all mods, should be restricted to mods
that map depends on
2022-11-29 22:33:08 +02:00
SoundSSGood
96d8e952c4
attempt to fix the build
2022-11-29 21:45:37 +02:00
Ivan Savenko
861a6849f9
Added possibility to define per-town tower icon for battle queue in siege
2022-11-29 14:47:51 +02:00
SoundSSGood
8a6052fd54
CArtHandler refactoring
2022-11-29 02:34:04 +02:00
SoundSSGood
909dcb82fa
use ArtifactID
2022-11-29 00:32:18 +02:00
Ivan Savenko
3e58d1e3c5
Merge remote-tracking branch 'refs/remotes/vcmi/develop' into battleint_refactor
2022-11-28 16:10:13 +02:00
krs
ea2fe78776
(char*)&data[0] changed to (char*)data.data()
2022-11-27 19:35:11 +02:00
krs
9b3cab1181
IVCMIDirs::userExtractedPath() created
2022-11-27 19:35:11 +02:00
krs
6130776fe4
removed one too many implementation of extractToFolder.
...
changed parameter 2 from CFileInputStream to CInputStream
2022-11-27 19:35:11 +02:00
krs
75b4b64b6f
Final checks according to review
2022-11-27 19:35:11 +02:00
krs
31b7a81cd2
Data types in CArchiveLoader::extractToFolder() made more simple.
2022-11-27 19:35:10 +02:00
krs
d516a5f529
More changes following review.
2022-11-27 19:35:10 +02:00
krs
f0b66b6192
Animation.cpp fixes after review
2022-11-27 19:35:10 +02:00
krs
221a9e14b9
Linux Compile Fix: ../../lib/filesystem/CArchiveLoader.cpp:236:52: error: invalid initialization of non-const reference of type 'std::unique_ptr<CInputStream>&' from an rvalue of type 'std::unique_ptr<CInputStream>'
2022-11-27 19:35:10 +02:00
krs
62e479ae16
Linux Compile Fix: removed old code related to std::locale
2022-11-27 19:35:10 +02:00
krs
eecaa20693
Resource extractor "enablers" are now command line options
...
In VCMI_lib the extractArchives will be passed all the way down the call chain!
2022-11-27 19:35:10 +02:00
krs
cca1f074bf
Convert PCX to PNG, Final touches, everything deactivated.
2022-11-27 19:35:10 +02:00
krs
93cf2682f3
Working Extractor, DefSplitter and pcx convertor
2022-11-27 19:35:10 +02:00
Andrii Danylchenko
3b072b80d5
Merge pull request #1168 from Nordsoft91/fix-obstacles-generation
...
Fix obstacles generation
2022-11-27 09:56:11 +02:00
Andrii Danylchenko
dfee2eda68
Merge pull request #1148 from SoundSSGood/ask-assemble
...
Feature to assemble/disassemble arts in backpack
2022-11-27 09:48:57 +02:00
nordsoft
8e324603bf
Remove extra lines
2022-11-27 00:08:47 +04:00
nordsoft
2c88e35749
Fix obstacles generation
2022-11-27 00:04:14 +04:00
Andrii Danylchenko
0ccb706782
Merge pull request #1155 from Nordsoft91/fix-camp-919
...
Fix for #919
2022-11-25 11:43:25 +02:00
Ivan Savenko
6b3beb05e5
BattleInt split is finished, start of refactoring:
...
- Refactoring of siege controller code
- Replaced some usages of C struct SDL_Surface with proper c++ class
IImage
- Refactoring of rendering of battlefield objects (WIP)
2022-11-25 00:26:14 +02:00
nordsoft
b3cdcc774e
Fix appearance for camp heroes
2022-11-23 14:34:57 +04:00
Ivan Savenko
8e6193ad6e
Actually use new locale for filesystem access
2022-11-21 16:58:36 +02:00
Ivan Savenko
e6afd8621c
Minor improvements & fixes to music player
...
- music will be selected correctly after rapid leaving and reentering
town screen
- music sets are now store as single std::map instead of unnecessary
"map of maps"
- fixed computation of resume time for restarted/looped music tracks
- updated & clarified some comments
- converted C functions for SDL_Mixer callbacks into lambdas
- formatting fixes
2022-11-21 16:20:20 +02:00
SoundSSGood
584f6a6230
Update lib/CArtHandler.cpp
...
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-20 10:15:57 +02:00
SoundSSGood
4b52d38c57
artifact assemble fixed
2022-11-19 16:35:06 +02:00
SoundSSGood
e6e669d024
ArtifactUtils::isSlotBackpack() func + refactoring
2022-11-18 23:13:44 +02:00
SoundSSGood
30bbb57619
Apply suggestions from code review
...
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-18 22:15:03 +02:00
nordsoft
625c18a889
Fix #3234
2022-11-18 04:05:35 +04:00
SoundSSGood
e9ab894638
backpack assemble
2022-11-18 01:55:29 +02:00
SoundSSGood
2d078132bf
assemble in backpack initial
2022-11-17 19:43:54 +02:00
Ivan Savenko
a65dd0726d
Separated siege-related part of BattleInterface into separate class
...
- added constants for BattleHex'es of castle towers
2022-11-17 18:50:12 +02:00
Ivan Savenko
bd1b2e4977
Battle Interface refactoring: separated projectile handling into a
...
separate class (untested)
2022-11-17 13:21:03 +02:00
Nordsoft91
1893212abb
Merge pull request #1146 from IvanSavenko/ray_projectile
...
Implemented ray-like projectiles for shooters
2022-11-16 22:45:00 +04:00
Ivan Savenko
1bdc4240d1
Remove unused include
2022-11-16 12:16:23 +02: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
Andrii Danylchenko
6974d4ea53
Merge pull request #1130 from IvanSavenko/banned_skills_fix
...
Fixes #1096 - do not propose banned skills on levelup
2022-11-15 09:32:12 +02:00
Andrii Danylchenko
8b964be71f
Merge pull request #1111 from GermanAizek/develop
...
Code refactor and fix condition bug
2022-11-15 09:23:16 +02:00
lainon
7fdad4e0f6
Code refactor following C++ standard and condition fixes
2022-11-15 03:20:55 +03:00
Ivan Savenko
729357824b
Added common method for secondary skill availability checks
2022-11-14 19:08:49 +02:00
Ivan Savenko
e06db2365d
Fixes #1096 - do not propose banned skills on levelup
...
Remove possibility to get banned skill on levelup as "obligatory skill"
if all other such skills have been learned before.
May happen under some conditions, e.g. if hero quickly learns other
magic schools - in witch hut/university, leading to case where banned
skill is the only obligatory skill that can be offered on levelup
2022-11-14 17:16:49 +02:00
Andrii Danylchenko
86972d7164
Merge pull request #1112 from SoundSSGood/bulk-move-swap-artifacts-rev2
...
Bulk move and swap artifacts rev2
2022-11-14 08:31:48 +02:00
SoundSSGood
98bf6931a1
cosmetic correction
2022-11-13 19:01:28 +02:00
SoundSSGood
57ab13c820
cosmetic correction
2022-11-13 17:09:48 +02:00
SoundSSGood
f9738f0d0b
nullptr checks
2022-11-13 16:28:26 +02:00
SoundSSGood
aef87dd482
Apply suggested cosmetic changes
2022-11-13 15:28:09 +02:00
SoundSSGood
84841a5f0a
BulkMoveArtifacts::applyGs reworked
2022-11-12 19:44:34 +02:00
SoundSSGood
6e5932c016
Apply suggested changes next part
2022-11-10 21:02:06 +02:00
SoundSSGood
ad47a7573c
Code style. Typo. Code clean up.
2022-11-10 18:29:39 +02:00
SoundSSGood
b9087e2d63
Apply suggestions from code review
...
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-10 17:45:54 +02:00
Andrii Danylchenko
1ca2283a90
Merge pull request #1105 from krs0/feature/#1071__In_latest_night_builds_there_are_problems_with_schema_obstacle.json_and_file_obstacles.json
...
Problems with schema obstacle.json and file obstacles.json #1071
2022-11-10 11:53:08 +02:00
Andrii Danylchenko
5f92a0760f
Merge pull request #1113 from vcmi/nk-fix-hung
...
NKAI: a few crash/hang fixes
2022-11-10 11:48:17 +02:00
SoundSSGood
3a3b559a0b
attempt to fix the build
2022-11-07 14:20:28 +02:00
SoundSSGood
203c54e956
BulkMoveArtifacts structure optimization
2022-11-07 14:13:36 +02:00
Andrii Danylchenko
233b850daf
NKAI: a few crash/hang fixes
2022-11-07 13:58:20 +02:00
SoundSSGood
0032947735
regression fixed. Artifact assemble dialog shows multiple times.
2022-11-07 00:36:13 +02:00
SoundSSGood
f72a3e3884
function ArtifactUtils::checkSpellbookIsNeeded for the artifacts like a Titan's thunder
2022-11-07 00:18:05 +02:00
SoundSSGood
95ab343116
Net Packs BulkMoveArtifacts structure and BulkMoveArtifacts::applyCl
2022-11-06 23:54:50 +02:00
SoundSSGood
d0895e30ef
callback functions and cleaning up unused code
2022-11-06 23:41:29 +02:00
SoundSSGood
363e461c3e
ArtifactUtils and CArtifactFittingSet class
2022-11-06 23:29:22 +02:00
nordsoft
0f35082024
Fix crash with objects belonging players without state
2022-11-06 03:26:13 +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
Andrii Danylchenko
7618bc7425
Mantis-2934: fix conditions to upgrade town in h3m format parser
2022-10-23 16:40:07 +03:00
Andrii Danylchenko
601ced3749
BattleAI: rework movement when no targtes
2022-10-23 11:41:03 +03: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
750f160276
Fix advmap spell mechanics
2022-10-20 22:34:27 +04:00
Andrii Danylchenko
c32d44190e
Merge pull request #1075 from Nordsoft91/town-entrance-fix
...
[1069] Fix bug related to town entrance
2022-10-19 13:42:33 +03:00
Andrii Danylchenko
288f36c0c3
Merge pull request #1052 from Nordsoft91/mp-disconnection
...
MP handle disconnection
2022-10-19 09:56:18 +03:00
nordsoft
7bcb318593
Fix bug related to town entrance
2022-10-19 02:54:06 +04:00
nordsoft
0adae7bb0d
Revert "Fix crash for disconnecting client"
...
This reverts commit 28ab1e9777
.
2022-10-19 00:14:16 +04:00
nordsoft
d5403d3eb9
Merge remote-tracking branch 'upstream/develop' into cpp-map-editor
2022-10-17 01:39:11 +04:00
Andrii Danylchenko
82a9f82e1c
BattleAI: retreat
2022-10-14 12:00:56 +03:00
Andrii Danylchenko
6cbaa40e29
#1065 - fix random hero initial position
2022-10-13 11:58:32 +03:00
nordsoft
4cb31ea912
Merge remote-tracking branch 'upstream/develop' into cpp-map-editor
2022-10-08 23:24:57 +04:00
Nordsoft91
64a801004c
Apply suggestions from code review
...
Co-authored-by: Andrey Filipenkov <decapitator@ukr.net>
2022-10-08 19:41:38 +04:00
Tomasz Zieliński
8c481dff46
Fix incorrect templates for mines in HoTA
2022-10-08 12:42:10 +03:00
nordsoft
3ff38b84a2
Support hotseat over multiplier
2022-10-05 01:54:31 +04:00
nordsoft
a9ad583158
Restore AI controlled player for client disconnection
2022-10-04 18:11:12 +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
Andrey Filipenkov
92dd6d8c17
define app version only in CMakeLists
...
now it's propagated to code via macros
2022-10-04 12:29:38 +03:00
nordsoft
16a5414247
Reconnection partially works
2022-10-04 05:09:03 +04:00
nordsoft
b91bb41a80
One step forward
2022-10-04 02:25:22 +04:00
Andrii Danylchenko
382b3ae94a
Merge pull request #1041 from vcmi/nkai-fixes
...
NKAI: android fixes
2022-10-03 20:30:05 +03:00
Andrii Danylchenko
04490b709a
Merge pull request #1000 from vcmi/multiplayer
...
Multiplayer
2022-10-03 20:16:39 +03:00
nordsoft
512cf014aa
Freeze current state
2022-10-03 20:47:00 +04:00
nordsoft
f4b7cf8196
Transfer player ownership to AI
2022-10-03 20:47:00 +04:00
nordsoft
28ab1e9777
Fix crash for disconnecting client
2022-10-03 20:47:00 +04:00
Andrii Danylchenko
8f599ed043
NKAI: android fixes
2022-10-03 09:01:15 +03:00
nordsoft
628abd1428
Fix campaign serialization
2022-10-03 01:48:03 +04:00
Andrii Danylchenko
d07586ccf6
Merge pull request #1022 from kambala-decapitator/apple-set-app-version
...
[Apple] set proper app and build versions
2022-10-01 20:48:37 +03:00
Andrii Danylchenko
b2ea2eaba6
Merge pull request #1032 from kambala-decapitator/ios-flat-libs-dir
...
switch to flat libs directory structure
2022-10-01 17:57:33 +03:00
Andrey Filipenkov
b26db479d7
don't add Necromancy to Witch Hut on random maps
2022-10-01 16:01:47 +03:00
Andrey Filipenkov
acfdbe87fe
remove duplicate entry
2022-10-01 16:01:02 +03:00
Andrey Filipenkov
b766edb6af
[iOS] don't nest AI and scripting libs under subdirectories
...
3rd party signing tools may ignore such directory layout
2022-10-01 12:36:48 +03:00
Andrey Filipenkov
aa217236b3
check amount of artifacts on hero when checking requirements of a quest that requires artifact(s)
...
fixes case when 2 or more identical artifacts are required
2022-10-01 09:28:32 +03:00
Andrey Filipenkov
86708841f8
code improvement
2022-10-01 09:24:58 +03:00
Andrey Filipenkov
a11135152c
remove trivial manual implementation of assignment operator
...
fixes clang warning: Definition of implicit copy constructor for 'RiverType' is deprecated because it has a user-provided copy assignment operator
2022-09-30 11:26:36 +03:00
Tomasz Zieliński
127d7ec40b
Fixed asserts (only for debug build)
2022-09-29 21:10:44 +02:00
nordsoft
fea05a4320
Finally game restart works
...
# Conflicts:
# lib/CGameState.cpp
# server/CVCMIServer.cpp
2022-09-29 21:08:05 +04:00
Andrii Danylchenko
dae726b82d
Merge pull request #1005 from kambala-decapitator/ios-min-12
...
raise iOS deployment target to 12.0
2022-09-29 19:57:04 +03:00
Andrii Danylchenko
557512b308
Merge pull request #1006 from AgostonSzepessy/dev/agos/small-fixes
...
Small misc fixes
2022-09-29 19:53:27 +03:00
DjWarmonger
58a3abb643
Merge pull request #963 from vcmi/terrain-rewrite
...
Terrain rewrite
2022-09-29 18:24:05 +02:00
Andrii Danylchenko
878aabd4d6
Merge pull request #981 from kambala-decapitator/fix-analyzer-warnings
...
Fix Clang Analyzer warnings
2022-09-29 19:23:24 +03:00
Tomasz Zieliński
20c102e648
Remove T prefix from new typedefs
2022-09-29 11:44:46 +02:00
nordsoft
9fb5d0e726
Fix stackinstance deserialization
2022-09-29 00:35:51 +04:00
nordsoft
7ee4fca120
Pass whole gamestate over network
2022-09-28 23:15:05 +04:00
Tomasz Zieliński
475f835769
More style tweaks
2022-09-28 11:38:08 +02:00
Tomasz Zieliński
d38b6297f8
missing line
2022-09-27 07:53:21 +02:00
Tomasz Zieliński
f386f42166
Merge remote-tracking branch 'origin/develop' into terrain-rewrite
...
# Conflicts:
# lib/Terrain.cpp
# lib/Terrain.h
# lib/battle/CBattleInfoEssentials.cpp
# lib/rmg/ObstaclePlacer.cpp
# lib/rmg/RiverPlacer.cpp
2022-09-27 07:50:17 +02:00
Andrey Filipenkov
53ac61b52b
iOS: don't create unused CConsoleHandler
2022-09-27 07:05:10 +03:00
Andrey Filipenkov
802147c5b7
add some asserts that shouldn't fire
2022-09-26 14:06:55 +03:00
Andrey Filipenkov
bbf08afb3d
fix possible memory leak
2022-09-26 14:06:55 +03:00
Tomasz Zieliński
25f66097cc
Handle RoadType by value / reference
2022-09-26 10:20:39 +02:00
Tomasz Zieliński
f804f8a326
Store RiverType by value, handle by reference
2022-09-26 09:51:36 +02:00
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