Ivan Savenko
62151cd20c
Replaced genRect with Rect constructor call
2023-02-03 19:17:59 +02:00
Ivan Savenko
34dcb4127a
Removed text utilities from SDL_Extensions
2023-02-03 18:55:25 +02:00
Ivan Savenko
7c58a46279
Removed some instances of access to screen
surface
2023-02-03 18:23:53 +02:00
Ivan Savenko
70c0937972
Moved SDL-specific code to SDL_Extensions
2023-02-03 13:02:05 +02:00
Ivan Savenko
01322aa4c5
Do not allow selecting resolution no supported by display
2023-02-03 12:57:38 +02:00
Ivan Savenko
9833edcf73
Removed using namespace SDL_Ext
2023-02-03 11:39:40 +02:00
Ivan Savenko
d87fb43dcd
Replaced SDL access with VCMI methods
2023-02-03 11:39:40 +02:00
Ivan Savenko
3fef2a5e1f
Moved Colors to a separate file, updated includes
2023-02-03 11:39:40 +02:00
Ivan Savenko
cfcaf5cbb6
renamed keyDown -> keyPressed
2023-02-03 11:39:40 +02:00
Ivan Savenko
e1bd0d2a04
API for custom events no longer requires SDL access
2023-02-03 11:39:40 +02:00
Ivan Savenko
d4fba3787c
Removed usage of SDL_KeyboardEvent from UI code
2023-02-03 11:39:40 +02:00
Ivan Savenko
6669ffd4b3
Moved input-related code from SDL_Extensions to GuiHandler
2023-02-03 11:39:40 +02:00
Ivan Savenko
214fc19e74
CIntObject now receives mouse position as point instead of SDL event
2023-02-03 11:39:39 +02:00
Dydzio
e7a774c465
Improve creature numbers handling in castle interface bottom left part
2023-02-02 20:54:47 +01:00
Dydzio
5a08ec04fe
Initial split of BattleOptionsWindow
2023-02-02 17:17:16 +01:00
Dydzio
d04c53e7e0
Merge branch 'develop' into settings-rework
2023-02-02 11:55:13 +01:00
Ivan Savenko
108a42e4ba
Reorganized includes for new layout. New class - IImageLoader
2023-02-01 20:42:06 +02:00
Ivan Savenko
8a9492d129
Moved client files to more suitable locations
2023-02-01 13:09:19 +02:00
Ivan Savenko
0ba74fea73
Merge pull request #1515 from IvanSavenko/time_based_animations
...
Time based animations
2023-02-01 12:25:54 +02:00
Dydzio
88744633de
Move buttons from mainOptions to SystemOptionsWindow
2023-01-30 23:26:33 +01:00
Dydzio
cc9d65a341
Make battle settings callable without battle, save last settings tab
2023-01-30 22:15:37 +01:00
Dydzio
9dd692cea4
Initial draft of tabbed settings window
2023-01-30 20:18:59 +01:00
Ivan Savenko
5cc23cc286
Renamed SDL_Pixels -> SDL_PixelAccess due to similar SDL header
2023-01-30 20:06:08 +02:00
Ivan Savenko
9c3030603d
Removed most SDL includes from headers, removed SDL int's
2023-01-30 19:55:32 +02:00
Ivan Savenko
e14290fde0
Removed loading of images from file into SDL_Surface
2023-01-30 18:25:47 +02:00
Ivan Savenko
87218c63c4
CPicture now uses IImage internally
2023-01-30 17:18:59 +02:00
Ivan Savenko
e35a669eeb
Refactoring of CPicture class to improve encapsulation
2023-01-30 13:58:13 +02:00
Ivan Savenko
42df5626d9
Added Color class to replace SDL_Color
2023-01-30 00:12:43 +02:00
Dydzio
1898b8218c
Merge remote-tracking branch 'origin/develop' into settings-rework
2023-01-29 17:36:56 +01:00
Dydzio
e3578d0bc8
Extract options stuff to separate file
2023-01-29 17:36:33 +01:00
Ivan Savenko
57ee9a9bf3
Merge vcmi/beta into vcmi/develop
2023-01-29 18:21:55 +02:00
Dydzio
0fdfd8bdcb
Configurable interface for game settings, change sound/music sliders
2023-01-29 16:49:47 +01:00
Ivan Savenko
bdde9f831a
Fixed timings of building construction to match H3
2023-01-28 13:19:35 +02:00
Ivan Savenko
09413c61b8
Changed timing of building fade-in to match H3
2023-01-28 13:19:35 +02:00
Ivan Savenko
3acee297be
CShowableAnim is now time-based with timing matching H3
2023-01-28 13:19:35 +02:00
Ivan Savenko
7bbaae75a2
Merge pull request #1508 from kambala-decapitator/shipyard-regression
...
attempt to show shipyard dialog only when a hero is selected
2023-01-28 02:04:10 +02:00
Ivan Savenko
50a0fc4fb2
Removed pointer to current SDL_Event from GuiHandler
2023-01-27 23:17:40 +02:00
Andrey Filipenkov
612b5e2746
attempt to show shipyard dialog only when a hero is selected
...
fixes regression from a4e8255cbc
2023-01-25 20:49:37 +03:00
Andrey Filipenkov
b2d2c7a2dc
Merge pull request #1501 from kambala-decapitator/townportal-doubleclick
...
handle double-click in Town Portal dialog
2023-01-25 17:42:15 +03:00
Ivan Savenko
52ab0f9b5b
Merge pull request #1446 from dydzio0614/movement-points-show
...
Implement movement points info on ALT hold + tile mouse hover
2023-01-25 12:30:34 +02:00
Andrey Filipenkov
08b04a3527
handle double-click in Town Portal dialog
2023-01-23 15:43:55 +03:00
Dydzio
192a97bc05
Extract method and make customizable movement points string
2023-01-21 15:30:32 +01:00
Andrey Filipenkov
919c592e67
fix closing Buy Boat dialog with Escape button
2023-01-21 16:00:29 +03:00
Andrey Filipenkov
a4e8255cbc
allow opening Buy Boat dialog on clicking shipyard on advmap when a town is selected
2023-01-21 15:58:12 +03:00
Ivan Savenko
8ed115a628
Fix ios compile
2023-01-20 16:11:43 +02:00
Ivan Savenko
9be38780cd
Removed remaining parts of Geomeotries.h/cpp
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
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
Andrey Filipenkov
1b3c07eda4
buy units starting from the highest level in the "buy all units" dialog
2023-01-20 15:14:15 +02:00
Ivan Savenko
05ac217b0f
Merge with vcmi/develop
2023-01-17 23:02:25 +02:00
Andrii Danylchenko
c24b89fe06
2 finger rclick block adwmap scrolling and disable for iOS
2023-01-17 16:22:44 +02:00
Andrii Danylchenko
33f92bc4b1
Merge pull request #1438 from dydzio0614/build-speed-adjust
...
Adjust newly built building appearance and outline blinking speed
2023-01-16 20:27:56 +02:00
Dydzio
c3b254a815
Enum value can be used here as well
2023-01-16 18:26:31 +01:00
Dydzio
c886a2a02b
Implement movement points info on ALT hold + tile mouse hover
2023-01-16 17:29:33 +01:00
Andrii Danylchenko
b3f6250f4e
Merge pull request #1439 from dydzio0614/castle-shipyard-animation-fix
...
Fix wrong rendering of castle shipyard
2023-01-16 14:23:37 +02:00
Dydzio
54e499f5e7
Minor refactoring from code review
2023-01-16 00:33:53 +01:00
Ivan Savenko
9971bdca1b
Existing software cursor logic is now in a separate class
2023-01-15 21:18:34 +02:00
Ivan Savenko
0e8ee929df
Renamed CCursorHandler -> CursorHandler
2023-01-15 21:18:34 +02:00
Dydzio
7dd7f4af54
Change to time-based frame counting, easier than I though
2023-01-15 19:56:55 +01:00
Dydzio
6572f5697e
Fix wrong rendering of castle shipyard
2023-01-15 19:10:40 +01:00
Dydzio
cbddf2d8fb
Adjust newly built building appearance and outline blinking speed
2023-01-15 17:22:53 +01:00
Ivan Savenko
246281e62a
Merged vcmi/beta with vcmi/develop
2023-01-15 17:46:42 +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
SoundSSGood
a0568823a9
swap contitutient
2023-01-11 13:17:33 +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
7c7ae26e67
Map/Road/River identifiers are now private members
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
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
9308319ac7
Added workaround for ~200 ms lag occuring after hero move
2023-01-09 13:05:28 +02:00
SoundSSGood
4005b48360
Regressions fixed
2023-01-08 23:31:12 +02:00
Ivan Savenko
d83eedb8dd
Fixes #1378 - do not auto-set key color - image might not have one
2023-01-06 13:15:52 +02:00
Ivan Savenko
c479504646
Formatting cleanup
2023-01-01 22:50:38 +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
cb4f5edae9
All Heroes 3 texts are now passed through 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
Ivan Savenko
5d80457eda
Merge with vcmi/develop branch
2022-12-30 00:52:23 +02:00
Ivan Savenko
405b2976d5
Renamed getUpgradeInfo -> fillUpgradeInfo
2022-12-25 14:03:43 +02: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
c835a84051
Moved all GUI handling from BattleInterface to BattleControlPanel
2022-12-21 17:02:53 +02:00
Ivan Savenko
b373c4a2b6
Fix Status Bar & In-game console activation
2022-12-19 22:53:31 +02:00
Ivan Savenko
d29c9d6445
Fortify CLabel interface to prevent unchecked access
2022-12-19 22:04:50 +02:00
Ivan Savenko
16c4851d3b
Animated cursor for spell selection, removed hardcoded cursor ID's
2022-12-18 22:32:07 +02:00
Ivan Savenko
864990db13
Implemented Bloodlust & Petrification effect
...
- ColorFilter is now in separate file
- Moved lerp function into global.h
- Bloodlust visuals mostly matches H3
- Petrify visual matches H3
- TODO: Adjust timing of all ColorFilter efects to match H3
- TODO: Petrify should pause stack animations
- TODO: ColorFilter-powered effects should be configurable in Spell system
2022-12-15 23:24:03 +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
Ivan Savenko
c855823528
Renamed files in client/battle to match new names of classes
2022-12-09 13:38:46 +02:00
Ivan Savenko
db2a40600d
Fixed some of the warnings detected by CI run
2022-12-08 23:20:42 +02:00
Ivan Savenko
facf77b3ae
vstd::unique -> std::unique
2022-12-07 23:36:20 +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
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
Andrii Danylchenko
a72d1270cd
#1186 - disable status bar with other advmap controls
2022-12-03 21:32:47 +02:00
Ivan Savenko
397371b969
HoMM3 bug workaround: fixes missing slot on artifact merchant background
...
image
2022-12-02 18:52:05 +02:00
Ivan Savenko
495e0b3657
Merge remote-tracking branch 'vcmi/develop' into battleint_refactor
2022-12-01 23:58:01 +02:00
SoundSSGood
3bf0cfe4fa
Merge branch 'vcmi:develop' into refactoring-art
2022-11-29 22:34:08 +02:00
Ivan Savenko
a512e0d58f
Fixed ugly solid-white status bars in pregame, removed operator* from
...
CPicture
2022-11-29 17:07:21 +02:00
Andrii Danylchenko
d6ca8017bf
Clickable status bar to send messages with on mobile
2022-11-29 08:05:54 +02:00
SoundSSGood
909dcb82fa
use ArtifactID
2022-11-29 00:32:18 +02:00
Ivan Savenko
7c4e04c1ec
Refactoring/cleanup of classes in CBattleAnimations.cpp
2022-11-28 16:02:46 +02:00
Ivan Savenko
0cae259f53
Most of rendering in BattleInt is done via canvas
...
- refactoring of CBattleStacksController.cpp
- moved EAlignment enum to Geometries.h from CIntObject
- renamed EAlignment to ETextAlignment, to avoid conflict with good/evil
alignemt
- ETextAlignment is now enum class
2022-11-26 23:12:20 +02:00
Ivan Savenko
abb553d975
Next step of code refactoring:
...
- refactoring of CBattleFieldController code (except for 2 arcane
methods)
- introduced class CCanvas for encapsulated rendering surface
- battleint rendering is now partially done with CCanvas
- removed unused includes of CBitmapHandler
2022-11-25 11:46:47 +02:00
Ivan Savenko
cb6fe1eedf
Moved battle effects into a new class
2022-11-24 16:30:04 +02:00
Ivan Savenko
7a6ad671ab
Separated battle control panel into new class, refactoring of
...
CGStatusBar to allow shared API with battle console
2022-11-18 17:54:10 +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
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
Ivan Savenko
38b8fc0af8
Formatting: space -> tabs
2022-11-13 14:24:15 +02:00
Ivan Savenko
4af9bc2461
Music: remember playback position of music tracks
...
Town & terrain themes will now resume from previously stopped position
instead of playing from start, as it was in original game.
Fixes #965
2022-11-13 14:05:51 +02:00
SoundSSGood
3142f32cbb
Fix for callback return. More code optimization
2022-11-11 01:28:04 +02:00
SoundSSGood
9647758812
Apply suggested changes next part
2022-11-10 23:24:41 +02:00
SoundSSGood
ad47a7573c
Code style. Typo. Code clean up.
2022-11-10 18:29:39 +02:00
SoundSSGood
ff63167553
warnings fixed
2022-11-07 18:31:22 +02:00
SoundSSGood
f72a3e3884
function ArtifactUtils::checkSpellbookIsNeeded for the artifacts like a Titan's thunder
2022-11-07 00:18:05 +02:00
SoundSSGood
d0895e30ef
callback functions and cleaning up unused code
2022-11-06 23:41:29 +02:00
Andrii Danylchenko
288f36c0c3
Merge pull request #1052 from Nordsoft91/mp-disconnection
...
MP handle disconnection
2022-10-19 09:56:18 +03:00
nordsoft
895ec2d302
Make console available during other players' turn
2022-10-05 19:04:51 +04:00
Andrii Danylchenko
b83a40db87
#1054 - fix crash and UI
2022-10-04 21:54:14 +03:00
Andrii Danylchenko
34ef0efa74
Merge pull request #1029 from kambala-decapitator/options-highlight-current-resolution
...
highlight current resolution in the resolution selector in game options
2022-10-01 18:32:17 +03:00
Andrey Filipenkov
ebeff94130
inherit CHeroWindow from CStatusbarWindow for proper status bar support
2022-10-01 11:21:16 +03:00
Andrey Filipenkov
c9ae43abe8
highlight current resolution in the resolution selector in game options
2022-10-01 10:33:48 +03:00
Andrii Danylchenko
a2dbb6c8ac
Merge pull request #978 from kambala-decapitator/hide-unsupported-resolutions
...
Hide unsupported resolutions
2022-09-30 17:34:07 +03:00
Andrii Danylchenko
4835387004
Merge pull request #1015 from kambala-decapitator/prohibit-dig-while-waiting
...
prohibit digging while waiting for your turn to start
2022-09-30 08:39:48 +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
Andrey Filipenkov
836d7dc2d6
prohibit digging while waiting for your turn to start
2022-09-29 15:52:28 +03:00
Andrey Filipenkov
76b36b8951
iOS can use any resolution
2022-09-27 11:56:12 +03:00
Andrey Filipenkov
6e6bf1e77b
don't list resolutions larger than the current screen's in the game options
2022-09-27 11:56:12 +03:00
Andrey Filipenkov
f0b909f772
code improvement
2022-09-27 11:56:12 +03: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
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
Andrey Filipenkov
96c2db4d56
remove useless variable
2022-09-25 13:13:37 +03:00
Andrey Filipenkov
72feb538ce
add explicit null pointer checks
2022-09-25 10:05:16 +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
27b7cb8f1f
show long press hints higher
...
kambala-decapitator/vcmi#29
2022-09-24 15:55:19 +03:00
Andrey Filipenkov
d2b1cc00e8
enable same adventure map tweaks as on android
2022-09-24 15:55:17 +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
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
Andrii Danylchenko
2b0f02c832
Merge pull request #944 from AgostonSzepessy/dev/agos/937
...
Add right click to Quick Recruit Window
2022-09-23 14:01:52 +03: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
Andrey Filipenkov
2ce78ba8c9
fix operator precedence
2022-09-22 11:54:09 +03:00
Tomasz Zieliński
494b0f0226
First version that compiles
2022-09-21 11:34:23 +02:00
Agoston Szepessy
411038195c
Add clickeable area on top of creature picture
...
A class that wraps an instance of `CIntObject` creates an area
that users can right click to view information about the creature
they're buying.
The constants were based off the existing ones in the code and were
refined by guessing and checking where clicking falls inside/outside
the border of the rectangle.
2022-09-18 22:53:11 -07:00
Agoston Szepessy
dfdaf57803
Set position for CreaturePurchaseCard
...
This will make it pick up on right clicks. It was 0 before, so it wasn't
doing it.
2022-09-18 16:00:54 -07:00
Andrey Filipenkov
beeef8527f
Apply suggestions from code review
...
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-09-18 17:43:40 +03:00
Andrey Filipenkov
81dec1405f
fix typo: purhase -> purchase
2022-09-18 17:43:40 +03:00
Andrey Filipenkov
a320af837d
fix includes in client subdirectories
2022-09-18 17:43:40 +03:00
Andrey Filipenkov
0163190ac5
move hardcoded strings to JSON file
2022-09-18 17:43:37 +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
90d355dd05
check availability only of town creatures
...
QRD shows only town creatures ignoring Summoning Portal
2022-09-18 15:58:15 +03:00
Andrey Filipenkov
a0832c39f9
show message instead of the Quick Recruit dialog when there're no creatures in town
2022-09-18 15:50:06 +03:00
Andrey Filipenkov
d44780d2ac
add standard hotkeys to the Quick Recruitment dialog
2022-09-11 11:31:28 +03:00
Nordsoft91
aaa07e4d2e
New terrain support - part 1 ( #755 )
...
Initial support of new terrains
2022-09-11 11:31:26 +03:00
Andrii Danylchenko
23bbb69eb9
#793 U shortcut for creature stack stats window
2022-09-04 10:18:25 +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
1e97859fbf
Fix crash when clicking scenario info during campaign gameplay.
2022-05-10 09:48:05 +03:00
Andrii Danylchenko
84948820b2
exchange window move single stacks buttons
2022-01-03 15:13:46 +02:00
Andrii Danylchenko
0fd13d2f3b
Change HD mod assets
2022-01-03 15:13:46 +02:00
Andrii Danylchenko
78efd09e2e
Refactor HD mod army exchange
2022-01-03 15:13:46 +02:00
Andrii Danylchenko
3c0935a5b9
Artifact exchange
2022-01-03 15:13:46 +02:00
Andrii Danylchenko
8fa0b30985
Army exchange implementation
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
Arseniy Lartsev
24d2d5b702
New layout for hero exchange dialog with HD mod features
2022-01-03 15:13:46 +02:00
AlexVinS
483a4689ce
Fixes for code review issues
2021-02-20 04:57:50 +03:00
AlexVinS
ecaa9f5d0b
Entities redesign and a few ERM features
...
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2021-02-14 19:05:43 +03:00
Dmitry Orlov
d6a4767865
Mod system improvement: Patch 2
2020-10-25 01:04:34 +03:00
Dmitry Orlov
934c4e511d
Special buildings support : Patch 1
2020-10-15 15:03:01 +03:00
Dmitry Orlov
f4816b0824
Mod system improvement Part I : Special buildings should work in the modders towns
2020-10-07 12:35:11 +03:00
John Bolton
c61bae4060
Fixed RETURN_IF_BATTLE(). Undid disabled warnings. Fixed indentation.
2020-10-05 16:28:28 -07:00
John Bolton
1722d15276
Update client/windows/CCreatureWindow.h
...
Removed leftover debugging code.
Co-authored-by: Alexander Shishkin <alexvins@users.noreply.github.com>
2020-10-05 16:13:13 -07:00
John Bolton
a05ae78e67
Fixed lots of warnings.
...
Disabled the following (for MSVC only) that couldn't (or shouldn't) be fixed.
4003: not enough actual parameters for macro 'identifier'
4250: 'class1' : inherits 'class2::member' via dominance
4251: 'type' : class 'type1' needs to have dll-interface to be used by clients of class 'type2'
4275: non dll-interface class 'type1' used as base for dll-interface class 'type2'
2020-10-04 02:20:18 -07:00
John Bolton
6d8f1e4530
Fixed incorrect usage of const std::shared_ptr. Resolves 0003142.
...
Replaced const TBonusListPtr with TConstBonusListPtr where necessary
Replaced const std::shared_ptr<T> with std::shared_ptr<const T> where necessary.
Removed superfluous use of const.
Replaced const std::shared_ptr<T> with const std::shared_ptr<T> & in function parameters and ranged for-loops.
2020-09-30 22:56:28 -07:00
AlexVinS
55b54024a8
Cherry-picked essential fix from #631 . This fixes https://bugs.vcmi.eu/view.php?id=3074 .
2020-03-18 00:06:07 +03:00
JakubK
a8d5081895
More mouse scrolling fixes
...
Defect:
After my previous change that enabled map layer (`CAdvMapInt`) to listen to all mouse move events via `strongInterest` bool, I noticed that there are a few scenario that start scrolling the map unexpectedly. The two that were the easiest to reproduce were using keyboard arrows to move the hero or dimissing a popup dialog.
I traced this down to unexpected mouse move event (`SDL_MouseMotionEvent`) that SDL seems to dispatch in this situation. The windowID that comes with the event in this scenario is 0 (so no window with mouse focus). I don't know why SDL dispatches this mysterious (to me) mouse move event in that case (note that there is no actual mouse movement in either repro case).
Fix:
Don't handle the mouse move event if the windowID of the mouse motion event is 0.
Notes:
Impacts scrolling of the game map. Did some play testing and didn't notice the scrolling not working when expected. The two specific cases where the map would scroll unexpectedly (move a hero with keyboard arrows or dismiss a popup dialog) no longer move the map.
2020-01-04 22:45:33 -08:00
JakubK
09cd4c072a
Defect:
...
In fullscreen mode, when the adventure window size does not fill the entire monitor (leaving black bars on each side), mouse movement is ignored in these areas. This results in difficulty scrolling the map in fullscreen mode, since you have to be exactly within [0,15] of the edge of the adventure window.
Fix:
Have the adventure map element, CAdvMapInt, subscribe to all mouse move events by setting the `strongInterest` bool to true. This will extend the scroll region to [min, 15], eliminating the dead mouse move space on the side of the window.
Notes:
Impacts adventure window mouse move event handling. Manually validated the scrolling the map now works without having to precisely aim for the edge of the window.
2019-12-26 10:10:39 -08:00
Dydzio
61ae6ce286
Remove useless and wrong recruit conditions
2019-06-01 20:29:49 +03:00
Dydzio
5470f9cafe
Re-fix map hero movement speed, was too fast on land
2019-05-26 17:11:57 +02:00
Ewilhan
42114fa4fc
Fixed wrongCursorOnFriendlyDwelling
...
Added else condition that covers cases "ObjectAtTile that is not enemy nor is Town nor is current Hero". This should cover all cases of friendly dwellings/mines not having the correct cursor.
2019-05-03 06:20:32 +01:00
Mikko
02c109f9cf
Update CAdvmapInterface.cpp
2019-01-24 15:34:58 +00:00
Mikko
f8ab2db0ea
Update CAdvmapInterface.cpp
2019-01-24 15:30:09 +00:00
Mikko
5b8ff278b9
Fix implicit cast from tribool to bool.
2019-01-24 14:45:40 +00:00
Alexander Shishkin
b00e935e4d
Warnings fixes ( #538 )
...
Warnings fixes
* Suppress `missing-braces` for Clang
* Fixed many C4275 warnings
* Fixed almost all Clang/GCC warnings
* Silence most frequent MSVC warning.
* Fixed some pessimizing-move warnings
* Fixed some unused capture warnings
2019-01-19 13:52:02 +03:00
AlexVinS
614cde4a55
Fixed two memory leaks
2018-11-14 20:58:37 +03:00
Dydzio
22ce535a2a
Fix not responding statusbar
2018-10-29 14:12:07 +01:00
KasyanDiGris
fa5a14e2d8
Stabilize vcmi ( #488 )
...
* Shared statusbar
* Fixed server fails on client disconnected
2018-08-26 19:09:56 +03:00
yupinov
b56f862094
Yog is not able to buy a spellbook in his campaign anymore, as intended ( #472 )
...
* Yog is not able to buy a spellbook in his campaign anymore, as intended
2018-08-11 18:25:09 +03:00
Alexander Shishkin
75f8c8b29a
Gui cleanup4 ( #446 )
...
* use smart pointers for almost all widget fields
* use SDL2 texture for cursor
* a lot af small tweaks and formatting
* removed CompImage class, it is actually useless as long as regular SDLImage support margins
* CGuiHandler: use smart pointers for [push|pop]Int
2018-07-25 01:36:48 +03:00
Alexander Shishkin
5c09f751b3
Gui cleanup3 - UI refactoring to use smart pointers ( #440 )
...
* Changed most gui classes to use shared pointers
* Store and use IImage as shared_ptr
* CSpellWindow redesign
* AdventureMapClasses cleanup
* CLabel: store background as smart pointer
* Store CObjectList items as smart pointers
* Removed destroy function of list item
* Store toggle buttons as smart pointers
* Use CComponent as smart pointer
* Attempt to fix artifact merchant drawing
2018-04-07 18:34:11 +07:00
Arseniy Shestakov
ac66fc7f42
Full rework of pre-game interface and networking
...
New features for players:
* Loading for multiplayer. Any save could be used for multiplayer.
* Restart for multiplayer. All clients will restart together.
* Loading from single save.
* Hotseat mixed with network game. Multiple players per client.
* Now connection to server could be cancelled.
* Return to menu on disconnections instead of crashes.
* Restoring of last selected map, save or campaign on next run.
TLDR on important changes in engine code:
* UI: work with server separated from UI
* UI: all explitic blitting replaced with IntObject's
* UI: all new code use smart pointers instead of DISPOSE
* Gameplay always start through lobby controlled by server.
* Threads receiving netpacks now shared for lobby and gameplay.
* Campaigns: heroes for crossover now serialized as JsonNode.
2018-04-04 14:24:26 +07:00
AlexVinS
43acfa160b
[tweaks] IImage * -> auto
2018-03-30 14:02:04 +03:00
Raphnalor
0f00dbf8cf
Fix highlighting of a selected bonus for campaign. ( #432 )
2018-03-17 12:23:22 +08:00