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