1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Commit Graph

4545 Commits

Author SHA1 Message Date
Ivan Savenko
e2bd98e21e CampaignRegions class encapsulation 2023-06-26 17:15:59 +03:00
Ivan Savenko
f6b2f58da9 Use inheritance instead of composition for campaign header 2023-06-26 17:15:59 +03:00
Ivan Savenko
a08fe09517 Added encapsulation for CampaignState class 2023-06-26 17:15:59 +03:00
Ivan Savenko
8420a90aa4 Reorganization of campaigns code 2023-06-26 17:15:59 +03:00
Ivan Savenko
d1e5a347ff Refactoring of campaign handler: rename types and use strong typing 2023-06-26 17:15:59 +03:00
Ivan Savenko
85262cf4f5 Moved CGameState files into a separate directory 2023-06-26 17:15:59 +03:00
Mike
75820c3bdf Fixed overlapped text display in adventure map settings 2023-06-25 16:27:00 -07:00
Ivan Savenko
6546242c03 Workaround-ish fix for last scenario of Angel Wings (un)equipping 2023-06-25 17:42:36 +03:00
Ivan Savenko
08cfbe79cf Added encapsulation for movement points access 2023-06-25 17:42:36 +03:00
Ivan Savenko
edf7756783 Recalculate paths on (un)equipping Angel Wings 2023-06-25 17:42:36 +03:00
Ivan Savenko
90c68588f9 Implemented fly movement sound 2023-06-25 17:42:36 +03:00
Ivan Savenko
a84ccb37c2
Merge pull request #2250 from IvanSavenko/event_handling_fixes
Slider input event fix
2023-06-25 17:39:55 +03:00
krs
27c488e62f Small changes after review. 2023-06-23 20:05:15 +03:00
krs
afe0146021 Renamed settings option to reflect that same option is used for both ranges. 2023-06-23 19:50:39 +03:00
krs
b6ab1e1505 Removed #regions 2023-06-23 19:13:39 +03:00
krs
1cba41a3c3 IsHexInRangeLimit() is now a common function
Plus some minor rearranging of code.
2023-06-23 19:13:39 +03:00
krs
1ba9a2a42a calculateRangeLimitAndHighlightImages() is now separate function 2023-06-23 19:13:39 +03:00
krs
e668ea3a03 A common function is used for getting hexes in a certain range
getRangeHexes()
2023-06-23 19:13:39 +03:00
krs
192f82152d A common function is used to get range limit hexes
getRangeLimitHexes()
2023-06-23 19:13:39 +03:00
krs
33bbbefdeb First working prototype that mimics rangedFullDamageLimit code
Next step is to create more generic functions that can be shared between the 2.
2023-06-23 19:13:39 +03:00
Ivan Savenko
6a08a96d0c Added createObject call as wrapper around NewObject netpack 2023-06-23 13:42:08 +03:00
Ivan Savenko
d8879f1e53 NewObject pack now receives visitable position instead of h3m position 2023-06-23 13:34:51 +03:00
Ivan Savenko
56680e102d
Merge pull request #2245 from IvanSavenko/platform_settings
Allow defining default values of settings per platform
2023-06-23 13:32:30 +03:00
Ivan Savenko
69dc95c3c8
Merge pull request #2235 from IvanSavenko/hota_h3m_support
Hota h3m support
2023-06-23 13:32:10 +03:00
Ivan Savenko
a505cc464e Fixed slider's behavior, especially for mobile systems 2023-06-22 23:49:38 +03:00
Ivan Savenko
7c5dcfd47b Fix closing dropdown box via clicking outside bounds 2023-06-22 22:34:05 +03:00
Ivan Savenko
dfeeeb1f5f Removed no longer used 2023-06-22 22:12:05 +03:00
Ivan Savenko
4e7412faa6 Split mouseDragged event from mouseMoved 2023-06-22 22:11:48 +03:00
Ivan Savenko
ccc85ff4eb
Merge pull request #2246 from IvanSavenko/pathfinding_reorganization
Pathfinding code reorganization
2023-06-21 18:22:44 +03:00
Ivan Savenko
ebc7a82c2e Converted pathfinder enum's to enum class 2023-06-21 15:38:57 +03:00
Ivan Savenko
bd4d2788ed Split pathfinder into multiple smaller files 2023-06-21 13:46:09 +03:00
Ivan Savenko
87fcfa4add Removed excessive pathfinder includes 2023-06-21 12:00:44 +03:00
Ivan Savenko
8f602b2ef6 Allow defining default values of settings per platform 2023-06-21 10:55:30 +03:00
Ivan Savenko
967dc95867 Rename panning->gesturing for consistency 2023-06-20 19:58:05 +03:00
Ivan Savenko
0be9aff99f Fix battle queue stack highlighting 2023-06-20 19:58:05 +03:00
Ivan Savenko
108688389e Fix accessing potentially non-existing UI element 2023-06-20 19:58:05 +03:00
Ivan Savenko
e5df7656a2 Added debug option to test touchscreen input on desktop systems 2023-06-20 19:58:05 +03:00
Ivan Savenko
ffdac314e9 Added selection of long touch duration 2023-06-20 19:58:05 +03:00
Ivan Savenko
06437cbde6 Renamed gesture-related methods, remove unused code 2023-06-20 19:58:05 +03:00
Ivan Savenko
563d7dd41f Renamed RCLICK -> SHOW_POPUP 2023-06-20 19:58:05 +03:00
Ivan Savenko
8ad577255f Replaced isMouseButtonPressed with isMouseLeftButtonPressed 2023-06-20 19:58:05 +03:00
Ivan Savenko
82288996a2 Fix cursor visibility on closing popup 2023-06-20 19:58:05 +03:00
Ivan Savenko
85a11c090e Enter popup await mode only if there is an active popup 2023-06-20 19:58:05 +03:00
Ivan Savenko
e9788e2904 Cleaned up EventDispatcher code 2023-06-20 19:58:05 +03:00
Ivan Savenko
d4aa778547 Replaced clickRight event with showPopupWindow/closePopupWindow 2023-06-20 19:58:05 +03:00
Ivan Savenko
80f67337d8 Do not send mouseMoved to elements that have just unsubscribed 2023-06-20 19:37:27 +03:00
Ivan Savenko
f0a154037c Attempt to improve def palette detection 2023-06-20 19:37:27 +03:00
Ivan Savenko
d51fe62804 Win/loss condition texts use MetaString 2023-06-20 19:37:27 +03:00
Ivan Savenko
56d69e790b Renamed MetaString methods to more logical names 2023-06-20 19:37:27 +03:00
Ivan Savenko
2636a0dcc3 Moved MetaString to a new file 2023-06-20 19:37:27 +03:00
Ivan Savenko
f35b3a0dc3 Replace MetaString operator << with member function 2023-06-20 19:37:27 +03:00
Ivan Savenko
c43783db58 Use string ID's instead of raw strings for win/loss conditions 2023-06-20 19:37:27 +03:00
Ivan Savenko
487f441f47 Implemented boat selection for town shipyards 2023-06-16 17:59:49 +03:00
Ivan Savenko
6aedb99117 Cleaned up IShipyard interface 2023-06-16 17:59:10 +03:00
Tomasz Zieliński
f1356dd5bf Merge remote-tracking branch 'origin/develop' into water_prison_tavern 2023-06-14 20:58:02 +02:00
Ivan Savenko
3924f0f081
Merge pull request #2211 from SoundSSGood/art-refactoring-hotfix
Fixing regressions
2023-06-14 16:06:35 +03:00
Ivan Savenko
8614419954
Merge pull request #2208 from IvanSavenko/obstacles_foreground
Implemented foreground/background obstacles
2023-06-14 15:49:08 +03:00
Ivan Savenko
caf627a652
Merge pull request #2207 from IvanSavenko/fix_black_color
Fix colors in def palette turning into transparency unconditionally
2023-06-14 15:48:15 +03:00
krs
5158a5f7db Fix After Merge 2023-06-11 19:31:50 +03:00
krs
0a8daf4d02 Now less source images are used. Flipped versions will be calculated. 2023-06-11 18:46:38 +03:00
krs
0ee1866f73 Added SDLImage::doubleFlip() 2023-06-11 18:45:14 +03:00
krs
21306b9097 Fixed a glitch when only top and bottom were needed. 2023-06-11 18:45:14 +03:00
krs
a8a82e89ea Some renamings for consistency 2023-06-11 18:45:14 +03:00
krs
4a3426bb70 Hex Edge Highlight Images moved to VCMI mod 2023-06-11 18:44:42 +03:00
krs
56b8fb39f3 Removed neighbouringTilesWithDirection and using
allNeighbouringTiles
2023-06-11 18:40:47 +03:00
krs
b8ad5b41f3 UnitState has getRangedFullDamageDistance() 2023-06-11 18:40:47 +03:00
krs
c562ce9c06 Using hex.isAvailable() instead of battleFieldWithoutSideColumns 2023-06-11 18:40:47 +03:00
krs
c0591573bf Working Version 2023-06-11 18:40:47 +03:00
Tomasz Zieliński
982a2723de Fix missing change 2023-06-08 09:49:28 +02:00
SoundSSGood
f6c2d5cba7 hotfix 2023-06-07 13:08:04 +03:00
Ivan Savenko
428fb832c6 Implemented foreground/background obstacles:
- obstacles now have "foreground" field
- if "foreground" field set, obstacle will appear on top of other
objects, such as units
- if "foreground" is not set, obstacle will appear below units
- updated schema and cleared up obstacles config
2023-06-06 15:53:14 +03:00
Ivan Savenko
61a8c53bb6 Fix colors in def palette turning into transparency unconditionally 2023-06-05 23:51:18 +03:00
Ivan Savenko
4e834db017 Fix relative cursor mode 2023-06-05 19:28:29 +03:00
Ivan Savenko
238a02eb5e It is now possible to cancel attack-via-swiping by moving finger away 2023-06-05 19:20:20 +03:00
Ivan Savenko
6283329aeb Added option to disable edge scrolling 2023-06-05 19:20:20 +03:00
Ivan Savenko
ec55ec76b6 Show cursor (including attack direction) when swiping in battle 2023-06-05 19:20:18 +03:00
Ivan Savenko
db1045aecd Fix panning limits for minimap 2023-06-05 19:20:08 +03:00
Ivan Savenko
0f2a339ab5 Implemented pinch gesture to scale adventure map 2023-06-05 19:20:08 +03:00
Ivan Savenko
a08ff1e6ef Removed no longer used touchscreen option 2023-06-05 19:20:08 +03:00
Ivan Savenko
e6e91c64b6 Implemented minimap panning gesture 2023-06-05 19:20:08 +03:00
Ivan Savenko
84934d931a Minor improvements to swipe in battle 2023-06-05 19:20:08 +03:00
Ivan Savenko
b20109c830 Test version of swipe gesture for in-combat attacks 2023-06-05 19:20:08 +03:00
Ivan Savenko
70155b48e1 Only show touchscreen options on systems that have one 2023-06-05 19:20:08 +03:00
Ivan Savenko
2c7b94d17f Remove unused map swipe option 2023-06-05 19:20:08 +03:00
Ivan Savenko
1cec6918a0 Fix spellcast cancelation in battle 2023-06-05 19:20:06 +03:00
Ivan Savenko
0e36a3ab5a Use Scrollable class for all appropriate locations 2023-06-05 19:18:33 +03:00
Ivan Savenko
052d0d314a Implemented Scrollable class, to server as common base for such classes 2023-06-05 19:17:04 +03:00
Ivan Savenko
6fe00ad55c Moved slider class to a separate file 2023-06-05 19:16:01 +03:00
Ivan Savenko
18388b2d72 Right-click popups will stay till next tap, in line with Android UI 2023-06-05 19:12:26 +03:00
Ivan Savenko
57df1c3e0d Implemented gesture for town/hero lists and town/hero selection 2023-06-05 19:12:24 +03:00
Ivan Savenko
360bf48031 Implemented panning/swiping gesture for sliders 2023-06-05 19:09:56 +03:00
Ivan Savenko
2a30eccb2d Allow mouse wheel for astart options setup (town/hero/bonus) 2023-06-05 19:00:57 +03:00
Ivan Savenko
261308b942 Hero/town lists are now scrollable with mouse wheel 2023-06-05 19:00:57 +03:00
Ivan Savenko
dc8e9cd048 wheelScrolled event now accepts distance instead of bool 2023-06-05 19:00:57 +03:00
Ivan Savenko
e2a85e25fa Removed old code 2023-06-05 19:00:57 +03:00
Ivan Savenko
26fd651917 Implemented panning gesture via touch input 2023-06-05 19:00:57 +03:00
Ivan Savenko
48859e186e Added panning gesture, activated by mouse wheel press 2023-06-05 19:00:56 +03:00
Ivan Savenko
1a5c69a424 Implemented left & right click support for touch input 2023-06-05 19:00:56 +03:00
Ivan Savenko
c9d42d59c3 Formatting fix 2023-06-05 19:00:56 +03:00
Ivan Savenko
dc16781877 Move keyboard tests to keyboard handler 2023-06-05 19:00:56 +03:00
Ivan Savenko
503bd1dd66 Fix double-clicking to start scenario 2023-06-05 19:00:56 +03:00
Ivan Savenko
34123c7f07 Minor refactoring of mouse input handling 2023-06-05 19:00:56 +03:00
Ivan Savenko
1e9eea30e1 Merge remote-tracking branch 'soundsgood/CArtHandler-rework' into develop 2023-06-05 18:53:17 +03:00
Ivan Savenko
8d278e653f
Merge pull request #2202 from IvanSavenko/map_objects_reorganization
Map objects code reorganization
2023-06-05 18:35:05 +03:00
Ivan Savenko
8e8601f39d Fix build 2023-06-02 21:54:52 +03:00
Ivan Savenko
d6a357fd17 Split some map object files into smaller files. Reduced includes usage. 2023-06-02 21:47:37 +03:00
Ivan Savenko
8ea0ecaec1 show/showAll methods now use Canvas instead of SDL_Surface
- added compatibility method to Canvas to allow SDL_Surface access
- added drawBorder method to Canvas to replace CSDL_Ext method
- added drawColor method to Canvas to replace CSDL_Ext method
- minor changes to Tavern and Trade windows to adapt to new API
2023-06-02 16:42:18 +03:00
Ivan Savenko
b04b11b9d1
Merge pull request #2175 from IvanSavenko/map_format_mappings
HotA map format support  - object mapping
2023-06-01 22:06:18 +03:00
Ivan Savenko
acac42291e Remove excessive CMap.h includes 2023-05-31 23:18:38 +03:00
Ivan Savenko
62595cb039 Split massive CMap.h a bit 2023-05-31 23:01:57 +03:00
Ivan Savenko
de769a04d6 Remove unnecessary includes from headers 2023-05-31 23:01:57 +03:00
Ivan Savenko
daaaf84392 Icon index for map format is now defined in config 2023-05-31 23:01:57 +03:00
Ivan Savenko
fb55719671 Map format support status can now be loaded from gameSettings 2023-05-31 23:01:57 +03:00
Michael
eb618fbff9
rename function 2023-05-28 17:29:11 +02:00
Michael
8672fc7e3d
Allows to translate default playername 2023-05-28 16:57:24 +02:00
Michael
3ee7610015
added missing translation strings 2023-05-28 14:58:21 +02:00
Ivan Savenko
2c3e8c3390
Merge pull request #2168 from IvanSavenko/gui_handler_event_handling_refactoring
Event handling refactoring
2023-05-23 15:08:10 +03:00
Ivan Savenko
10fc6cecef
Merge pull request #2157 from IvanSavenko/interface_layouts
Update in-game settings window to recent changes
2023-05-20 19:25:34 +03:00
Ivan Savenko
956ff22e64
Merge pull request #2163 from IvanSavenko/adventure_map_zoom
Adventure map zoom
2023-05-20 13:35:53 +03:00
Ivan Savenko
867c5355da Fix tower shooters animation updates 2023-05-20 13:11:52 +03:00
Ivan Savenko
6981848288 Better documentation & cleanup 2023-05-20 01:51:49 +03:00
Ivan Savenko
a4000f2fc8 Removed isActive(int) method since its usages were redundant or wrong 2023-05-20 01:51:49 +03:00
Ivan Savenko
c77f8482e3 Replaced event handling break system with key capturing 2023-05-20 01:51:49 +03:00
Ivan Savenko
f4d67fe675 Restore SDL_main in CMT.cpp 2023-05-20 01:51:49 +03:00
Ivan Savenko
e23dfec6c5 Fix SDL_Hints location 2023-05-20 01:51:49 +03:00
Ivan Savenko
bb36336aed Changed event queue to vector 2023-05-20 01:51:49 +03:00
Ivan Savenko
0e70f2998f SDL event handling is now done exclusively in input handler 2023-05-20 01:51:49 +03:00
Ivan Savenko
5e86b00dda Moved input handling from GuiHandler to set of classes in eventsSDL dir 2023-05-20 01:51:49 +03:00
Ivan Savenko
5bd044521a Added method descriptions 2023-05-20 01:51:49 +03:00
Ivan Savenko
6012e0cb45 Minor code reorganization 2023-05-20 01:51:49 +03:00
Ivan Savenko
ff1c94541f Fix button interaction with hotkey & mouse 2023-05-20 01:51:49 +03:00
Ivan Savenko
d5d0ca96a8 Minor fixes and cleanup 2023-05-20 01:51:49 +03:00
Ivan Savenko
1f513fd280 Extracted event management from GuiHandler and CIntObject 2023-05-20 01:51:49 +03:00
Ivan Savenko
008a1ebec4 split massive handleCurrentEvent method into per-event parts 2023-05-20 01:51:49 +03:00
Ivan Savenko
06b6f59107 Resolution selector will now correctly update in borderless window mode 2023-05-19 23:54:43 +03:00
Ivan Savenko
20ec747440 Do not show desktop-only options on mobile systems 2023-05-19 23:19:43 +03:00
Ivan Savenko
d18b240d6d Added separate borderless & exclusive fullscreen options 2023-05-19 22:43:52 +03:00
Ivan Savenko
f2dfd6de42 Updated settings window to use new layouts & library 2023-05-19 22:43:52 +03:00
Ivan Savenko
7cbfd8117e Implemented simple layout to simplify widget json definitions 2023-05-19 22:43:52 +03:00
Ivan Savenko
7cd898a87a Implemented "customTypes" in UI json to reduce duplicated definitions 2023-05-19 22:43:52 +03:00
Ivan Savenko
1c82a10fdd Fix graphical artifacts on map scaling 2023-05-19 17:09:46 +03:00
Ivan Savenko
be2e101c8c Fix map freeze on enemy turn 2023-05-19 13:22:18 +03:00
SoundSSGood
1175990724 fixup 2023-05-19 01:55:11 +03:00
Ivan Savenko
9817aaa466
Merge pull request #2145 from IvanSavenko/fix_hota_support
Minor fixed for compatibility with hota data files
2023-05-18 22:50:10 +03:00
SoundSSGood
021f94a579 artifact utils 2023-05-17 17:00:31 +03:00
Ivan Savenko
872b68c59a Implemented zoom reset shortcut (backspace) 2023-05-17 14:54:19 +03:00
Ivan Savenko
7504ceb256 Fixed map view centering during scaling change 2023-05-17 14:36:12 +03:00
Ivan Savenko
9e3bc87a6b Allow zooming with mouse wheel 2023-05-17 00:49:24 +03:00
Ivan Savenko
3e9da333cf Basic version of zoomable adventure map 2023-05-16 23:42:51 +03:00
Ivan Savenko
ad3e54e6c0 Reduced usage of topWindow() method 2023-05-16 21:57:45 +03:00
Ivan Savenko
e2ef136003 Renamed "Int" -> "Window" in WindowHandler API 2023-05-16 19:10:22 +03:00
Ivan Savenko
051a4a3c17 Encapsulation of WindowHandler state 2023-05-16 19:10:22 +03:00
Ivan Savenko
7838190ef4 Moved window stack management from GuiHandler to new class 2023-05-16 19:10:21 +03:00
Ivan Savenko
9eac3eaafa Merged "music" resource type into "sound", enables ogg's use as sounds 2023-05-15 22:22:54 +03:00
Ivan Savenko
d6d679a38c Fix missing broken shadows on hota map objects 2023-05-15 22:22:54 +03:00
Ivan Savenko
f84c2c3bb5 Removed getFrameDeltaMilliseconds from gui handler 2023-05-14 22:30:59 +03:00
Ivan Savenko
8a31aeb94b Battle animations use tick() for updates 2023-05-14 22:23:00 +03:00
Ivan Savenko
fa496628f2 Separated timer updates from rendering in adventure map and town screen 2023-05-14 22:22:37 +03:00
Ivan Savenko
3ecdff2a21 FramerateManager now uses chrono instead of SDL_Ticks 2023-05-14 22:22:37 +03:00
Ivan Savenko
03df274450 Framerate manager is now in a separate file and private member of GH 2023-05-14 22:22:37 +03:00
Ivan Savenko
64cc246358 Fix positioning of console log overlay 2023-05-13 18:00:14 +03:00
Ivan Savenko
5e90d40e8b Fix typo 2023-05-13 17:59:59 +03:00
Ivan Savenko
062311d24a Fix callbacks of toggle buttons. Fixes game options window 2023-05-12 22:58:21 +03:00
Ivan Savenko
7927470d46
Merge pull request #2076 from IvanSavenko/configurable_adventure_map
Implement scalable adventure map window
2023-05-12 17:39:45 +03:00
SoundSSGood
f3ae47b10e art transfer fix 2023-05-10 03:01:13 +03:00
Ivan Savenko
c5a48a01ce Remove no longer used code 2023-05-09 13:10:33 +03:00
Ivan Savenko
edd5d11734 Fix issues discovered by self-review 2023-05-09 13:10:33 +03:00
Ivan Savenko
8504b891a8 Added more checks for SDL return status 2023-05-09 13:10:33 +03:00
Ivan Savenko
b2233b8ced Attempt to improve coloring of resource bar texture-fill 2023-05-09 13:10:33 +03:00
Ivan Savenko
c01b74434c Fix cancelling spellcast with escape 2023-05-09 13:10:33 +03:00
Ivan Savenko
243773b6ef Renamed some adventure map files & classes 2023-05-09 13:10:33 +03:00
Ivan Savenko
e26b18c139 Rename & cleanup of WindowHandler -> ScreenHandler 2023-05-09 13:10:33 +03:00
Ivan Savenko
29b10f0436 Try to enable window resize 2023-05-09 13:10:33 +03:00
Ivan Savenko
b1bd49ecd8 Fix main menu resize on resolution change 2023-05-09 13:10:33 +03:00
Ivan Savenko
bffec0068b Fix screen updates after window resize 2023-05-09 13:10:33 +03:00
Ivan Savenko
dbc4330fc5 Fixed positioning of resource bar and town list in other windows 2023-05-09 13:10:33 +03:00
Ivan Savenko
f403766fbb Attempt to fix DPI scaling on Windows 2023-05-09 13:10:33 +03:00
Ivan Savenko
ca15bf5698 Added autoselection of in-game console log width 2023-05-09 13:10:33 +03:00
Ivan Savenko
ecff5f3d12 Do not trigger multiple hotkeys when battle window wait for any key 2023-05-09 13:10:33 +03:00
Ivan Savenko
61181d63bd Fixed missing hotkeys for game saving 2023-05-09 13:10:33 +03:00
Ivan Savenko
97d266ea2d Remove duplicated resolutions, e.g. different frequency 2023-05-09 13:10:33 +03:00
Ivan Savenko
8b27780c11 Fixed scrolling blocking with Ctrl 2023-05-09 13:10:33 +03:00
Ivan Savenko
a6fda031ed Fixed widget disabling during enemy turn & spellcasting 2023-05-09 13:10:33 +03:00
Ivan Savenko
7228b08d1d Implemeted runtime generation of player-colored background texture 2023-05-09 13:10:33 +03:00
Ivan Savenko
342ea138f9 Fix remaining graphical artifacts on switching from world view 2023-05-09 13:10:33 +03:00
Ivan Savenko
c24ccf663b Fixed auto-enabling of status bar on windows activations 2023-05-09 13:10:33 +03:00
Ivan Savenko
8e320d8454 Fixed world view mode 2023-05-09 13:10:33 +03:00
Ivan Savenko
5ae507505a Fixed toggleable buttons (sleep/wake & subterra/surface) 2023-05-09 13:10:33 +03:00
Ivan Savenko
77beca50e2 Hide resolution selector on mobile devices 2023-05-09 13:10:33 +03:00
Ivan Savenko
a0f1bf3928 Implemented user-selectable UI scaling mode 2023-05-09 13:10:33 +03:00
Ivan Savenko
fd3933e589 Support for changing resolution without game restart 2023-05-09 13:10:33 +03:00
Ivan Savenko
97426a3f7c Implemented disabling of buttons based on condition 2023-05-09 13:10:33 +03:00
Ivan Savenko
d4098059b8 Proper support for player-colored buttons in UI 2023-05-09 13:10:33 +03:00
Ivan Savenko
7aacba6e55 Fix adventure map left-clicking 2023-05-09 13:10:33 +03:00
Ivan Savenko
019d7b6811 Integrated shortcuts into adventure window configuration 2023-05-09 13:10:33 +03:00
Ivan Savenko
0000541291 Fixed map rendering 2023-05-09 13:10:33 +03:00
Ivan Savenko
a4b102e46f Implemented UI scaling (non-selectable option for now) 2023-05-09 13:10:33 +03:00
Ivan Savenko
8d28f96619 Resolutions selector now shows all available resolutions 2023-05-09 13:10:33 +03:00
Ivan Savenko
b4e7093c01 Added IWindowHandler interface for OS screen/window utilities 2023-05-09 13:10:33 +03:00
Ivan Savenko
28f41bb472 Moved remaining render-related code from CMT 2023-05-09 13:10:33 +03:00
Ivan Savenko
c688411bab Extracted window management from CMT to new class 2023-05-09 13:10:33 +03:00
Ivan Savenko
18a66a4376 Rename method to better name 2023-05-09 13:10:33 +03:00
Ivan Savenko
d96edd9f56 Added larger town list for higher resolutions 2023-05-09 13:10:33 +03:00
Ivan Savenko
4958190e82 Fixed visibility of corner gems 2023-05-09 13:10:33 +03:00
Ivan Savenko
a015bf6507 Initial part of dynamically-sized adventure map:
- removed no longer used CConfigHandler
- remove no longer use resolutions.json
- moved widget management from adventure map to a separate class
- adventure map layout is now loaded from config
2023-05-09 13:10:33 +03:00
Ivan Savenko
cb8201876b
Merge pull request #1822 from rilian-la-te/spell-mechanics-v3
Bonus refactoring, part3 (save-incompatible)
2023-05-09 13:10:04 +03:00
SoundSSGood
fe3e635332 assertions fix 2023-05-07 22:29:03 +03:00
Konstantin P
057a33c508 SpellSchool: use identifier instead of int
Needs redifinition of MAGIC_SCHOOL_SKILL in all mods
2023-05-07 20:37:32 +03:00
Konstantin P
0cbc2e458c CBonusSystemNode: remove description
It was almost unused, but this change is save-breaking
2023-05-05 18:57:11 +03:00
Konstantin
05eccbc2bb vcmi: split bonus to enumerator and HeroBonus.h 2023-05-03 18:01:06 +03:00
Konstantin
fbc05c70ac vcmi: camelCase methods of new classes
Also use EGameSettings for clamping morale and luck
2023-05-02 12:09:13 +03:00
Konstantin
a6de9097be vcmi: rename HeroBonus.h to Bonus.h 2023-05-02 11:20:58 +03:00
Konstantin
4866c2fe5c vcmi: split IBonusBearer 2023-05-02 00:54:53 +03:00
Konstantin
b6eb2dc060 vcmi: rename IFactionMember and ICreature 2023-05-02 00:54:53 +03:00
Konstantin
1d34c73c2d vcmi: split CBonusSystemNode, BonusParams and prop
More splitting of HeroBonus.h
2023-05-02 00:54:53 +03:00
Konstantin
713e3004df vcmi: rename updater and limiter files 2023-05-02 00:53:51 +03:00
Konstantin
a2d4c72016 vcmi: morale and luck now also IFactionMember
Not all bonus bearers have morale and luck, only faction members
2023-05-02 00:53:51 +03:00
Konstantin
e37f798a68 vcmi: split bonus updaters 2023-05-02 00:53:50 +03:00
Konstantin
416faf521e vcmi: move limiters outside of HeroBonus.cpp
This will help for recompilation.
2023-05-02 00:53:50 +03:00
Konstantin
6fa1b2b19f vcmi: move bonuses to its own folder 2023-05-02 00:53:50 +03:00
Konstantin P
4b2a09dae7 FactionMember: move code around 2023-05-02 00:53:50 +03:00
Ivan Savenko
916b41d9a7
Merge pull request #2078 from IvanSavenko/shortcuts
Basic shortcuts system
2023-05-01 21:45:52 +03:00
nordsoft
fdac1d66d8 Fix warnings 2023-05-01 21:49:37 +04:00
nordsoft
32277a007d Fix compilation after merge 2023-05-01 21:49:37 +04:00
nordsoft
07b2052679 Bit refactoring 2023-05-01 21:49:37 +04:00
nordsoft
68fa7aaf35 Remove limitations for amount of skills 2023-05-01 21:49:37 +04:00
nordsoft
a4fd6c1c92 Move trading window title to config 2023-05-01 21:49:37 +04:00
nordsoft
11840b9f6d Get rid of hardcoded logic for markets 2023-05-01 21:49:37 +04:00
nordsoft
07f7c318dc Adjust client part for markets 2023-05-01 21:49:37 +04:00
nordsoft
4b1b58b617 Change Callback to abstract 2023-05-01 21:49:37 +04:00
nordsoft
59bc9326e9 Remove excess pointer from market interface 2023-05-01 21:49:37 +04:00
Ivan Savenko
e9e5355af0 Added commented-out wog campaigns set 2023-05-01 18:00:35 +03:00
Ivan Savenko
0662ad49dd Fix build 2023-05-01 17:59:21 +03:00
Ivan Savenko
6c637dd8e6 Integrated hotkeys with InterfaceObjectConfigurable 2023-05-01 17:59:21 +03:00
Ivan Savenko
dea10e6091 Use more descriptive names for hotkeys 2023-05-01 17:59:20 +03:00
Ivan Savenko
a654cc2391 Removed vstd::advance. Added vstd::next to handle similar cases. 2023-05-01 17:58:18 +03:00
Ivan Savenko
832e56e005 Implementation of (very basic) shortcuts system
- Added EShortcut enumeration that contains all in-game shortcuts
- CIntObject::keyPressed now receive values from hotkey enumeration
- On keypress, SDL key code will be translated to shortcut ID
- Removed access to SDL key codes from most of engine
2023-05-01 17:58:17 +03:00
Ivan Savenko
4aa232a60a
Merge pull request #2055 from SoundSSGood/cartifactholder-rework
Artifact related code refactoring part2 (client CArtifactHolder)
2023-05-01 02:33:08 +03:00
SoundSSGood
8b531ca6c4 CArtifactHolder divided into files 2023-05-01 00:34:45 +03:00
Konstantin
86f5d6de69 vcmi: modernize headers 2023-04-30 13:35:54 +03:00
Ivan Savenko
d985ac90d3 Merge master -> develop 2023-04-28 22:57:25 +03:00
Ivan Savenko
76d5b459f1 Fixed music playback on switching between towns 2023-04-28 16:53:45 +03:00
Konstantin P
b472c89276 vcmi: make some CStack properties private
There is a getters for this properties already available
2023-04-27 20:58:49 +03:00
Ivan Savenko
fb739e7186 Merge beta -> develop 2023-04-26 22:48:08 +03:00
krs
e348193f7e Tactics movement is limited to movement range 2023-04-26 21:56:20 +04:00
Ivan Savenko
48abf46824
Merge pull request #2005 from IvanSavenko/advmap_refactor
Refactoring of adventure map interface
2023-04-24 17:19:22 +03:00
Ivan Savenko
3ac713d6a8 Fix crash on dereferencing nullptr 2023-04-24 17:17:12 +03:00
Ivan Savenko
d3c1c92a03 Do not update minimap using puzzle map data 2023-04-24 17:16:55 +03:00
Ivan Savenko
fa156568c4 Fixes according to review 2023-04-24 16:58:15 +03:00
Nordsoft91
f39f208e05
Merge pull request #1915 from Nordsoft91/vcmi-campaign
VCMI campaigns format
2023-04-23 19:09:59 +04:00
SoundSSGood
dcac8252f3 fixed windows positions 2023-04-23 14:57:45 +03:00
SoundSSGood
a8220c551f fixed init CArtifactsOfHero 2023-04-23 14:33:47 +03:00
SoundSSGood
177523d972 askToAssemble, askToDisassemble 2023-04-23 14:17:27 +03:00
SoundSSGood
1046964eef CArtifactHolder 2023-04-23 14:14:24 +03:00
Nordsoft91
a553a4aa66
Merge pull request #2030 from Nordsoft91/boats 2023-04-22 03:27:00 +04:00
Ivan Savenko
80b37a3019 Fixed remaining regressions 2023-04-20 22:19:10 +03:00
Ivan Savenko
bb08a0afc8 Moved selection logic to player state 2023-04-20 22:04:24 +03:00
Ivan Savenko
e8718a46cc Fix regressions 2023-04-20 22:04:24 +03:00
Ivan Savenko
dd227d24c3 Formatting and cleanup 2023-04-20 22:04:24 +03:00
Ivan Savenko
365f552fa1 Added API for owned towns access 2023-04-20 22:04:24 +03:00
Ivan Savenko
5cbd0f8fc8 API for wandering heroes access 2023-04-20 22:04:24 +03:00
Ivan Savenko
3eac6f323e added API for sleeping heroes access 2023-04-20 22:04:24 +03:00
Ivan Savenko
6a46138617 Moved current selection to local state class 2023-04-20 22:04:24 +03:00
Ivan Savenko
f6d480cbb2 Moved player-specific heroes & towns information to new class 2023-04-20 22:04:24 +03:00
Ivan Savenko
4a169972f0 Further refactoring to cleanup code of advmap and locplint 2023-04-20 22:04:24 +03:00
Ivan Savenko
20de44d4a5 Reodered methods in file to group similar code 2023-04-20 22:04:24 +03:00
Ivan Savenko
7db67a3101 int3 now has proper hasher function 2023-04-20 22:04:24 +03:00
Ivan Savenko
4ec32e4dcd Renamed CAdvMapInt to its proper full name 2023-04-20 22:04:24 +03:00
Ivan Savenko
f1902ab247 Initial refactoring to encapsulate adventure map 2023-04-20 22:03:28 +03:00
nordsoft
de159df481 Rename boats 2023-04-20 21:20:51 +04:00
Ivan Savenko
24c6587072 Fixed crash on leaving to main menu from battle in hotseat mode 2023-04-20 19:56:35 +03:00
Ivan Savenko
f245080cba Fix missing error message on casting spell in hotseat 2023-04-20 19:24:13 +03:00
nordsoft
753b72f96d Revert "Hidden maps"
This reverts commit e669d31d33.
2023-04-20 19:50:00 +04:00
Ivan Savenko
6df85be4b3 Fixed death animation of Efreeti killed by petrification attack 2023-04-20 18:13:01 +03:00
Ivan Savenko
5c9ae8aafc Implemented spell range overlay for Dimension Door and Scuttle Boat 2023-04-20 14:15:08 +03:00
Ivan Savenko
b3207f3465 RMG tab will now show all templates but will block invalid map sizes 2023-04-19 23:14:23 +03:00
Ivan Savenko
b517adfb25 Fixed crash on empty save game list after filtering 2023-04-19 23:12:30 +03:00
Ivan Savenko
3d30e04184 Fixed centering of scenario information window 2023-04-19 23:11:44 +03:00
Ivan Savenko
4bb4d7e7a5
Merge pull request #1989 from SoundSSGood/refactoring-arts-p1
Artifact related code refactoring part1 (initial)
2023-04-19 15:31:11 +03:00
nordsoft
f464ca3560 Merge remote-tracking branch 'upstream/develop' into vcmi-campaign
# Conflicts:
#	lib/mapping/CCampaignHandler.cpp
2023-04-19 02:45:49 +04:00
nordsoft
0a28262c15 Merge remote-tracking branch 'upstream/develop' into boats
# Conflicts:
#	AI/VCAI/Pathfinding/AINodeStorage.cpp
2023-04-19 02:22:19 +04:00
nordsoft
d1dacd45e2 Animations from config 2023-04-19 00:14:15 +04:00
Ivan Savenko
e8788cf4c4
Merge pull request #1999 from Laserlicht/patch-2
Big/Vector Icons
2023-04-18 16:23:00 +03:00
Ivan Savenko
56de0c9f56
Merge pull request #2015 from rilian-la-te/optional-variant-any
vcmi: migrate to C++17
2023-04-18 15:44:52 +03:00
nordsoft
ed798b06da Prepare transport enum 2023-04-18 13:04:49 +04:00
nordsoft
2babb5add5 Fix boat extra animations 2023-04-17 23:39:34 +04:00
nordsoft
80220fda5b Merge remote-tracking branch 'upstream/develop' into vcmi-campaign
# Conflicts:
#	lib/mapping/CMap.h
2023-04-17 04:54:57 +04:00
nordsoft
91b4782a2f Refactor more fields from campaign header 2023-04-17 04:47:54 +04:00
nordsoft
70f4cc5e0f Refactor campaign regions 2023-04-17 04:26:35 +04:00
krs
91c96b1b68 Fix for merge. 2023-04-17 00:53:25 +03:00
Konstantin
54eb550eb9 vcmi: remove unused functions now 2023-04-17 00:43:13 +03:00
Konstantin
7a5775a9f9 vcmi: use std::optional 2023-04-17 00:43:13 +03:00
Konstantin
0d35606a44 vcmi: use std::variant 2023-04-17 00:43:13 +03:00
krs
14cbdf7ab0 Split Process console commands code into individual functions
Extracted functions for each if branch, added one line doc for each function, rearranged the commands to be groupped more logically.
2023-04-16 23:45:37 +03:00
Ivan Savenko
e3ed728193
Merge pull request #1932 from rilian-la-te/proper-teleport
VCMI: teleport redesign
2023-04-16 22:52:01 +03:00
nordsoft
954a2abb71 Verifying mods before starting map 2023-04-16 15:38:13 +04:00
Michael
d64106b700
Update generate_icns.py 2023-04-16 12:33:35 +02:00
Ivan Savenko
1704fab3a2 Fix assertion failure on fighting against AI with tactics 2023-04-15 17:20:38 +03:00
Ivan Savenko
cc8c1c769a Fix duplicated maps in scenario selection screen 2023-04-15 17:20:38 +03:00
Ivan Savenko
de855085f0 Added information on banks, seer hut and monster properties 2023-04-15 17:20:38 +03:00