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

4395 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