1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-16 10:19:47 +02:00
Commit Graph

574 Commits

Author SHA1 Message Date
Ivan Savenko
1d0e696db6 Added RenderHandler that acts as factory for images and animations 2023-09-04 18:22:34 +03:00
Ivan Savenko
6f0108e462 Use ResourcePath for referencing texts and json's 2023-09-04 18:22:34 +03:00
Ivan Savenko
823ffa7a07 Always use ResourcePath for referencing images and animations 2023-09-04 18:22:34 +03:00
Nordsoft91
c45ab07d0b
Merge pull request #2698 from Nordsoft91/turn-timer
Turn timer fixes
2023-09-01 00:31:52 +04:00
Ivan Savenko
7255dda624
Merge pull request #2629 from dydzio0614/neutral-creature-popup
Improve neutral creature adventure map popup
2023-08-31 15:44:19 +03:00
Ivan Savenko
a59d7b5fc9
Merge pull request #2687 from Nordsoft91/filledTexturePlayerColored
Support FilledTexturePlayerColored in configurable interface
2023-08-31 15:43:40 +03:00
Dydzio
e1e41d1107 Implement TOPCENTER text alignment 2023-08-30 00:35:31 +02:00
nordsoft
c8243313b8 Translations for turn timers 2023-08-29 14:53:15 +04:00
Ivan Savenko
695a51d8c8 Merge remote-tracking branch 'vcmi/beta' into develop 2023-08-28 21:19:53 +03:00
nordsoft
432ed18579 Fix overlap of timer and fps widgets 2023-08-28 19:46:09 +04:00
nordsoft
78397d6d1a Fix compiling 2023-08-28 17:21:38 +04:00
nordsoft
de8bd48398 Added right click pop-up for text inputs 2023-08-28 17:21:38 +04:00
nordsoft
d758727c23 Basic timer ui is almost complete 2023-08-28 17:10:52 +04:00
nordsoft
c064b805c2 Refactor combo box 2023-08-28 17:10:52 +04:00
nordsoft
3e502955b3 Support FilledTexturePlayerColored in configurable interface 2023-08-27 22:34:02 +04:00
Dydzio
e1eb245565 Better default stack action handling + "F shortcut" mode fixes 2023-08-27 17:33:10 +02:00
Nordsoft91
07210973f4
Merge pull request #2653 from Nordsoft91/turn-timer 2023-08-25 00:09:00 +04:00
nordsoft
b8ab64f448 Make options tab configurable 2023-08-23 19:29:50 +04:00
Ivan Savenko
0613756abc Remove unused code 2023-08-23 16:32:29 +03:00
Ivan Savenko
44d16b32fe Use API identical to std classes where possible 2023-08-23 16:32:29 +03:00
nordsoft
0c76ae89f8 Revert "Auxiliary commit to revert individual files from e426924930c761b5f10e4fd8e777b55f8db329e2"
This reverts commit c1d6b2836fca30f99d49012c5ae989cdc5ad0e4f.
2023-08-14 16:33:41 +04:00
nordsoft
e426924930 Close window at time expiring 2023-08-14 15:37:21 +04:00
nordsoft
f01973a4f0 Configurable turn timer 2023-08-14 01:13:37 +04:00
Ivan Savenko
f13a53c1d9 Merge remote-tracking branch 'vcmi/beta' into develop 2023-08-12 17:28:47 +03:00
Ivan Savenko
92ce97bbc7 Merge remote-tracking branch 'vcmi/master' into beta 2023-08-12 16:20:06 +03:00
Ivan Savenko
631e93e846 Fix missing lock of player interface 2023-08-11 18:50:39 +03:00
Ivan Savenko
537f9fa048 Merged master into develop 2023-08-03 23:38:32 +03:00
Ivan Savenko
57d7dc97bf Fix assertion failure on swiping during spellcast 2023-08-03 14:21:15 +03:00
Ivan Savenko
43795c39a5 Replaced all usage of SDL_Color outside of render with ColorRGBA 2023-07-31 21:07:30 +03:00
Ivan Savenko
d86c0a969d Fix conflicting market/town hotkeys 2023-07-30 12:34:34 +03:00
Ivan Savenko
e3f5ab57f2 Fixed input event ordering. Fixes radial menu show/hide logic 2023-07-21 15:47:42 +03:00
Ivan Savenko
d26595cef7 Radial menu is now a proper window. Minor fixes to positioning. 2023-07-21 15:47:42 +03:00
Ivan Savenko
a494dc4870 Refactoring of CGarrisonInt 2023-07-21 15:47:42 +03:00
Ivan Savenko
cefbe5152e
Merge pull request #2359 from IvanSavenko/crashfixing
Fix crashes from 1.2.1 statistics on Google Play
2023-07-21 15:44:37 +03:00
Ivan Savenko
3f4e88c396
Merge pull request #2325 from SoundSSGood/hero-backpack-window
Hero backpack window prototyping
2023-07-21 15:43:34 +03:00
Ivan Savenko
ddda46a7fd
Merge pull request #2358 from dydzio0614/persistent-hero-info-window
Add option for persistent hero info window as in HD mod
2023-07-19 14:46:16 +03:00
Ivan Savenko
bb17cc13b1 Implemented lazy totalRedraw to prevent multiple redraws on single frame 2023-07-18 17:31:21 +03:00
Dydzio
48a72f90f7 Add option for persistent hero info window as in HD mod 2023-07-17 23:25:16 +02:00
Ivan Savenko
64a22d8590 Workaround for false double-clicking of elements in hero/town lists 2023-07-17 17:40:28 +03:00
SoundSSGood
9427de6344 initial files 2023-07-15 22:15:32 +03:00
Ivan Savenko
c0f0c3cedd Fix shortcuts not working sometimes 2023-07-15 16:09:44 +03:00
Ivan Savenko
d99fab8496 Reduce usage of getCursorPosition 2023-07-09 18:09:22 +03:00
Ivan Savenko
9449899098 Fix regressions 2023-07-09 17:08:37 +03:00
Ivan Savenko
ca889a5c2a Replaced clickLeft with clickPressed clickReleased methods 2023-07-08 14:33:04 +03:00
Ivan Savenko
1dff721747 Fix infobox resetting to current hero during enemy turn 2023-07-04 20:28:02 +03:00
Ivan Savenko
900b1c1763 Simplified text input handling, fixes hotkeys on windows with text input 2023-07-04 18:42:52 +03:00
Ivan Savenko
81b9aec527 Fix map edge scrolling after swiping usage 2023-07-03 23:50:09 +03:00
Ivan Savenko
8b61c0d59b Replaced CIntObject::type bitfield with bool's. Added input blocking. 2023-07-03 19:24:12 +03:00
Ivan Savenko
9cd246ab8b
Merge pull request #2259 from IvanSavenko/campaign_refactoring
Fix accumulated issues with campaigns
2023-06-30 12:59:48 +03:00
Ivan Savenko
0f8d53e978 Replaced SDL user events list with dispatching of arbitrary functors 2023-06-26 21:51:10 +03:00
Mike
75820c3bdf Fixed overlapped text display in adventure map settings 2023-06-25 16:27:00 -07: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
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
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