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
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
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
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
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
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
0f2a339ab5
Implemented pinch gesture to scale adventure map
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
0e36a3ab5a
Use Scrollable class for all appropriate locations
2023-06-05 19:18:33 +03:00
Ivan Savenko
6fe00ad55c
Moved slider class to a separate file
2023-06-05 19:16:01 +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
dc8e9cd048
wheelScrolled event now accepts distance instead of bool
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
c9d42d59c3
Formatting fix
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
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
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
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
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
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
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
872b68c59a
Implemented zoom reset shortcut (backspace)
2023-05-17 14:54:19 +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
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
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
062311d24a
Fix callbacks of toggle buttons. Fixes game options window
2023-05-12 22:58:21 +03:00
Ivan Savenko
c5a48a01ce
Remove no longer used code
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
61181d63bd
Fixed missing hotkeys for game saving
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
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
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
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
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
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
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
Konstantin
86f5d6de69
vcmi: modernize headers
2023-04-30 13:35:54 +03:00
Ivan Savenko
dfa2e2a349
Merge beta into develop
2023-04-11 19:37:35 +03:00
Ivan Savenko
07230f3b47
Attempt to fix stack splitting on macos
2023-04-10 14:34:17 +03:00
krs
3194999809
Add SHIFT + hover shortcut to show movement highlight while pressed.
2023-04-08 20:42:37 +03:00
Ivan Savenko
454168897e
Fix handling of invalid hotkeys in configurable UI
2023-04-08 19:53:13 +03:00
Ivan Savenko
507d8bf7fd
Allow defining active areas for sliders. Fixes settings window.
2023-04-02 22:24:07 +03:00
Ivan Savenko
6e28b6ed90
Do not crash on invalid callback name
2023-03-31 01:28:33 +03:00
Ivan Savenko
46ccd65080
Removed largely unused signal handling, fixes build with musl c library
2023-03-30 14:56:13 +03:00
Ivan Savenko
a8fe8c0f3b
Converted timer event into tick event that is called every frame
2023-03-22 23:10:50 +02:00
Konstantin
5366f9190e
vcmi: reduce boost::lexical_cast usage
2023-03-09 16:36:46 +03:00
Ivan Savenko
2e69a4769d
Implemented framerate limit option (not available in UI)
2023-03-05 21:06:52 +02:00
Ivan Savenko
105d988624
Remove debug code
2023-03-05 19:55:38 +02:00
Ivan Savenko
5fb5513572
Attempt to trace crash caused by iterator invalidation
2023-03-05 19:55:38 +02:00
Ivan Savenko
c976176453
Added additional buttons for movement speeds
2023-03-05 19:53:26 +02:00
Ivan Savenko
b57a07b10f
Restored ambient sounds functionality
2023-03-05 18:02:59 +02:00
Andrey Filipenkov
fd56f86a84
introduce VCMI_MOBILE macro
2023-03-02 12:09:49 +03:00
Dydzio
daa2b63dde
Further UI improvements
2023-02-14 22:22:11 +01: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
3fef2a5e1f
Moved Colors to a separate file, updated includes
2023-02-03 11:39:40 +02:00
Ivan Savenko
aab082fd2e
Remove remaining access to SDL_Events
2023-02-03 11:39:40 +02:00
Ivan Savenko
594b7614cf
Fix CI build
2023-02-03 11:39:40 +02:00
Ivan Savenko
cfcaf5cbb6
renamed keyDown -> keyPressed
2023-02-03 11:39:40 +02:00
Ivan Savenko
b1821d4442
Removed some SDL access from non-SDL code
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
860fe43131
Merged two mouse button enums
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