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
Ivan Savenko
d4fba3787c
Removed usage of SDL_KeyboardEvent from UI code
2023-02-03 11:39:40 +02:00
Ivan Savenko
860fe43131
Merged two mouse button enums
2023-02-03 11:39:40 +02:00
Ivan Savenko
6669ffd4b3
Moved input-related code from SDL_Extensions to GuiHandler
2023-02-03 11:39:40 +02:00
Ivan Savenko
214fc19e74
CIntObject now receives mouse position as point instead of SDL event
2023-02-03 11:39:39 +02:00
Ivan Savenko
108a42e4ba
Reorganized includes for new layout. New class - IImageLoader
2023-02-01 20:42:06 +02:00
Ivan Savenko
4d8d886317
Move all created files into better locations
2023-02-01 16:28:48 +02:00
Ivan Savenko
dfbcfb7b3c
Remove duplicated code from new files
2023-02-01 15:56:44 +02:00
Ivan Savenko
3f1b1095e2
Finish split of cursors files
2023-02-01 15:50:36 +02:00
Ivan Savenko
769d4b3bfb
temporary rename
2023-02-01 15:50:12 +02:00
Ivan Savenko
bdc2d0c920
Split CursorSoftware into a new file
2023-02-01 15:48:59 +02:00
Ivan Savenko
418fd1491b
Split CursorHardware into a new file
2023-02-01 15:48:06 +02:00
Ivan Savenko
67e7731752
Split ICursor into a new file
2023-02-01 15:45:22 +02:00
Ivan Savenko
8a9492d129
Moved client files to more suitable locations
2023-02-01 13:09:19 +02:00
Ivan Savenko
0ba74fea73
Merge pull request #1515 from IvanSavenko/time_based_animations
...
Time based animations
2023-02-01 12:25:54 +02:00
Ivan Savenko
c3a2dee45a
Code cleanup
2023-01-31 15:00:46 +02:00
Ivan Savenko
5cc23cc286
Renamed SDL_Pixels -> SDL_PixelAccess due to similar SDL header
2023-01-30 20:06:08 +02:00
Ivan Savenko
9c3030603d
Removed most SDL includes from headers, removed SDL int's
2023-01-30 19:55:32 +02:00
Ivan Savenko
e14290fde0
Removed loading of images from file into SDL_Surface
2023-01-30 18:25:47 +02:00
Ivan Savenko
87218c63c4
CPicture now uses IImage internally
2023-01-30 17:18:59 +02:00
Ivan Savenko
42df5626d9
Added Color class to replace SDL_Color
2023-01-30 00:12:43 +02:00
Konstantin
080d4b13dd
vcmi: suppress warning on IOS
...
Let CI passes on develop.
2023-01-29 21:30:37 +03:00
Ivan Savenko
57ee9a9bf3
Merge vcmi/beta into vcmi/develop
2023-01-29 18:21:55 +02:00
Ivan Savenko
bdde9f831a
Fixed timings of building construction to match H3
2023-01-28 13:19:35 +02:00
Ivan Savenko
f1647cc3bb
Animated spellcasting cursor now has same speed as in H3
2023-01-28 13:19:35 +02:00
Ivan Savenko
50a0fc4fb2
Removed pointer to current SDL_Event from GuiHandler
2023-01-27 23:17:40 +02:00
Ivan Savenko
4d1c338503
Merge pull request #1498 from rilian-la-te/conan-v2
...
Conan as MXE replacement
2023-01-27 23:14:37 +02:00
Andrey Filipenkov
b2d2c7a2dc
Merge pull request #1501 from kambala-decapitator/townportal-doubleclick
...
handle double-click in Town Portal dialog
2023-01-25 17:42:15 +03:00
Konstantin
a7bd7232ce
CGuiHandler: fix false positive dangling pointer
...
Making this an auto variable fixes compilation with Werror.
2023-01-25 17:14:41 +03:00
Andrey Filipenkov
08b04a3527
handle double-click in Town Portal dialog
2023-01-23 15:43:55 +03:00
Andrey Filipenkov
7b2540517b
fix Main Thread Checker warnings on Apple platforms
2023-01-21 16:07:35 +03:00
Ivan Savenko
8ed115a628
Fix ios compile
2023-01-20 16:11:43 +02:00
Ivan Savenko
fc0f5a9fb3
Reduced SDL includes
2023-01-20 16:11:43 +02:00
Ivan Savenko
aae83af9f3
Fix Windows compile
2023-01-20 16:11:43 +02:00
Ivan Savenko
9be38780cd
Removed remaining parts of Geomeotries.h/cpp
2023-01-20 16:11:43 +02:00
Ivan Savenko
6e2d09d605
Cleanup
2023-01-20 16:11:43 +02:00
Ivan Savenko
ee7a573cb8
Refactoring of SDL API usage:
...
- Rect no longer inherits from SDL_Rect
- renamed vcmi functions that used SDL naming format
- moved all functions in SDL_Extensions file into CSDL_Ext namespace
- SDL_Rect is now used only by SDL_Extensions, all other code uses Rect
2023-01-20 16:11:43 +02:00
Ivan Savenko
9a30484183
Point and Rect now reside in library
2023-01-20 16:11:43 +02:00
Ivan Savenko
fd05036f3b
Hardware cursor can now be hidden
2023-01-20 15:15:19 +02:00
Ivan Savenko
5484efde90
Mobile platforms will use software cursor as default
2023-01-20 15:15:19 +02:00
Andrii Danylchenko
9a765e5f67
Remove not supported method, allow relative mode for iOS
2023-01-19 08:26:35 +02:00
Andrii Danylchenko
6c843bce0b
SDL relative pointer for android
2023-01-18 10:38:55 +02:00
Andrii Danylchenko
226668c428
Merge pull request #1453 from vcmi/android-fix-input-position-for-keyboard
...
Fix android UI shift when keyboard appears
2023-01-18 09:23:46 +02:00
Andrii Danylchenko
8f35bf8866
Fix android UI shift when keyboard appears
2023-01-17 16:44:46 +02:00
Andrii Danylchenko
c24b89fe06
2 finger rclick block adwmap scrolling and disable for iOS
2023-01-17 16:22:44 +02:00
Andrii Danylchenko
2b1511df99
SDL fix 2 finger touch when you remove fingers instantly
2023-01-16 13:39:45 +02:00
Andrii Danylchenko
7ccfcf51e9
Handle 2 fingers gesture as rclick via SDL
2023-01-16 09:46:52 +02:00
Ivan Savenko
fc4121f5ec
Rechecked & updated offsets of adventure map cursors
2023-01-15 21:18:34 +02:00
Ivan Savenko
385dda1c5b
Clean surface before using it
2023-01-15 21:18:34 +02:00
Ivan Savenko
c6d39da53e
MXE compile fix
2023-01-15 21:18:34 +02:00
Ivan Savenko
6985f2e050
Cursor type can now be set in settings.json
2023-01-15 21:18:34 +02:00
Ivan Savenko
26a1c5801b
Implemented hardware cursor support
2023-01-15 21:18:34 +02:00
Ivan Savenko
9971bdca1b
Existing software cursor logic is now in a separate class
2023-01-15 21:18:34 +02:00
Ivan Savenko
0e8ee929df
Renamed CCursorHandler -> CursorHandler
2023-01-15 21:18:34 +02:00
Ivan Savenko
d44e809369
Refactoring of CursorHandler, in preparation for HW cursor routines
2023-01-15 21:18:34 +02:00
Dydzio
4fb5548475
Remove unused stuff from code
2023-01-15 17:31:32 +02:00
Dydzio
3596d167a7
Adjust code to develop + change place in code where alpha is applied
2023-01-15 17:31:32 +02:00
Dydzio
9e7e649d37
Gradual fade-in of built building
2023-01-15 17:31:32 +02:00
Ivan Savenko
1fece0ce18
Merge pull request #1229 from IvanSavenko/battle_improvements
...
Battle: Fixing bugs & Implementation of missing features
2023-01-09 22:07:13 +02:00
Ivan Savenko
bde988ca43
Merge pull request #1329 from IvanSavenko/translate_game
...
Translations support - base functionality for main game texts
2023-01-09 20:33:56 +02:00
Andrey Filipenkov
db98575d10
fix unaligned memory access (UB) on Clang/GCC/MSVC
...
sample UBSAN report:
client/gui/CAnimation.cpp:329:24: runtime error: load of misaligned address 0x62d0004b094f for type 'const ui32' (aka 'const unsigned int'), which requires 4 byte alignment
2023-01-08 01:33:26 +02:00
Ivan Savenko
a25214ae71
Fixes graphical artifacts on toggling stack queue visibility
...
Battlefield rendering now uses local coordinates
2023-01-05 14:16:01 +02:00
Ivan Savenko
21196e822f
Fixed blue tint for clones
2023-01-04 19:36:18 +02:00
Ivan Savenko
d8c4209ded
Movement animation is now more smooth at high animation speeds
2023-01-04 17:21:40 +02:00
Ivan Savenko
ffb37f067a
Support for player-colored images in configurable UI
2023-01-04 16:40:15 +02:00
Ivan Savenko
d3ecd43aba
Merge remote-tracking branch 'vcmi/develop' into battle_improvements
2023-01-04 16:20:53 +02:00
nordsoft
e8845244f7
Fix tactic button
2023-01-03 13:02:54 +04:00
nordsoft
660d25a335
Make control panel configurable
2023-01-03 13:02:54 +04:00
Ivan Savenko
9a620a9091
Refactoring of GeneralTextHandler to reduce boilerplate code in callers
2023-01-01 15:13:02 +02:00
Ivan Savenko
01d0cd4f7a
Changed configurable UI to match text refactoring:
...
- help.txt strings are now loaded as (hover, help) pairs
- renamed string pairs from translate.json to use (hover, help) form
- interface builder will always load label texts via unified ID
- interface builder way of loading buttons text has been changed:
- - field has been renamed "zelp" -> "help" for consistency
- - "help" field now only accepts string or object json type
2023-01-01 14:56:45 +02:00
Ivan Savenko
bdb8e0ee5c
Introduced string identifiers for H3 texts, still WIP
2023-01-01 14:56:44 +02:00
Ivan Savenko
f8dec3861b
Fixed animation skipping with no sound mod and enemy having first turn
2022-12-30 11:56:26 +02:00
Ivan Savenko
5d80457eda
Merge with vcmi/develop branch
2022-12-30 00:52:23 +02:00
Ivan Savenko
7a35bcc812
Merge pull request #1221 from IvanSavenko/warnings_fix
...
Fix remaining compiler warnings
2022-12-29 21:51:55 +02:00
Ivan Savenko
bb65246aa3
Merge remote-tracking branch 'vcmi/develop' into battle_improvements
2022-12-26 01:15:44 +02:00
Ivan Savenko
d1244e3714
Fix ios compile
2022-12-25 17:44:13 +02:00
Nordsoft91
785787e454
Merge branch 'develop' into interface-builder
2022-12-24 21:56:29 +04:00
Ivan Savenko
325c29da0d
Merge remote-tracking branch 'vcmi/develop' into battle_improvements
2022-12-23 14:51:34 +02:00
Ivan Savenko
eb20a4b208
Merge remote-tracking branch 'vcmi/develop' into warnings_fix
2022-12-23 14:40:45 +02:00
Ivan Savenko
f073c676f9
Merge 1.1 release into develop
2022-12-23 14:17:18 +02:00
nordsoft
cb76cc54ac
Move logging to debug level
2022-12-22 02:08:26 +04:00
nordsoft
e245dbaf9d
Use kind-of-factory approach for widget builders
2022-12-22 02:05:29 +04:00
Ivan Savenko
4fa01c4c7e
Fix potential overflow/underflow
2022-12-21 23:39:54 +02:00
nordsoft
8f7025328f
Read default template from config, named custom types
2022-12-22 01:37:33 +04:00
Ivan Savenko
41b87088d5
Color muxer effects can now be (partially) configured by user.
...
TODO: move color muxer effects from spells into spell config
2022-12-21 23:29:56 +02:00
nordsoft
7e7071fc95
Merge remote-tracking branch 'upstream/develop' into interface-builder
2022-12-22 01:24:29 +04:00
nordsoft
c7f430f051
Added debug lines
2022-12-22 01:13:32 +04:00
nordsoft
521328addd
Adding macros for targeted object binding
2022-12-22 00:54:06 +04:00
Ivan Savenko
b5925995b1
Fix transparency checks that were broken for palette images with alpha
2022-12-19 22:57:58 +02:00
Ivan Savenko
16c4851d3b
Animated cursor for spell selection, removed hardcoded cursor ID's
2022-12-18 22:32:07 +02:00
Ivan Savenko
ba200fb079
Added enum's for rest of cursor types
2022-12-18 17:13:34 +02:00
Ivan Savenko
57dba9433c
Correctly update drag-and-drop cursor if our window gets deactivated
2022-12-18 14:34:38 +02:00
nordsoft
9b76a8000f
Making team alignments widget customizable
2022-12-17 20:38:16 +04:00
nordsoft
b1f2c7aed4
Team alignments implemented
2022-12-17 08:19:16 +04:00
Ivan Savenko
39367473d2
Removed no longer used code
2022-12-16 16:23:50 +02:00
Ivan Savenko
3403b42cd8
Fix transparency checks that were broken for palette images with alpha
2022-12-16 16:23:07 +02:00
Ivan Savenko
291bb9b204
Expanded cursors enum to include all possible values
2022-12-16 11:22:58 +02:00
nordsoft
268b87052b
Fix for hint
2022-12-16 02:49:52 +04:00
nordsoft
1d59dfecef
Support translations
2022-12-16 02:48:07 +04:00
nordsoft
d3c3feb037
Configurable template selection
2022-12-16 02:15:53 +04:00
Ivan Savenko
864990db13
Implemented Bloodlust & Petrification effect
...
- ColorFilter is now in separate file
- Moved lerp function into global.h
- Bloodlust visuals mostly matches H3
- Petrify visual matches H3
- TODO: Adjust timing of all ColorFilter efects to match H3
- TODO: Petrify should pause stack animations
- TODO: ColorFilter-powered effects should be configurable in Spell system
2022-12-15 23:24:03 +02:00
nordsoft
1d4209d97e
Continue refactoring
2022-12-16 00:57:10 +04:00
nordsoft
2371e3e9a2
Interface builder refactored
2022-12-16 00:46:36 +04:00
nordsoft
2fe951f819
Merge remote-tracking branch 'upstream/develop' into interface-builder
...
# Conflicts:
# client/lobby/RandomMapTab.cpp
2022-12-15 04:47:11 +04:00
Ivan Savenko
7e35a96055
Changed ColorPutter in preparation for Bloodlust & Petrify effects
2022-12-14 15:17:38 +02:00
Ivan Savenko
fb3a08e0a6
Added fading animation for fade-in effect for summons
2022-12-14 12:04:37 +02:00
Ivan Savenko
e7206cb759
Cleaned up BattleHero class
2022-12-13 21:31:49 +02:00
Ivan Savenko
c79634b6a7
Moved all animation ordering logic to callers
...
Previously, CBattleAnimation & inheritors were controlling animation
ordering - e.g. which animations should play after which.
Now, this is controlled by caller, e.g. BattleInterface & its
controllers.
H3 animations are fairly linear and can be split in stages which are
already somewhat implemented via waitForAnims
2022-12-13 21:31:49 +02:00
nordsoft
f90cb1be90
Template list prototype looks fine
2022-12-13 03:47:29 +04:00
Ivan Savenko
d40d5250b7
changes to status bar according to review comments:
...
- renamed IStatusBar API to more clear names
- removed "locking" of status bar
- added comments for IStatusBar API
- removed dynamic_casts to CGStatusBar, now IStatusBar API is fully
sufficient
2022-12-12 18:23:41 +02:00
nordsoft
690ff773f4
Remove files
2022-12-12 11:53:23 +04:00
nordsoft
cd58e8a860
Rename InterfaceBuilder
2022-12-12 11:48:39 +04:00
nordsoft
34bf741936
Fix compilation error
2022-12-12 11:43:54 +04:00
nordsoft
5e3504f578
Add improvements
2022-12-12 11:38:27 +04:00
nordsoft
3be9969154
Prevent crashes for custom config
2022-12-12 03:58:39 +04:00
nordsoft
0104c77d61
Interface builder for random map tab
2022-12-12 03:27:59 +04:00
Ivan Savenko
c302efd315
Fix crash on accessing not yet created object
2022-12-12 00:04:46 +02:00
Ivan Savenko
ac839ad26a
Changes to rest of the code according to review:
...
- renamed status bar method clearMatching -> clearIfMatching
- renamed class ColorShifterAddMul -> ColorShifterMultiplyAndAdd
- fixed missing return from function
- fixed potential access to deleted object
2022-12-11 23:43:43 +02:00
Ivan Savenko
7f5e5259c8
Changes to Canvas class according to review:
...
- renamed CCanvas -> Canvas.cpp
- replaced shared_ptr<Canvas> with Canvas&
- removed getSurface method
2022-12-11 22:09:57 +02:00
Ivan Savenko
c855823528
Renamed files in client/battle to match new names of classes
2022-12-09 13:38:46 +02:00
Ivan Savenko
facf77b3ae
vstd::unique -> std::unique
2022-12-07 23:36:20 +02:00
Ivan Savenko
6f6d350228
Formatting cleanup
2022-11-28 16:43:38 +02:00
Ivan Savenko
9f21569a79
Next batch of siege fixes
2022-11-27 22:50:18 +02:00
Ivan Savenko
e76cd1b6a7
Bugfixing: fix crashes on battle start & most noticeable glitches
2022-11-27 02:26:02 +02:00
Ivan Savenko
0cae259f53
Most of rendering in BattleInt is done via canvas
...
- refactoring of CBattleStacksController.cpp
- moved EAlignment enum to Geometries.h from CIntObject
- renamed EAlignment to ETextAlignment, to avoid conflict with good/evil
alignemt
- ETextAlignment is now enum class
2022-11-26 23:12:20 +02:00
Ivan Savenko
4f91b062db
Refactoring of projectile controller
...
- projectiles now separated based on type
- each type has its own rendering method
- refactoring of CShootingAnimation
2022-11-25 16:32:23 +02:00
Ivan Savenko
abb553d975
Next step of code refactoring:
...
- refactoring of CBattleFieldController code (except for 2 arcane
methods)
- introduced class CCanvas for encapsulated rendering surface
- battleint rendering is now partially done with CCanvas
- removed unused includes of CBitmapHandler
2022-11-25 11:46:47 +02:00
Ivan Savenko
6b3beb05e5
BattleInt split is finished, start of refactoring:
...
- Refactoring of siege controller code
- Replaced some usages of C struct SDL_Surface with proper c++ class
IImage
- Refactoring of rendering of battlefield objects (WIP)
2022-11-25 00:26:14 +02:00
Ivan Savenko
7a6ad671ab
Separated battle control panel into new class, refactoring of
...
CGStatusBar to allow shared API with battle console
2022-11-18 17:54:10 +02:00
Ivan Savenko
48be492517
Fix parameter order in case of right-to-left lines, formatting
2022-11-16 12:28:07 +02:00
Ivan Savenko
6678a747bb
Implemented ray-like projectiles for shooters
...
- Added missing support for ray-like projectiles
- Archmages, Evil Eyes and Beholders now use ray for shooting
- New method to draw 1 pixel-wide line with color gradient at arbitrary
angle
- fixed incorrect attackClimaxFrame field for Archmages
2022-11-15 21:42:16 +02:00
Andrey Filipenkov
3ab21d8491
show loading indicator when starting local server
...
single player or hosting a multiplayer game
2022-09-24 15:55:25 +03:00
Andrey Filipenkov
e1c9903a45
extract iOS helpers into a shared lib
2022-09-24 15:55:24 +03:00
Andrey Filipenkov
ff635edc0b
wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
...
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
217c83a7e7
convert text input rect to screen coordinates
...
workarounds SDL bug related to moving window ensuring that the input is always above the native keyboard
kambala-decapitator/vcmi#31
2022-09-24 15:55:19 +03:00
Andrii Danylchenko
2b0f02c832
Merge pull request #944 from AgostonSzepessy/dev/agos/937
...
Add right click to Quick Recruit Window
2022-09-23 14:01:52 +03:00
Andrii Danylchenko
43a1a8b76d
Merge pull request #928 from kambala-decapitator/quick-recruit-no-creatures
...
show message instead of the Quick Recruit dialog when there're no creatures in town
2022-09-22 18:21:45 +03:00
Andrey Filipenkov
a1cf120ea6
add missing virtual destructors
2022-09-22 11:54:09 +03:00
Agoston Szepessy
411038195c
Add clickeable area on top of creature picture
...
A class that wraps an instance of `CIntObject` creates an area
that users can right click to view information about the creature
they're buying.
The constants were based off the existing ones in the code and were
refined by guessing and checking where clicking falls inside/outside
the border of the rectangle.
2022-09-18 22:53:11 -07:00
Andrey Filipenkov
a320af837d
fix includes in client subdirectories
2022-09-18 17:43:40 +03:00
Andrey Filipenkov
d7650ce9c0
use Conan to make macOS CI builds for both Intel and ARM ( #782 )
...
* [CI] append platform to output artifact name if it's given
2022-08-30 17:29:00 +03:00
Andrey Filipenkov
7150ee565a
[macOS] text input handling must be done on main thread
...
Xcode's Main Thread Checker warns about that
2022-08-03 12:09:49 +03:00
Andrii Danylchenko
2521e7bac9
Fix flickering in fullscreen
2022-06-13 16:11:53 +03:00