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