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
Ivan Savenko
6a46138617
Moved current selection to local state class
2023-04-20 22:04:24 +03:00
Ivan Savenko
f6d480cbb2
Moved player-specific heroes & towns information to new class
2023-04-20 22:04:24 +03:00
Ivan Savenko
4a169972f0
Further refactoring to cleanup code of advmap and locplint
2023-04-20 22:04:24 +03:00
Ivan Savenko
20de44d4a5
Reodered methods in file to group similar code
2023-04-20 22:04:24 +03:00
Ivan Savenko
7db67a3101
int3 now has proper hasher function
2023-04-20 22:04:24 +03:00
Ivan Savenko
4ec32e4dcd
Renamed CAdvMapInt to its proper full name
2023-04-20 22:04:24 +03:00
Ivan Savenko
f1902ab247
Initial refactoring to encapsulate adventure map
2023-04-20 22:03:28 +03:00
Ivan Savenko
5c9ae8aafc
Implemented spell range overlay for Dimension Door and Scuttle Boat
2023-04-20 14:15:08 +03:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Ivan Savenko
dfa2e2a349
Merge beta into develop
2023-04-11 19:37:35 +03:00
Ivan Savenko
e2d0cd37e4
Merge pull request #1910 from IvanSavenko/beta_fixes
...
Fixes for 1.2 branch
2023-04-09 20:09:03 +03:00
Ivan Savenko
4d37686eb3
Merge pull request #1901 from rilian-la-te/disable-info-bar-scroll
...
InfoBar: disable scrollbar
2023-04-08 19:12:48 +03:00
Ivan Savenko
0abc00f82e
Fix assertion failure in in-game console
2023-04-08 18:53:47 +03:00
Konstantin
50c9a57133
InfoBar: fix tiny selection with data
2023-04-08 01:44:08 +03:00
Konstantin
f8c15f3a4b
InfoBar: disable scrollbar
2023-04-07 20:50:47 +03:00
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
krs
a8f13bb927
Add RALT key check for movement info
2023-04-01 00:20:51 +03:00
Adriankhl
8c5c943da9
Show movement cost immediately after pressing left alt key
2023-03-31 17:48:31 +02:00
Ivan Savenko
339bbce7b7
Added more checks to avoid potential nullptr dereference crash
2023-03-25 23:54:51 +02:00
Ivan Savenko
a8fe8c0f3b
Converted timer event into tick event that is called every frame
2023-03-22 23:10:50 +02:00
Ivan Savenko
c81d57ab8c
Remove excessive totalRedraw's
2023-03-22 00:57:08 +02:00
Ivan Savenko
bb03abdce6
Fix crash on switching players in hotseat
2023-03-21 19:06:38 +02:00
Konstantin
5462a92930
Fix #1688 again
2023-03-18 01:19:41 +03:00
Ivan Savenko
21407b26dd
Fix minimap redraw on fow reveal
2023-03-16 18:36:31 +02:00
Ivan Savenko
a0e9e01b48
Renamed & reorganized all game mechanics settings names
2023-03-16 18:11:35 +02:00
Ivan Savenko
383387ef29
Integrated defaultMods into mod system
2023-03-16 17:55:09 +02:00
Konstantin
4ab9cdd75a
infobar: fix tiny rendering
2023-03-15 14:35:34 +03:00
Ivan Savenko
e1310f88e3
Merge pull request #1675 from rilian-la-te/scholar-infobox
...
Fix #1385 and similar
2023-03-13 12:49:30 +02:00
Konstantin
40222e3f77
vcmi: fix week animation
2023-03-13 01:22:19 +03:00
Konstantin
18200d1d98
vcmi: move getEstimatedComponentHeight
2023-03-13 00:24:26 +03:00
Konstantin
3d33da0a9e
vcmi: request pop all when hero is moved
...
This way new pickup will show immidately.
2023-03-11 21:41:57 +03:00
Konstantin
de211e9f13
vcmi: all notifications now shows inside the infobar properly
...
No more dangling images or text.
2023-03-11 21:41:57 +03:00
Konstantin
bc228a938a
vcmi: use enum class for EComponentType
...
There is really no reason not to use it
2023-03-11 21:41:57 +03:00
Konstantin
1ca89c8492
vcmi: implement splitting by ID in infobar
...
This will get a much better result than naive sorting
2023-03-11 21:41:57 +03:00
Konstantin
a6cb7fd192
vcmi: allows to more than 8 components in infobar
2023-03-11 21:41:57 +03:00
Konstantin
a0c644a0e5
vcmi: actually implement AUTO for CInfoWindow
...
This is possible to use infobar interactions now.
2023-03-11 21:41:57 +03:00
Konstantin
75358a68a7
vcmi: name infobar height and width
2023-03-11 21:41:57 +03:00
Konstantin
4617ce10e5
vcmi: allow showing more than one components in infobar
...
Up to 8, AFAIK. So, we can show multi-reward in infobox now.
One issue remain - cannot dynamically choose components size
based on text size.
2023-03-11 21:41:57 +03:00
Konstantin
2fb2a79ca4
vcmi: fix components other than resources in infobar
...
Do not redraw infobar when components shows and
we request to show current adventure hero.
Player already knows which hero he used to pick up
components.
2023-03-11 21:41:57 +03:00
Konstantin
5366f9190e
vcmi: reduce boost::lexical_cast usage
2023-03-09 16:36:46 +03:00
Adriankhl
368def1609
Fix sleep/wake button, now the icon is updated properly after left click
2023-03-07 13:51:05 +01:00
Ivan Savenko
7ef5163d9d
Merge pull request #1581 from IvanSavenko/map_render_rewrite
...
Adventure Map - rendering rewrite
2023-03-05 19:51:07 +02:00
Ivan Savenko
c328aadfed
Update hero paths on new day
2023-03-05 18:02:59 +02:00
Ivan Savenko
b61cae5b37
Fixed minor issues discovered during testing
2023-03-05 18:02:59 +02:00
Ivan Savenko
58aa5c0427
Formatting
2023-03-05 18:02:59 +02:00
Ivan Savenko
b57a07b10f
Restored ambient sounds functionality
2023-03-05 18:02:59 +02:00
Ivan Savenko
cdcd5a29dd
Updated path to renamed directory
2023-03-05 18:02:59 +02:00
Ivan Savenko
b9e55db223
Minor fixes
2023-03-05 18:02:59 +02:00
Ivan Savenko
6196d538e7
Fix terrain tooltip
2023-03-05 18:02:59 +02:00
Ivan Savenko
45e2875342
Completely removed old TerrainRect class
2023-03-05 17:57:36 +02:00
Ivan Savenko
b9056ef248
Moved swipe handling to TerrainRect class
2023-03-05 17:57:34 +02:00