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

4681 Commits

Author SHA1 Message Date
Ivan Savenko
50e8a62178 Remove access to creature dwellings names via CGeneralTextHandler 2023-01-26 23:27:26 +02:00
Ivan Savenko
f71cbc5d9b Fixed loading of object names 2023-01-26 23:27:26 +02:00
Ivan Savenko
b13637cdd5 Fix regressions in RMG & map editor 2023-01-26 23:27:26 +02:00
Ivan Savenko
6f324216db Bugfixing 2023-01-26 23:27:24 +02:00
Ivan Savenko
6c472339ce Refactoring of ObjectClassesHandler 2023-01-26 23:26:49 +02:00
Ivan Savenko
c5f72ccdc7 Names for object supertypes are passed through translator 2023-01-26 23:19:53 +02:00
Konstantin
f0cb8b63c7 lib/CGameInterface.cpp: add MinGW workaround
MinGW returns all dynamic library functions as FARPROC, which need
to be cast to actual signatures, and this casts emits
-Wcast-function-type.
So, silence it for GetProcAddress.
2023-01-26 23:49:00 +03:00
Konstantin
cf56f7ccce vcmi: remove unused-but-set-variables 2023-01-26 23:49:00 +03:00
DjWarmonger
25ef065dbe
Merge pull request #1486 from IvanSavenko/configurable_rewardables
Well, it works for my brand new objects with arbitrary bonus, so likely will work with everything else.
2023-01-26 17:01:01 +01:00
Andrey Filipenkov
0bbf70f30a show resurrect message in the battle log 2023-01-25 18:13:06 +03:00
Andrey Filipenkov
785d565f31
Merge pull request #1483 from kambala-decapitator/statue-of-legion-bonus
fix displaying growth bonus from Statue of Legion
2023-01-25 17:45:30 +03:00
Dydzio
3d9f04c6e0 Minor cheats code changes 2023-01-25 12:10:48 +01:00
Ivan Savenko
4a8d1d9b5e Serialization version bump 2023-01-25 12:36:03 +02:00
Ivan Savenko
19cfb79c59 Removed H3 language detection - should be set by Launcher 2023-01-25 12:36:03 +02:00
Ivan Savenko
35775b90f8 Moved bonus names to translation 2023-01-25 12:36:02 +02:00
Ivan Savenko
39131eba3e Added translation support for mods. VCMI translations are now in mod.
Moved existing (English) translation to vcmi mod
Added translations for:
- German
- Polish
- Ukrainian
2023-01-25 12:33:54 +02:00
Konstantin
f93c9277c6 lib/filesystem: rename CreateFile to createFile
In MinGW, there is a define which replaces all CreateFile to
CreateFileA or CreateFileW and breaks compilation. Fix it.
2023-01-25 12:13:34 +03:00
Andrii Danylchenko
94f483c1e7
Merge pull request #1481 from kambala-decapitator/owner-tooltip
display owner of ownable objects in tooltip
2023-01-25 10:38:13 +02:00
Andrii Danylchenko
4cfc93d2da Somehow it works but JNI signatures were incorrect 2023-01-25 08:59:59 +02:00
Ivan Savenko
7a9e5e4e30 Cleanup & consistency changes 2023-01-25 00:38:50 +02:00
Ivan Savenko
af5ff0c9df Remove no longer used code 2023-01-24 23:34:02 +02:00
Ivan Savenko
44bdd2cbf3 Implemented selectable messages for visited & empty state 2023-01-24 23:31:07 +02:00
Andrey Filipenkov
90cb0cdc9b fix displaying growth bonus from Statue of Legion 2023-01-24 18:35:30 +03:00
Andrey Filipenkov
5b10903116 reorder growth bonuses display to match oh3 2023-01-24 18:35:07 +03:00
Ivan Savenko
ca6947b2cc Fixed Tree of Knowledge component 2023-01-24 17:35:06 +02:00
Ivan Savenko
3ba8d708f8 Partially fixed bonuses descriptions (affected by separate old bug) 2023-01-24 17:34:48 +02:00
Ivan Savenko
c793527b44 Added "days since start of the game" limiter. Fixes Water Wheel 2023-01-24 16:54:14 +02:00
Ivan Savenko
ca521fb129 Removed incomplete functionality from rewardable object 2023-01-24 16:29:05 +02:00
Ivan Savenko
c9dcb921ab Implemented "changeCreatures" option for Stables 2023-01-24 16:18:59 +02:00
Ivan Savenko
ecbcafefbc It is now possible to configure what exactly will be reset in object 2023-01-24 13:54:03 +02:00
Ivan Savenko
0c70822928 Implemented logical expression (allOf/anyOf/noneOf) for limiters 2023-01-23 23:54:54 +02:00
Ivan Savenko
f8f6df02f3 Removed remaining hardcoded objects 2023-01-23 15:27:27 +02:00
Ivan Savenko
62e127fb59 Bonusing objects are now configured in json 2023-01-23 01:05:10 +02:00
Ivan Savenko
bfd6c40f25 Moved all once-per-hero visitable (sans Tree) to config 2023-01-22 22:58:53 +02:00
Ivan Savenko
a6bda58276 Moved CGOnceVisitable to config 2023-01-22 20:26:19 +02:00
Ivan Savenko
fcb455b7f4 Fixed remaining bugs with converted objects 2023-01-22 18:37:26 +02:00
Ivan Savenko
695a94c3c8 Fixed all major bugs with newly converted objects 2023-01-22 18:17:26 +02:00
Ivan Savenko
9f3f9cc563 Added some missing functionality for configurable object 2023-01-22 02:08:58 +02:00
Ivan Savenko
83bb70cd8a All CGPickable objects are now fully configurable 2023-01-21 16:45:04 +02:00
Ivan Savenko
8064bc5465 Fix description of artifacts 2023-01-21 15:58:28 +02:00
Ivan Savenko
5fa69dcf2f Fix description of skill-based bonuses 2023-01-21 15:58:12 +02:00
Ivan Savenko
9565cae3cb Fix potential assertion failure on map load 2023-01-21 15:57:25 +02:00
Dydzio
685d63603d Merge branch 'develop' into creature-numeric-quantities 2023-01-21 12:57:29 +01:00
Andrey Filipenkov
2a43b7cfbc display owner of ownable objects in tooltip
also displays owner of towns (deviation from oh3)
2023-01-21 14:25:43 +03:00
Ivan Savenko
6e2d09d605 Cleanup 2023-01-20 16:11:43 +02:00
Ivan Savenko
46931a0ecf Bugfixing 2023-01-20 16:11:43 +02:00
Ivan Savenko
ee7a573cb8 Refactoring of SDL API usage:
- Rect no longer inherits from SDL_Rect
- renamed vcmi functions that used SDL naming format
- moved all functions in SDL_Extensions file into CSDL_Ext namespace
- SDL_Rect is now used only by SDL_Extensions, all other code uses Rect
2023-01-20 16:11:43 +02:00
Ivan Savenko
9a30484183 Point and Rect now reside in library 2023-01-20 16:11:43 +02:00
Ivan Savenko
e0842d416c Fix identifier format 2023-01-20 15:18:36 +02:00
Ivan Savenko
27442e2950 Remove unused code 2023-01-20 15:18:36 +02:00
Ivan Savenko
5a9ffb8e95 Serialization version bump 2023-01-20 15:18:36 +02:00
Ivan Savenko
47c1803c42 Finalization of refactoring:
- Entity interface now has getNameTranslated & getNameTextID methods
- Entity interface no longer has getName method
- removed (most) usages of normalizeIndentifier workaround method
- all moddable objects have identifier in form of mod:name
- all moddable object register strings in form of mod.type.name
2023-01-20 15:18:36 +02:00
Ivan Savenko
05a1d7c6e3 All text for factions/towns/building are passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
388ed88b5d All artifact strings now pass through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
d2b837b116 All creature-related texts go through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
fa6f7513e8 All heroes-related strings are passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
e22f6283c2 Secondary skills strings are now passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
5da407e822 All spell texts are now passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
30d7bdc884 Moved tower damage computation to town instance 2023-01-20 15:18:10 +02:00
Ivan Savenko
b7c27e7d47 ios compilation fix 2023-01-20 15:18:10 +02:00
Ivan Savenko
789f4d6bc8 Formatting 2023-01-20 15:18:10 +02:00
Ivan Savenko
33b5bfbbd2 Fixed secondary skill specialties 2023-01-20 15:18:10 +02:00
Ivan Savenko
4015d3d8bd Fixed creature specialties 2023-01-20 15:18:10 +02:00
Ivan Savenko
4a09dc0757 Fixed Adela's Bless specialty 2023-01-20 15:18:10 +02:00
Ivan Savenko
b86969909a Fixes compilation due to changes in callback interface 2023-01-20 15:18:10 +02:00
Ivan Savenko
1418ce4678 Refactoring & fixes of damage calculation 2023-01-20 15:18:10 +02:00
Ivan Savenko
d0c292e2fd Fix order of map indexes 2023-01-20 15:15:57 +02:00
Ivan Savenko
8cfde8fc5e Fixed selection of dragon's breath attack against double-wide units 2023-01-20 15:15:44 +02:00
Ivan Savenko
b8c5a32b9b Fix attack targeting selection for double-wide units 2023-01-20 15:15:44 +02:00
krs
fd90653e25 Bug in moving maps. .h3c vs .H3C 2023-01-20 15:14:52 +02:00
Dydzio
54d62a5eb9 Fix roads and rivers saving in map editor 2023-01-19 23:04:12 +04:00
Ivan Savenko
e53e515aa7 Fix msvc compile 2023-01-18 01:04:50 +02:00
Ivan Savenko
17fc9d8d8f Merge with vcmi/develop 2023-01-18 01:04:34 +02:00
Ivan Savenko
c400416058
Merge pull request #1409 from IvanSavenko/translate_terrain
Refactoring of terrain handlers
2023-01-18 00:12:31 +02:00
Dydzio
0e72ee9217 No longer relevant TODO removed 2023-01-18 02:05:30 +04:00
Dydzio
72eb794397 Fix space to tab, update description 2023-01-18 02:05:30 +04:00
Dydzio
f64d6bc1bc Add support for overwriting default range via additional info 2023-01-18 02:05:30 +04:00
Dydzio
01ce01d8f9 Add proper handling for 2-hex units + extract range calculation method 2023-01-18 02:05:30 +04:00
Dydzio
cf1674d0ca Introduce new bonus for limiting range 2023-01-18 02:05:30 +04:00
Dydzio
c22ab5ec9e Initial version of limiting shooters range feature 2023-01-18 02:05:30 +04:00
Nordsoft91
672bcb488b
Merge pull request #1381 from dydzio0614/client-commands-improvements
Client commands code improvements + ingame support
2023-01-18 02:04:38 +04:00
Ivan Savenko
05ac217b0f Merge with vcmi/develop 2023-01-17 23:02:25 +02:00
Ivan Savenko
e436b4425f Serialization version bump 2023-01-17 22:59:32 +02:00
Ivan Savenko
633b9ef3be Native terrain is now required for faction, opt-out with value "none" 2023-01-17 22:59:14 +02:00
Ivan Savenko
707de75ac0 Cleared up formatting 2023-01-17 22:58:22 +02:00
Dydzio
e593b61201 Merge branch 'develop' into client-commands-improvements 2023-01-16 01:13:06 +01:00
Dydzio
da39eb789f Fix indent 2023-01-16 00:37:18 +01:00
Ivan Savenko
96141f010b Merge remote-tracking branch 'vcmi/develop' into translate_launcher 2023-01-15 23:55:49 +02:00
Ivan Savenko
0a858d9a7c
Upgrade msvc to include enet and qt translator (#1436)
- Updated MSVC prebuilt package
- Fixed build warnings
2023-01-15 23:55:24 +02:00
Ivan Savenko
246281e62a Merged vcmi/beta with vcmi/develop 2023-01-15 17:46:42 +02:00
Ivan Savenko
bec894c348 Implemented automatic detection of H3 files language/encoding 2023-01-15 17:32:39 +02:00
Ivan Savenko
6ea7add4bb
Merge pull request #1394 from SoundSSGood/art-move-fix
Artifact movement refactoring
2023-01-15 17:29:36 +02:00
Andrey Filipenkov
2f14914120 fix Boost deprecation warnings
warnings introduced in v1.81

# Conflicts:
#	mapeditor/resourceExtractor/ResourceConverter.cpp
2023-01-15 17:28:09 +02:00
Dydzio
804b164c75 Changed getQuantityRangeStringForId handling 2023-01-15 16:19:55 +01:00
Andrii Danylchenko
9f0eb055f9
Merge pull request #1426 from vcmi/android-upgrade-sdl
Update android JNI bindings
2023-01-15 10:36:32 +02:00
Dydzio
b5a1b178d9 Explicitly call reset on shared_ptr for potential readability boost 2023-01-15 01:18:35 +01:00
Ivan Savenko
a46ab835ce Applied review suggestions 2023-01-14 23:01:33 +02:00
Dydzio
8248feebf7 Implement numeric creature descriptions with config toggle on/off 2023-01-14 15:55:08 +01:00
Ivan Savenko
ccc6ebee0d Cleared up gate blocking, Force Field can now block gates 2023-01-13 15:44:42 +02:00
Ivan Savenko
526de47ca4 Removed 0.98 compatibility 2023-01-13 13:00:07 +02:00
Ivan Savenko
3be3c871fb Destroyed walls will now remove wall penalty 2023-01-13 01:59:09 +02:00
Ivan Savenko
1d7f004658 Implemented reinforced walls in towns with Castle 2023-01-13 01:09:24 +02:00
Ivan Savenko
500cf7f15d EWallPart & EWallState are now enum class 2023-01-13 00:35:58 +02:00
Ivan Savenko
dd3adb7e16 Arrow towers damage algorithm should now match H3 2023-01-12 23:52:03 +02:00
Dydzio
aac515f64e Merge 'develop' branch 2023-01-11 16:24:53 +01:00
Ivan Savenko
192e856797 merge with vcmi/develop 2023-01-11 16:47:53 +02:00
Ivan Savenko
e48bd39b9c Moved road & river handlers into a separate file 2023-01-11 15:17:24 +02:00
Ivan Savenko
5e72ef76cf Fix quest texts accessing 2023-01-11 15:10:44 +02:00
Ivan Savenko
8b6f6f9b93 Fix msvc compile 2023-01-11 13:59:43 +02:00
Ivan Savenko
c6f089c6b1 Removed outdated comment 2023-01-11 13:59:33 +02:00
SoundSSGood
a0568823a9 swap contitutient 2023-01-11 13:17:33 +02:00
Ivan Savenko
1e37e66e6c Replaced Terrain::BORDER and WRONG with NONE 2023-01-10 20:09:09 +02:00
Ivan Savenko
1b25043dab Terrain identifiers will also have mod:name format 2023-01-10 20:08:37 +02:00
Ivan Savenko
1caec0a8cb Removed default native terrains - breaks neutral faction 2023-01-10 20:08:07 +02:00
Ivan Savenko
8c2b1d74be Removed unused code 2023-01-10 20:07:22 +02:00
Ivan Savenko
3fd9a14651 Fix #1401 - Restored accessing creature names via GeneralTextHandler 2023-01-10 12:26:20 +02:00
Ivan Savenko
c455986a55 Fix regressions in RMG & map editor 2023-01-10 01:05:28 +02:00
Ivan Savenko
4f3ea0d1d9 Renamed Terrain.h/cpp -> TerrainHandler.h/cpp 2023-01-10 00:01:35 +02:00
Ivan Savenko
f51b3bca57 use JsonKey or NameTranslated instead of ambiguos Name 2023-01-10 00:01:35 +02:00
Ivan Savenko
009705e794 Names for terrains now pass through translator 2023-01-10 00:01:35 +02:00
Ivan Savenko
7c7ae26e67 Map/Road/River identifiers are now private members 2023-01-10 00:01:35 +02:00
Ivan Savenko
f3985d205b Added horseSoundPenalty for terrains (for movement outside of roads) 2023-01-10 00:01:35 +02:00
Ivan Savenko
64885bdf6b Better names for terrain parameters. Support for new movement sounds. 2023-01-10 00:01:35 +02:00
Ivan Savenko
4e4dae854f Final stabilization changes 2023-01-10 00:01:35 +02:00
Ivan Savenko
99745b5c3c Fix rivers & roads loading 2023-01-10 00:01:35 +02:00
Ivan Savenko
2de3178158 Fixed game startup 2023-01-10 00:01:35 +02:00
Ivan Savenko
e1799379dd Terrain/Road/River handler are now in compileable state 2023-01-10 00:01:35 +02:00
Ivan Savenko
1468f6aded Converted terrainTypeHandler into proper handler class 2023-01-10 00:01:35 +02:00
Ivan Savenko
01811317f9 Remove assert which may not always be true 2023-01-09 23:22:59 +02: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
Ivan Savenko
bde988ca43
Merge pull request #1329 from IvanSavenko/translate_game
Translations support - base functionality for main game texts
2023-01-09 20:33:56 +02:00
Ivan Savenko
8f42c86962 Formatting: space -> tabs 2023-01-09 18:34:37 +02:00
Ivan Savenko
84aefc3362 Changed log file format: print timestamp instead of thread ID 2023-01-09 18:34:37 +02:00
Ivan Savenko
2f5ee44cbe Fixes patrol position initialization on H3M load 2023-01-09 18:34:13 +02:00
Ivan Savenko
7e8516f927 Changed Sirens behavior to match H3 logic 2023-01-09 13:04:56 +02:00
SoundSSGood
4005b48360 Regressions fixed 2023-01-08 23:31:12 +02:00
SoundSSGood
6b7ce798d0 artifactTransitionPos created 2023-01-08 23:24:13 +02:00
Andrey Filipenkov
48c01157e6 fix typo 2023-01-08 01:33:26 +02:00
Andrey Filipenkov
db98575d10 fix unaligned memory access (UB) on Clang/GCC/MSVC
sample UBSAN report:
client/gui/CAnimation.cpp:329:24: runtime error: load of misaligned address 0x62d0004b094f for type 'const ui32' (aka 'const unsigned int'), which requires 4 byte alignment
2023-01-08 01:33:26 +02:00
Ivan Savenko
481f756b51 Fixes #1304 - correct battle log message on spellcast without kills 2023-01-07 19:52:57 +02:00
Andrii Danylchenko
9f9798d3a4 Update android JNI bindings 2023-01-07 09:26:01 +02:00
Dydzio
622e012fcf Allow ingame console to use clientside commands and print output 2023-01-06 21:01:54 +01:00
Dydzio
a2ce9220ed Fix tests + scripting compilation on gcc 2023-01-05 17:42:33 +02:00
SoundSSGood
d5cef0c069 end of battle art assembling fix 2023-01-05 17:37:14 +02:00
Dydzio
3e1e41ef59 Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2023-01-05 17:31:30 +02:00
Dydzio
a83c7eb00f Add configurable damage and defense parameters 2023-01-05 17:31:30 +02:00
Ivan Savenko
6b2490903d Fix casting of massive spells by creatures 2023-01-04 21:26:13 +02:00
Ivan Savenko
e1a244beb0 Fix crash on firewall cast attempt 2023-01-04 17:38:55 +02:00
Ivan Savenko
d3ecd43aba Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2023-01-04 16:20:53 +02:00
Ivan Savenko
c479504646 Formatting cleanup 2023-01-01 22:50:38 +02:00
Ivan Savenko
d237bee927 Removed unused code 2023-01-01 21:12:47 +02:00
Ivan Savenko
7c0d5666a0 Return string by copy to fix cases when string is constructed on stack 2023-01-01 20:55:43 +02:00
Ivan Savenko
9a620a9091 Refactoring of GeneralTextHandler to reduce boilerplate code in callers 2023-01-01 15:13:02 +02:00
Ivan Savenko
01d0cd4f7a Changed configurable UI to match text refactoring:
- help.txt strings are now loaded as (hover, help) pairs
- renamed string pairs from translate.json to use (hover, help) form
- interface builder will always load label texts via unified ID
- interface builder way of loading buttons text has been changed:
- - field has been renamed "zelp" -> "help" for consistency
- - "help" field now only accepts string or object json type
2023-01-01 14:56:45 +02:00
Ivan Savenko
84493e1bff Translate received string identifier before storing 2023-01-01 14:56:45 +02:00
Ivan Savenko
10541855d9 Don't load empty rumor strings 2023-01-01 14:56:45 +02:00
Ivan Savenko
a499390b9c Restored text export command 2023-01-01 14:56:45 +02:00
Ivan Savenko
1979b3e97f Fixes typo 2023-01-01 14:56:45 +02:00
Ivan Savenko
e9e2ebb1c9 Cleanup 2023-01-01 14:56:45 +02:00
Ivan Savenko
cb4f5edae9 All Heroes 3 texts are now passed through translator 2023-01-01 14:56:45 +02:00
Ivan Savenko
85d7b470d4 Access to quests texts is now processed via translator 2023-01-01 14:56:45 +02:00
Ivan Savenko
bdb8e0ee5c Introduced string identifiers for H3 texts, still WIP 2023-01-01 14:56:44 +02:00
Dydzio
7e321b2405 Fix missing formatting 2022-12-30 16:14:04 +01:00
Dydzio
306348c301 Tweak condition to remove hardcoded terrain ID 2022-12-30 16:04:19 +01:00
Dydzio
2c09bfb22a Fix code formatting 2022-12-30 15:51:13 +01:00
Dydzio
c40dcec7cd Improve terrain check condition 2022-12-30 15:46:10 +01:00
Dydzio
1967416eb2 Remove no longer needed code 2022-12-30 15:26:27 +01:00
M
23de4a188b Change cartographer tile reveal logic to match H3 2022-12-30 15:09:09 +01:00
Ivan Savenko
0c78e47dce Fixed serialization due to changed lsit of bonuses 2022-12-30 11:55:40 +02:00
Ivan Savenko
5d80457eda Merge with vcmi/develop branch 2022-12-30 00:52:23 +02:00
Ivan Savenko
b8b1e07621 Fix serialization 2022-12-30 00:36:10 +02:00
Ivan Savenko
486c9612b8 Fix regression from warnings_fix branch 2022-12-30 00:23:34 +02:00
Ivan Savenko
b89e8a9dfe Fix serialization 2022-12-29 23:37:46 +02:00
Ivan Savenko
b275d9de72 merge beta branch into develop 2022-12-29 22:08:53 +02:00
Ivan Savenko
7a35bcc812
Merge pull request #1221 from IvanSavenko/warnings_fix
Fix remaining compiler warnings
2022-12-29 21:51:55 +02:00
Ivan Savenko
e19dc41295 Support Polish version of H3 data files 2022-12-29 21:50:04 +02:00
Andrey Filipenkov
b030a88ca5 fix gold check for School of War 2022-12-29 01:45:51 +04:00
Ivan Savenko
5f4a998435 editorPath -> mapEditorPath 2022-12-28 17:59:16 +02:00
Andrii Danylchenko
a954cc08fb Made intermediate class to hide some implementation details from header. 2022-12-27 12:55:31 +02:00
Andrii Danylchenko
c271f9187f Connection buffered read cpack. 2022-12-26 21:49:53 +02:00
Andrii Danylchenko
cb13064a62 Socket buffered write. Write full cpack at once 2022-12-26 20:17:53 +02:00
Ivan Savenko
78ed2f154b Revert uninteded change 2022-12-26 14:48:13 +02:00
Ivan Savenko
bb65246aa3 Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-26 01:15:44 +02:00
Ivan Savenko
e4e5278f60 Merge with vcmi/develop 2022-12-25 23:10:52 +02:00
Ivan Savenko
b38752bde1 Editor can be started from Launcher (disabled for ios) 2022-12-25 23:08:39 +02:00
Ivan Savenko
7e3cd7db51 Fix for missing Death Blow sound 2022-12-25 20:11:22 +02:00
Ivan Savenko
063b8732ff Save compatibility with main branch 2022-12-25 18:07:08 +02:00
Ivan Savenko
a0ab760249 Removed debug code 2022-12-25 16:53:40 +02:00
Ivan Savenko
94597e7af6 Remove deprecated usage of sprintf 2022-12-25 14:04:12 +02:00
Ivan Savenko
405b2976d5 Renamed getUpgradeInfo -> fillUpgradeInfo 2022-12-25 14:03:43 +02:00
Nordsoft91
785787e454
Merge branch 'develop' into interface-builder 2022-12-24 21:56:29 +04:00
Ivan Savenko
325c29da0d Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-23 14:51:34 +02:00
Ivan Savenko
eb20a4b208 Merge remote-tracking branch 'vcmi/develop' into warnings_fix 2022-12-23 14:40:45 +02:00
Ivan Savenko
f073c676f9 Merge 1.1 release into develop 2022-12-23 14:17:18 +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
Ivan Savenko
b2279484fc
Merge pull request #1227 from Shatur/opendingux
Port to OpenDingux handhelds
2022-12-22 16:56:55 +02:00
Ivan Savenko
bab5922951 Spells can now define color muxer effect (e.g. Bloodlust & Petrify) 2022-12-22 00:25:35 +02:00
Ivan Savenko
41b87088d5 Color muxer effects can now be (partially) configured by user.
TODO: move color muxer effects from spells into spell config
2022-12-21 23:29:56 +02:00
nordsoft
7e7071fc95 Merge remote-tracking branch 'upstream/develop' into interface-builder 2022-12-22 01:24:29 +04:00
nordsoft
34b81e8838 Revert VCMIDirs to fix the build 2022-12-21 23:08:53 +04:00
Ivan Savenko
26985600b2 Fixed several more cases of incorrect scope for identifiers resolving 2022-12-21 23:02:19 +04:00
Ivan Savenko
23cb47b457 Fixed several scenarios with incorrect scope for requesting identifiers 2022-12-21 23:02:19 +04:00
Ivan Savenko
b423b3fa6b Fix dragon breath & fire shield 2022-12-21 18:04:54 +02:00
Ivan Savenko
5f8cfadc4d Better formatting for not found terrains ID's 2022-12-20 01:55:59 +04:00
Ivan Savenko
3cf1e3b4d4 Restored neutral faction ID, changed warnings related to H3 ID's 2022-12-20 01:55:59 +04:00
Ivan Savenko
b13723305d Better error reporting for usages of invalid terrain in mods
TODO: switch to proper mechanism via identifier requests
2022-12-20 01:55:59 +04:00
Ivan Savenko
a57eec23e6 Refactoring of setBattleCursor & fromWhichHexAttack methods 2022-12-19 01:12:26 +02:00
Ivan Savenko
53f6b7bd32 Fix Ice Ring target selection 2022-12-18 20:23:19 +02:00
Ivan Savenko
e9e549148d Implemented teleportation animation effect 2022-12-18 18:26:43 +02:00
Ivan Savenko
a6622b5896 Fixed clone damage 2022-12-18 17:38:14 +02:00
Ivan Savenko
526a6e4fe7 Fix incorrect assertions 2022-12-18 14:33:59 +02:00
Andrii Danylchenko
cf97bf2cfd
Remove unused code 2022-12-18 13:11:02 +02:00
Andrii Danylchenko
1555c51313 fix assertion 2022-12-18 12:29:03 +02:00
Ivan Savenko
45aa841fb6 Stack reversing logic now matches H3 2022-12-18 11:42:02 +02:00
Ivan Savenko
52fc5b3c39 Exploded mines now send ACTIVATE flag to client to play effect 2022-12-17 19:37:00 +02:00
Ivan Savenko
deffba01b9 All battle effects are now fully client sided 2022-12-17 17:35:15 +02:00
nordsoft
b1f2c7aed4 Team alignments implemented 2022-12-17 08:19:16 +04:00
nordsoft
d93e844609 Use roads names instead of their filenames 2022-12-17 04:54:01 +04:00
nordsoft
f27a40dd34 Support roads and teams customization in engine 2022-12-17 03:52:40 +04:00
nordsoft
bcf95c32e9 Merge branch 'fix-cmake' into interface-builder 2022-12-17 03:09:41 +04:00
Ivan Savenko
733f21f8dc Petrify will freeze stack animations 2022-12-16 18:34:35 +02:00
Ivan Savenko
291bb9b204 Expanded cursors enum to include all possible values 2022-12-16 11:22:58 +02:00
Andrii Danylchenko
8c07ddbae0
Merge pull request #1204 from IvanSavenko/single_process_app_upgrade
[1.2] Single process app support for platforms other than ios
2022-12-15 12:22:24 +02:00
nordsoft
2fe951f819 Merge remote-tracking branch 'upstream/develop' into interface-builder
# Conflicts:
#	client/lobby/RandomMapTab.cpp
2022-12-15 04:47:11 +04:00
nordsoft
fc7f1dbc5a Fix template selection 2022-12-14 05:23:21 +04:00
nordsoft
53b2f68560 Serialize template 2022-12-14 04:37:11 +04:00
Ivan Savenko
e791323502 Implemented placement sound for obstacles 2022-12-13 21:31:49 +02:00
Ivan Savenko
60a00b450e Multiple fixes & improvements to animation ordering 2022-12-13 21:31:49 +02:00
Ivan Savenko
0020d76d1d Introduced animation phases for beter ordering of visuals in battles 2022-12-13 21:31:49 +02:00
Ivan Savenko
c79634b6a7 Moved all animation ordering logic to callers
Previously, CBattleAnimation & inheritors were controlling animation
ordering - e.g. which animations should play after which.
Now, this is controlled by caller, e.g. BattleInterface & its
controllers.
H3 animations are fairly linear and can be split in stages which are
already somewhat implemented via waitForAnims
2022-12-13 21:31:49 +02:00
Ivan Savenko
b3deea24e0 Earthquake spell: do not target already destroyed sections 2022-12-13 21:31:49 +02:00
Ivan Savenko
155f776ae8
Merge pull request #1172 from IvanSavenko/battleint_refactor
[1.2] Refactoring of BattleInterface class
2022-12-13 21:31:18 +02:00
Hennadii Chernyshchyk
de33eb44f9
Port to OpenDingux handhelds 2022-12-13 03:55:54 +02:00
nordsoft
b3d60ec418 Add new map sizes 2022-12-12 04:46:42 +04:00
Ivan Savenko
1558c28c0a Fix obstacle rendering 2022-12-12 00:05:00 +02:00
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