Ivan Savenko
e2bd98e21e
CampaignRegions class encapsulation
2023-06-26 17:15:59 +03:00
Ivan Savenko
f6b2f58da9
Use inheritance instead of composition for campaign header
2023-06-26 17:15:59 +03:00
Ivan Savenko
a08fe09517
Added encapsulation for CampaignState class
2023-06-26 17:15:59 +03:00
Ivan Savenko
8420a90aa4
Reorganization of campaigns code
2023-06-26 17:15:59 +03:00
Ivan Savenko
d1e5a347ff
Refactoring of campaign handler: rename types and use strong typing
2023-06-26 17:15:59 +03:00
Ivan Savenko
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +03:00
Mike
75820c3bdf
Fixed overlapped text display in adventure map settings
2023-06-25 16:27:00 -07: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
edf7756783
Recalculate paths on (un)equipping Angel Wings
2023-06-25 17:42:36 +03:00
Ivan Savenko
90c68588f9
Implemented fly movement sound
2023-06-25 17:42:36 +03: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
krs
27c488e62f
Small changes after review.
2023-06-23 20:05:15 +03:00
krs
afe0146021
Renamed settings option to reflect that same option is used for both ranges.
2023-06-23 19:50:39 +03:00
krs
b6ab1e1505
Removed #regions
2023-06-23 19:13:39 +03:00
krs
1cba41a3c3
IsHexInRangeLimit() is now a common function
...
Plus some minor rearranging of code.
2023-06-23 19:13:39 +03:00
krs
1ba9a2a42a
calculateRangeLimitAndHighlightImages() is now separate function
2023-06-23 19:13:39 +03:00
krs
e668ea3a03
A common function is used for getting hexes in a certain range
...
getRangeHexes()
2023-06-23 19:13:39 +03:00
krs
192f82152d
A common function is used to get range limit hexes
...
getRangeLimitHexes()
2023-06-23 19:13:39 +03:00
krs
33bbbefdeb
First working prototype that mimics rangedFullDamageLimit code
...
Next step is to create more generic functions that can be shared between the 2.
2023-06-23 19:13:39 +03:00
Ivan Savenko
6a08a96d0c
Added createObject call as wrapper around NewObject netpack
2023-06-23 13:42:08 +03:00
Ivan Savenko
d8879f1e53
NewObject pack now receives visitable position instead of h3m position
2023-06-23 13:34:51 +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
7c5dcfd47b
Fix closing dropdown box via clicking outside bounds
2023-06-22 22:34:05 +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
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
87fcfa4add
Removed excessive pathfinder includes
2023-06-21 12:00:44 +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
0be9aff99f
Fix battle queue stack highlighting
2023-06-20 19:58:05 +03:00
Ivan Savenko
108688389e
Fix accessing potentially non-existing UI element
2023-06-20 19:58:05 +03:00
Ivan Savenko
e5df7656a2
Added debug option to test touchscreen input on desktop systems
2023-06-20 19:58:05 +03:00
Ivan Savenko
ffdac314e9
Added selection of long touch duration
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
82288996a2
Fix cursor visibility on closing popup
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
f0a154037c
Attempt to improve def palette detection
2023-06-20 19:37:27 +03:00
Ivan Savenko
d51fe62804
Win/loss condition texts use MetaString
2023-06-20 19:37:27 +03:00
Ivan Savenko
56d69e790b
Renamed MetaString methods to more logical names
2023-06-20 19:37:27 +03:00
Ivan Savenko
2636a0dcc3
Moved MetaString to a new file
2023-06-20 19:37:27 +03:00
Ivan Savenko
f35b3a0dc3
Replace MetaString operator << with member function
2023-06-20 19:37:27 +03:00
Ivan Savenko
c43783db58
Use string ID's instead of raw strings for win/loss conditions
2023-06-20 19:37:27 +03:00
Ivan Savenko
487f441f47
Implemented boat selection for town shipyards
2023-06-16 17:59:49 +03:00
Ivan Savenko
6aedb99117
Cleaned up IShipyard interface
2023-06-16 17:59:10 +03:00
Tomasz Zieliński
f1356dd5bf
Merge remote-tracking branch 'origin/develop' into water_prison_tavern
2023-06-14 20:58:02 +02:00
Ivan Savenko
3924f0f081
Merge pull request #2211 from SoundSSGood/art-refactoring-hotfix
...
Fixing regressions
2023-06-14 16:06:35 +03:00
Ivan Savenko
8614419954
Merge pull request #2208 from IvanSavenko/obstacles_foreground
...
Implemented foreground/background obstacles
2023-06-14 15:49:08 +03:00
Ivan Savenko
caf627a652
Merge pull request #2207 from IvanSavenko/fix_black_color
...
Fix colors in def palette turning into transparency unconditionally
2023-06-14 15:48:15 +03:00
krs
5158a5f7db
Fix After Merge
2023-06-11 19:31:50 +03:00
krs
0a8daf4d02
Now less source images are used. Flipped versions will be calculated.
2023-06-11 18:46:38 +03:00
krs
0ee1866f73
Added SDLImage::doubleFlip()
2023-06-11 18:45:14 +03:00
krs
21306b9097
Fixed a glitch when only top and bottom were needed.
2023-06-11 18:45:14 +03:00
krs
a8a82e89ea
Some renamings for consistency
2023-06-11 18:45:14 +03:00
krs
4a3426bb70
Hex Edge Highlight Images moved to VCMI mod
2023-06-11 18:44:42 +03:00
krs
56b8fb39f3
Removed neighbouringTilesWithDirection and using
...
allNeighbouringTiles
2023-06-11 18:40:47 +03:00
krs
b8ad5b41f3
UnitState has getRangedFullDamageDistance()
2023-06-11 18:40:47 +03:00
krs
c562ce9c06
Using hex.isAvailable() instead of battleFieldWithoutSideColumns
2023-06-11 18:40:47 +03:00
krs
c0591573bf
Working Version
2023-06-11 18:40:47 +03:00
Tomasz Zieliński
982a2723de
Fix missing change
2023-06-08 09:49:28 +02:00
SoundSSGood
f6c2d5cba7
hotfix
2023-06-07 13:08:04 +03:00
Ivan Savenko
428fb832c6
Implemented foreground/background obstacles:
...
- obstacles now have "foreground" field
- if "foreground" field set, obstacle will appear on top of other
objects, such as units
- if "foreground" is not set, obstacle will appear below units
- updated schema and cleared up obstacles config
2023-06-06 15:53:14 +03:00
Ivan Savenko
61a8c53bb6
Fix colors in def palette turning into transparency unconditionally
2023-06-05 23:51:18 +03:00
Ivan Savenko
4e834db017
Fix relative cursor mode
2023-06-05 19:28:29 +03:00
Ivan Savenko
238a02eb5e
It is now possible to cancel attack-via-swiping by moving finger away
2023-06-05 19:20:20 +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
db1045aecd
Fix panning limits for minimap
2023-06-05 19:20:08 +03:00
Ivan Savenko
0f2a339ab5
Implemented pinch gesture to scale adventure map
2023-06-05 19:20:08 +03:00
Ivan Savenko
a08ff1e6ef
Removed no longer used touchscreen option
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
84934d931a
Minor improvements to swipe in battle
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
70155b48e1
Only show touchscreen options on systems that have one
2023-06-05 19:20:08 +03:00
Ivan Savenko
2c7b94d17f
Remove unused map swipe option
2023-06-05 19:20:08 +03:00
Ivan Savenko
1cec6918a0
Fix spellcast cancelation in battle
2023-06-05 19:20:06 +03:00
Ivan Savenko
0e36a3ab5a
Use Scrollable class for all appropriate locations
2023-06-05 19:18:33 +03:00
Ivan Savenko
052d0d314a
Implemented Scrollable class, to server as common base for such classes
2023-06-05 19:17:04 +03:00
Ivan Savenko
6fe00ad55c
Moved slider class to a separate file
2023-06-05 19:16:01 +03:00
Ivan Savenko
18388b2d72
Right-click popups will stay till next tap, in line with Android UI
2023-06-05 19:12:26 +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
2a30eccb2d
Allow mouse wheel for astart options setup (town/hero/bonus)
2023-06-05 19:00:57 +03:00
Ivan Savenko
261308b942
Hero/town lists are now scrollable with mouse wheel
2023-06-05 19:00:57 +03:00
Ivan Savenko
dc8e9cd048
wheelScrolled event now accepts distance instead of bool
2023-06-05 19:00:57 +03:00
Ivan Savenko
e2a85e25fa
Removed old code
2023-06-05 19:00:57 +03:00
Ivan Savenko
26fd651917
Implemented panning gesture via touch input
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
1a5c69a424
Implemented left & right click support for touch input
2023-06-05 19:00:56 +03:00
Ivan Savenko
c9d42d59c3
Formatting fix
2023-06-05 19:00:56 +03:00
Ivan Savenko
dc16781877
Move keyboard tests to keyboard handler
2023-06-05 19:00:56 +03:00
Ivan Savenko
503bd1dd66
Fix double-clicking to start scenario
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
1e9eea30e1
Merge remote-tracking branch 'soundsgood/CArtHandler-rework' into develop
2023-06-05 18:53:17 +03:00
Ivan Savenko
8d278e653f
Merge pull request #2202 from IvanSavenko/map_objects_reorganization
...
Map objects code reorganization
2023-06-05 18:35:05 +03:00
Ivan Savenko
8e8601f39d
Fix build
2023-06-02 21:54:52 +03:00
Ivan Savenko
d6a357fd17
Split some map object files into smaller files. Reduced includes usage.
2023-06-02 21:47:37 +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
b04b11b9d1
Merge pull request #2175 from IvanSavenko/map_format_mappings
...
HotA map format support - object mapping
2023-06-01 22:06:18 +03:00
Ivan Savenko
acac42291e
Remove excessive CMap.h includes
2023-05-31 23:18:38 +03:00
Ivan Savenko
62595cb039
Split massive CMap.h a bit
2023-05-31 23:01:57 +03:00
Ivan Savenko
de769a04d6
Remove unnecessary includes from headers
2023-05-31 23:01:57 +03:00
Ivan Savenko
daaaf84392
Icon index for map format is now defined in config
2023-05-31 23:01:57 +03:00
Ivan Savenko
fb55719671
Map format support status can now be loaded from gameSettings
2023-05-31 23:01:57 +03:00
Michael
eb618fbff9
rename function
2023-05-28 17:29:11 +02:00
Michael
8672fc7e3d
Allows to translate default playername
2023-05-28 16:57:24 +02:00
Michael
3ee7610015
added missing translation strings
2023-05-28 14:58:21 +02: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
867c5355da
Fix tower shooters animation updates
2023-05-20 13:11:52 +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
f4d67fe675
Restore SDL_main in CMT.cpp
2023-05-20 01:51:49 +03:00
Ivan Savenko
e23dfec6c5
Fix SDL_Hints location
2023-05-20 01:51:49 +03:00
Ivan Savenko
bb36336aed
Changed event queue to vector
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
ff1c94541f
Fix button interaction with hotkey & mouse
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
06b6f59107
Resolution selector will now correctly update in borderless window mode
2023-05-19 23:54:43 +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
1c82a10fdd
Fix graphical artifacts on map scaling
2023-05-19 17:09:46 +03:00
Ivan Savenko
be2e101c8c
Fix map freeze on enemy turn
2023-05-19 13:22:18 +03:00
SoundSSGood
1175990724
fixup
2023-05-19 01:55:11 +03:00
Ivan Savenko
9817aaa466
Merge pull request #2145 from IvanSavenko/fix_hota_support
...
Minor fixed for compatibility with hota data files
2023-05-18 22:50:10 +03:00
SoundSSGood
021f94a579
artifact utils
2023-05-17 17:00:31 +03:00
Ivan Savenko
872b68c59a
Implemented zoom reset shortcut (backspace)
2023-05-17 14:54:19 +03:00
Ivan Savenko
7504ceb256
Fixed map view centering during scaling change
2023-05-17 14:36:12 +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
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
9eac3eaafa
Merged "music" resource type into "sound", enables ogg's use as sounds
2023-05-15 22:22:54 +03:00
Ivan Savenko
d6d679a38c
Fix missing broken shadows on hota map objects
2023-05-15 22:22:54 +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
fa496628f2
Separated timer updates from rendering in adventure map and town screen
2023-05-14 22:22:37 +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
64cc246358
Fix positioning of console log overlay
2023-05-13 18:00:14 +03:00
Ivan Savenko
5e90d40e8b
Fix typo
2023-05-13 17:59:59 +03:00
Ivan Savenko
062311d24a
Fix callbacks of toggle buttons. Fixes game options window
2023-05-12 22:58:21 +03:00
Ivan Savenko
7927470d46
Merge pull request #2076 from IvanSavenko/configurable_adventure_map
...
Implement scalable adventure map window
2023-05-12 17:39:45 +03:00
SoundSSGood
f3ae47b10e
art transfer fix
2023-05-10 03:01:13 +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
8504b891a8
Added more checks for SDL return status
2023-05-09 13:10:33 +03:00
Ivan Savenko
b2233b8ced
Attempt to improve coloring of resource bar texture-fill
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
e26b18c139
Rename & cleanup of WindowHandler -> ScreenHandler
2023-05-09 13:10:33 +03:00
Ivan Savenko
29b10f0436
Try to enable window resize
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
bffec0068b
Fix screen updates after window resize
2023-05-09 13:10:33 +03:00
Ivan Savenko
dbc4330fc5
Fixed positioning of resource bar and town list in other windows
2023-05-09 13:10:33 +03:00
Ivan Savenko
f403766fbb
Attempt to fix DPI scaling on Windows
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
ecff5f3d12
Do not trigger multiple hotkeys when battle window wait for any key
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
97d266ea2d
Remove duplicated resolutions, e.g. different frequency
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
c24ccf663b
Fixed auto-enabling of status bar on windows activations
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
77beca50e2
Hide resolution selector on mobile devices
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
a4b102e46f
Implemented UI scaling (non-selectable option for now)
2023-05-09 13:10:33 +03:00
Ivan Savenko
8d28f96619
Resolutions selector now shows all available resolutions
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
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
cb8201876b
Merge pull request #1822 from rilian-la-te/spell-mechanics-v3
...
Bonus refactoring, part3 (save-incompatible)
2023-05-09 13:10:04 +03:00
SoundSSGood
fe3e635332
assertions fix
2023-05-07 22:29:03 +03:00
Konstantin P
057a33c508
SpellSchool: use identifier instead of int
...
Needs redifinition of MAGIC_SCHOOL_SKILL in all mods
2023-05-07 20:37:32 +03:00
Konstantin P
0cbc2e458c
CBonusSystemNode: remove description
...
It was almost unused, but this change is save-breaking
2023-05-05 18:57:11 +03:00
Konstantin
05eccbc2bb
vcmi: split bonus to enumerator and HeroBonus.h
2023-05-03 18:01:06 +03:00
Konstantin
fbc05c70ac
vcmi: camelCase methods of new classes
...
Also use EGameSettings for clamping morale and luck
2023-05-02 12:09:13 +03:00
Konstantin
a6de9097be
vcmi: rename HeroBonus.h to Bonus.h
2023-05-02 11:20:58 +03:00
Konstantin
4866c2fe5c
vcmi: split IBonusBearer
2023-05-02 00:54:53 +03:00
Konstantin
b6eb2dc060
vcmi: rename IFactionMember and ICreature
2023-05-02 00:54:53 +03:00
Konstantin
1d34c73c2d
vcmi: split CBonusSystemNode, BonusParams and prop
...
More splitting of HeroBonus.h
2023-05-02 00:54:53 +03:00
Konstantin
713e3004df
vcmi: rename updater and limiter files
2023-05-02 00:53:51 +03:00
Konstantin
a2d4c72016
vcmi: morale and luck now also IFactionMember
...
Not all bonus bearers have morale and luck, only faction members
2023-05-02 00:53:51 +03:00
Konstantin
e37f798a68
vcmi: split bonus updaters
2023-05-02 00:53:50 +03:00
Konstantin
416faf521e
vcmi: move limiters outside of HeroBonus.cpp
...
This will help for recompilation.
2023-05-02 00:53:50 +03:00
Konstantin
6fa1b2b19f
vcmi: move bonuses to its own folder
2023-05-02 00:53:50 +03:00
Konstantin P
4b2a09dae7
FactionMember: move code around
2023-05-02 00:53:50 +03:00
Ivan Savenko
916b41d9a7
Merge pull request #2078 from IvanSavenko/shortcuts
...
Basic shortcuts system
2023-05-01 21:45:52 +03:00
nordsoft
fdac1d66d8
Fix warnings
2023-05-01 21:49:37 +04:00
nordsoft
32277a007d
Fix compilation after merge
2023-05-01 21:49:37 +04:00
nordsoft
07b2052679
Bit refactoring
2023-05-01 21:49:37 +04:00
nordsoft
68fa7aaf35
Remove limitations for amount of skills
2023-05-01 21:49:37 +04:00
nordsoft
a4fd6c1c92
Move trading window title to config
2023-05-01 21:49:37 +04:00
nordsoft
11840b9f6d
Get rid of hardcoded logic for markets
2023-05-01 21:49:37 +04:00
nordsoft
07f7c318dc
Adjust client part for markets
2023-05-01 21:49:37 +04:00
nordsoft
4b1b58b617
Change Callback to abstract
2023-05-01 21:49:37 +04:00
nordsoft
59bc9326e9
Remove excess pointer from market interface
2023-05-01 21:49:37 +04:00
Ivan Savenko
e9e5355af0
Added commented-out wog campaigns set
2023-05-01 18:00:35 +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
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
4aa232a60a
Merge pull request #2055 from SoundSSGood/cartifactholder-rework
...
Artifact related code refactoring part2 (client CArtifactHolder)
2023-05-01 02:33:08 +03:00
SoundSSGood
8b531ca6c4
CArtifactHolder divided into files
2023-05-01 00:34:45 +03:00
Konstantin
86f5d6de69
vcmi: modernize headers
2023-04-30 13:35:54 +03:00
Ivan Savenko
d985ac90d3
Merge master -> develop
2023-04-28 22:57:25 +03:00
Ivan Savenko
76d5b459f1
Fixed music playback on switching between towns
2023-04-28 16:53:45 +03:00
Konstantin P
b472c89276
vcmi: make some CStack properties private
...
There is a getters for this properties already available
2023-04-27 20:58:49 +03:00
Ivan Savenko
fb739e7186
Merge beta -> develop
2023-04-26 22:48:08 +03:00
krs
e348193f7e
Tactics movement is limited to movement range
2023-04-26 21:56:20 +04:00
Ivan Savenko
48abf46824
Merge pull request #2005 from IvanSavenko/advmap_refactor
...
Refactoring of adventure map interface
2023-04-24 17:19:22 +03:00
Ivan Savenko
3ac713d6a8
Fix crash on dereferencing nullptr
2023-04-24 17:17:12 +03:00
Ivan Savenko
d3c1c92a03
Do not update minimap using puzzle map data
2023-04-24 17:16:55 +03:00
Ivan Savenko
fa156568c4
Fixes according to review
2023-04-24 16:58:15 +03:00
Nordsoft91
f39f208e05
Merge pull request #1915 from Nordsoft91/vcmi-campaign
...
VCMI campaigns format
2023-04-23 19:09:59 +04:00
SoundSSGood
dcac8252f3
fixed windows positions
2023-04-23 14:57:45 +03:00
SoundSSGood
a8220c551f
fixed init CArtifactsOfHero
2023-04-23 14:33:47 +03:00
SoundSSGood
177523d972
askToAssemble, askToDisassemble
2023-04-23 14:17:27 +03:00
SoundSSGood
1046964eef
CArtifactHolder
2023-04-23 14:14:24 +03:00
Nordsoft91
a553a4aa66
Merge pull request #2030 from Nordsoft91/boats
2023-04-22 03:27:00 +04: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
nordsoft
de159df481
Rename boats
2023-04-20 21:20:51 +04:00
Ivan Savenko
24c6587072
Fixed crash on leaving to main menu from battle in hotseat mode
2023-04-20 19:56:35 +03:00
Ivan Savenko
f245080cba
Fix missing error message on casting spell in hotseat
2023-04-20 19:24:13 +03:00
nordsoft
753b72f96d
Revert "Hidden maps"
...
This reverts commit e669d31d33
.
2023-04-20 19:50:00 +04:00
Ivan Savenko
6df85be4b3
Fixed death animation of Efreeti killed by petrification attack
2023-04-20 18:13:01 +03:00
Ivan Savenko
5c9ae8aafc
Implemented spell range overlay for Dimension Door and Scuttle Boat
2023-04-20 14:15:08 +03:00
Ivan Savenko
b3207f3465
RMG tab will now show all templates but will block invalid map sizes
2023-04-19 23:14:23 +03:00
Ivan Savenko
b517adfb25
Fixed crash on empty save game list after filtering
2023-04-19 23:12:30 +03:00
Ivan Savenko
3d30e04184
Fixed centering of scenario information window
2023-04-19 23:11:44 +03:00
Ivan Savenko
4bb4d7e7a5
Merge pull request #1989 from SoundSSGood/refactoring-arts-p1
...
Artifact related code refactoring part1 (initial)
2023-04-19 15:31:11 +03:00
nordsoft
f464ca3560
Merge remote-tracking branch 'upstream/develop' into vcmi-campaign
...
# Conflicts:
# lib/mapping/CCampaignHandler.cpp
2023-04-19 02:45:49 +04:00
nordsoft
0a28262c15
Merge remote-tracking branch 'upstream/develop' into boats
...
# Conflicts:
# AI/VCAI/Pathfinding/AINodeStorage.cpp
2023-04-19 02:22:19 +04:00
nordsoft
d1dacd45e2
Animations from config
2023-04-19 00:14:15 +04:00
Ivan Savenko
e8788cf4c4
Merge pull request #1999 from Laserlicht/patch-2
...
Big/Vector Icons
2023-04-18 16:23:00 +03:00
Ivan Savenko
56de0c9f56
Merge pull request #2015 from rilian-la-te/optional-variant-any
...
vcmi: migrate to C++17
2023-04-18 15:44:52 +03:00
nordsoft
ed798b06da
Prepare transport enum
2023-04-18 13:04:49 +04:00
nordsoft
2babb5add5
Fix boat extra animations
2023-04-17 23:39:34 +04:00
nordsoft
80220fda5b
Merge remote-tracking branch 'upstream/develop' into vcmi-campaign
...
# Conflicts:
# lib/mapping/CMap.h
2023-04-17 04:54:57 +04:00
nordsoft
91b4782a2f
Refactor more fields from campaign header
2023-04-17 04:47:54 +04:00
nordsoft
70f4cc5e0f
Refactor campaign regions
2023-04-17 04:26:35 +04:00
krs
91c96b1b68
Fix for merge.
2023-04-17 00:53:25 +03:00
Konstantin
54eb550eb9
vcmi: remove unused functions now
2023-04-17 00:43:13 +03:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Konstantin
0d35606a44
vcmi: use std::variant
2023-04-17 00:43:13 +03:00
krs
14cbdf7ab0
Split Process console commands code into individual functions
...
Extracted functions for each if branch, added one line doc for each function, rearranged the commands to be groupped more logically.
2023-04-16 23:45:37 +03:00
Ivan Savenko
e3ed728193
Merge pull request #1932 from rilian-la-te/proper-teleport
...
VCMI: teleport redesign
2023-04-16 22:52:01 +03:00
nordsoft
954a2abb71
Verifying mods before starting map
2023-04-16 15:38:13 +04:00
Michael
d64106b700
Update generate_icns.py
2023-04-16 12:33:35 +02:00
Ivan Savenko
1704fab3a2
Fix assertion failure on fighting against AI with tactics
2023-04-15 17:20:38 +03:00
Ivan Savenko
cc8c1c769a
Fix duplicated maps in scenario selection screen
2023-04-15 17:20:38 +03:00
Ivan Savenko
de855085f0
Added information on banks, seer hut and monster properties
2023-04-15 17:20:38 +03:00