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