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

270 Commits

Author SHA1 Message Date
Ivan Savenko
723c674d81
Merge pull request #2447 from IvanSavenko/modding_handler_refactoring
(develop) Modding handler refactoring
2023-08-02 21:26:05 +03:00
Ivan Savenko
3f7e5fcfc3 Fix possible assertion failure on resolution change 2023-08-02 21:23:27 +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
62fddca21e Split massive CModHandler class/file into multiple parts:
- IdentifierStorage is now a separate handler in VLC
- Renamed ModHandler::Incompatibility exception to ModIncompatibility
- Extracted ModScope namespace from ModHandler
- Extracted ModUtilities namespace from ModHandler
- Split CModHandler.cpp on per-class basis
- Replaced some direct members with unique_ptr to reduce header includes
2023-07-30 22:17:47 +03:00
Dydzio
0b5cea0320 Use new adventure map state to detect opponent human turn 2023-07-27 17:26:52 +02:00
Dydzio
ff1a635e9e Unblock basic adventure map actions (scrolling / right-click) in multiplayer 2023-07-26 21:20:11 +02:00
Dydzio
a4f9cde57d Fix autosave at end of turn starting with AI turn on load 2023-07-24 18:24:57 +02:00
Ivan Savenko
07a8c75bec
Merge pull request #2305 from dydzio0614/unlimited-autosave
Ability to change autosave limit + set autosave prefix
2023-07-19 14:45:51 +03:00
Ivan Savenko
7b06c41929
Merge pull request #2338 from dydzio0614/info-box-army-management
Info box army management
2023-07-18 16:45:17 +03:00
Ivan Savenko
64a22d8590 Workaround for false double-clicking of elements in hero/town lists 2023-07-17 17:40:28 +03:00
Ivan Savenko
36efef0ee3 Do not play new day animation on game start 2023-07-17 16:30:12 +03:00
Dydzio
ee663b1595 Changes from code review 2023-07-16 15:56:42 +02:00
Dydzio
1b676933e5
Fix indent
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2023-07-16 15:46:43 +02:00
Dydzio
5882cbae78 Merge branch 'develop' into unlimited-autosave 2023-07-16 15:19:04 +02:00
Dydzio
fe26ab4501 Add settings entry, immediately refresh info bar on setting toggle 2023-07-16 14:52:43 +02:00
Dydzio
dbfcb5a749 Implement interactable town tooltip 2023-07-16 10:17:37 +02:00
Dydzio
013d4cd208 Fix slot deselect when selected shortly after new day animation bypass 2023-07-15 23:15:59 +02:00
Dydzio
ea0ee87299 Interactable hero status - alternative infobox component 2023-07-15 23:14:59 +02:00
Ivan Savenko
189a0c6e0d Re-center map on active object after screen resize 2023-07-15 16:09:44 +03:00
Ivan Savenko
3836217da5 Fix updating of heroes when moving to/from garrison 2023-07-15 16:09:44 +03:00
Ivan Savenko
3e1125570d Fix updating of hero & town lists on adventure map 2023-07-15 16:09:44 +03:00
Dydzio
ad66acdd79 End turn autosave support + making it default 2023-07-13 22:07:42 +02:00
Dydzio
616916714a Unrelated typo fix 2023-07-13 21:56:53 +02:00
Ivan Savenko
0deeff30b9 replaced clickPressed with clickReleased where applicable to H3 2023-07-09 17:55:39 +03:00
Ivan Savenko
ca889a5c2a Replaced clickLeft with clickPressed clickReleased methods 2023-07-08 14:33:04 +03:00
Ivan Savenko
85655d5534 Block map level toggle on maps without underground 2023-07-04 21:42:37 +03:00
Ivan Savenko
1dff721747 Fix infobox resetting to current hero during enemy turn 2023-07-04 20:28:02 +03:00
Ivan Savenko
f914ec9d57 Fix activation of in-game console in other windows 2023-07-04 20:27:45 +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
4e80356bea Do not hide minimap on human player turn 2023-07-03 19:36:10 +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
48eb8ab54f Play sound when receiving message, not just on sending ours 2023-07-03 17:12:31 +03:00
Ivan Savenko
0f8d53e978 Replaced SDL user events list with dispatching of arbitrary functors 2023-06-26 21:51:10 +03: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
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
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
d4aa778547 Replaced clickRight event with showPopupWindow/closePopupWindow 2023-06-20 19:58:05 +03:00
Ivan Savenko
6283329aeb Added option to disable edge scrolling 2023-06-05 19:20:20 +03:00
Ivan Savenko
db1045aecd Fix panning limits for minimap 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
0e36a3ab5a Use Scrollable class for all appropriate locations 2023-06-05 19:18:33 +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
261308b942 Hero/town lists are now scrollable with mouse wheel 2023-06-05 19:00:57 +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
acac42291e Remove excessive CMap.h includes 2023-05-31 23:18:38 +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
956ff22e64
Merge pull request #2163 from IvanSavenko/adventure_map_zoom
Adventure map zoom
2023-05-20 13:35:53 +03:00
Ivan Savenko
f4d67fe675 Restore SDL_main in CMT.cpp 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
1f513fd280 Extracted event management from GuiHandler and CIntObject 2023-05-20 01:51:49 +03:00
Ivan Savenko
be2e101c8c Fix map freeze on enemy turn 2023-05-19 13:22:18 +03:00
Ivan Savenko
872b68c59a Implemented zoom reset shortcut (backspace) 2023-05-17 14:54:19 +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
7838190ef4 Moved window stack management from GuiHandler to new class 2023-05-16 19:10:21 +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
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
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
b1bd49ecd8 Fix main menu resize on resolution change 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
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
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
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
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
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
fb739e7186 Merge beta -> develop 2023-04-26 22:48:08 +03: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