1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Commit Graph

158 Commits

Author SHA1 Message Date
Ivan Savenko
9fbeacb688 Fix possible memory corruption in video player
Fixes two bugs, one was definitely happening, and 2nd one that is causing
undefined behavior and may work only in some std implementations

- VideoPlayer would attempt to access subtitles widget after VideoPlayer
itself was destroyed in onPlaybackFinished call
- std::function was destroyed from a function that is being called by
it. Replaced with 1-method interface to avoid usage of std::function in
this scenario
2024-12-07 15:37:03 +00:00
Laserlicht
8808c9538c use video player for spellbook animation 2024-11-29 21:58:20 +01:00
Ivan Savenko
9492eab7c5 Finish encapsulation of PlayerLocalState class 2024-10-08 14:17:04 +00:00
Laserlicht
c6f0f8de03 generate assets only when necessary 2024-08-29 00:37:39 +02:00
Laserlicht
4704e92d98 adjust resource naming 2024-08-28 00:02:29 +02:00
Laserlicht
01e55beef1
Merge branch 'develop' into resource_generation 2024-08-20 20:26:52 +02:00
Laserlicht
fff0159ef6 resource generation 2024-08-19 23:18:14 +02:00
Ivan Savenko
000af42fcb Fix spellbook page flip scaling 2024-08-17 15:25:26 +00:00
Ivan Savenko
748a3a1b64 Fixed minimap generation when upscaled mode is used 2024-08-17 15:25:26 +00:00
Ivan Savenko
97f1a310df Fix miscellaneous issues discovered by Sonar 2024-08-12 18:26:30 +00:00
Ivan Savenko
9fba3d97f1 Renamed & unified OBJECT_CONSTRUCTION macro set 2024-08-09 15:30:04 +00:00
Laserlicht
136f33f950 quickspell improvements 2024-07-26 20:11:14 +02:00
Ivan Savenko
4533271692
Merge pull request #4312 from IvanSavenko/texthandler_split
Split CGeneralTextHandler file into 1 file per class form
2024-07-21 13:49:14 +03:00
Ivan Savenko
1aa391fdf8 Split CGeneralTextHandler file into 1 file per class form
All text processing code is now located in lib/texts.
No changes other than code being moved around and adjustment of includes

Moved without changes:
Languages.h           -> texts/Languages.h
MetaString.*          -> texts/MetaString.*
TextOperations.*      -> texts/TextOperations.*

Split into parts:
CGeneralTextHandler.* -> texts/CGeneralTextHandler.*
                      -> texts/CLegacyConfigParser.*
                      -> texts/TextLocalizationContainer.*
                      -> texts/TextIdentifier.h
2024-07-20 12:55:17 +00:00
Ivan Savenko
34204d5898
Merge pull request #4305 from Laserlicht/fix_search
fix search in quick spell spellbook
2024-07-20 12:50:43 +03:00
Laserlicht
598f1b0738 fix search in quick spell spellbook 2024-07-19 19:49:21 +02:00
Ivan Savenko
0d6ec0d224 Reviewed usage of EBlitMode, now specified clearly in all cases 2024-07-19 10:08:50 +00:00
Ivan Savenko
a1fb3b8b01 Reduce direct access to CAnimation, removed various caching schemes 2024-07-19 10:08:50 +00:00
Laserlicht
4415f645a7 lambda -> function; fix color 2024-07-17 18:07:45 +02:00
Laserlicht
f54b84ead9 use spellbook to select 2024-07-17 13:20:17 +02:00
Ivan Savenko
adc3441bda
Merge pull request #3998 from IvanSavenko/refactor_sdl_media
[1.6] Reorganize SDL sound/music/video handling
2024-05-31 12:02:55 +03:00
Ivan Savenko
7461df161c lib now uses shared_ptr for entities. Removed manual memory management. 2024-05-17 15:04:05 +00:00
Ivan Savenko
661a66121b Cleaned up IVideoPlayed API to remove global state 2024-05-15 17:05:17 +00:00
Ivan Savenko
d27b854cb1 Reorganized music, video and sound players:
- All XXXplayers are now in client/media directory
- Reogranized code on one class per file basis
- Extracted interfaces from handlers. Handlers now implement
corresponding interface.
- CCS now only stores pointer to an interface
2024-05-15 17:05:12 +00:00
Ivan Savenko
7790b8969d Simplify TextInput constructor 2024-05-15 12:45:45 +00:00
Ivan Savenko
1abe9007bc Moved CTextInput to a separate file. No changes in logic 2024-05-15 12:45:45 +00:00
Ivan Savenko
d53082e1c1 Block few more cases of access during another player turn in UI 2024-04-30 17:51:32 +03:00
Ivan Savenko
8353bca34f Small refactoring of adventure map spell casting:
- Removed duplicated checks for DD possibility
- Moved most of spell-specific code from AdventureMapInterface to library
code
- AdventureSpellMechanics class now provides methods to check whether
spellcast is possible, similarly to battle spells
- If it is not possible to cast adventure map spell (e.g. no mana or no
move points) game will show infowindow immediately on clicking spellbook
instead of on cast attempt
- If hero does not have movement points for a DD, game will show correct
error message
- Added game settings 'dimensionDoorFailureSpendsPoints' due to
discovered H3 logic
2024-04-10 20:04:08 +03:00
Ivan Savenko
af671d109f Made graphical primitive-based UI more configurable 2024-02-18 20:48:45 +02:00
Ivan Savenko
4c70abbeb5 Reduced usage of global variables - removed or made const / constexpr 2024-02-12 13:49:45 +02:00
Ivan Savenko
80fc2bb695 Merge remote-tracking branch 'vcmi/develop' into lobby 2024-02-03 21:11:34 +02:00
Alexander Wilms
70ce090bc4 CVideoHandler: Use EVideoType::INTRO and EVideoType::SPELLBOOK 2024-01-29 16:08:53 +01:00
Ivan Savenko
55b504792e Implemented basic version of login window and persistent connection on
client
2024-01-19 23:49:59 +02:00
Ivan Savenko
bd5682ecc3 Merge remote-tracking branch 'vcmi/master' into develop 2024-01-19 13:49:54 +02:00
Alexander Wilms
f3277b7953 Define each identifier in a dedicated statement 2024-01-10 00:22:23 +00:00
Laserlicht
9066dbcbd4
spellbook fix pages 2024-01-01 14:57:55 +01:00
Laserlicht
c6434c31fb
small fix 2023-12-20 20:34:57 +01:00
Laserlicht
1dd2a28760
small fix 2023-12-20 20:23:35 +01:00
Laserlicht
ed671fa2fa
big spellbook optimize 2023-12-20 20:16:23 +01:00
Laserlicht
77505af71b
remove removefoucs 2023-12-17 22:17:32 +01:00
Laserlicht
dfb10bdfcb
search rectangle 2023-12-08 22:52:34 +01:00
Laserlicht
95ff89f622 search spells 2023-12-08 22:46:05 +01:00
Ivan Savenko
0fd966818f Remove 'visible' property from images, replaced with enable/disabled
call
2023-12-07 13:57:16 +02:00
Ivan Savenko
55ad903ffb
Merge pull request #3231 from dydzio0614/large-spellbook-setting
Split large spellbook from UI enhancements setting
2023-12-02 12:13:06 +02:00
Dydzio
fc035b1b55 Change large spellbook config section to gameTweaks 2023-11-28 22:30:50 +01:00
Ivan Savenko
d5f8db2222 Fixed undefined behavior on accessing array with -1 index 2023-11-27 14:09:08 +02:00
Dydzio
a4d76b2529 Split large spellbook from UI enhancements setting 2023-11-26 19:16:53 +01:00
Ivan Savenko
52050d0ef1 Fix build 2023-11-15 15:55:19 +02:00
Ivan Savenko
10e50548e7 Converted Component class to use VariantIdentifier instead of int 2023-11-02 12:00:04 +02:00
Johannes Schauer Marin Rodrigues
a1a5bc28c2
convert line endings from CRLF (Windows) to LF (Linux/Unix)
Mixed line endings cause problems when exporting patches with
git-format-patch and then trying to "git am" a patch with mixed and
non-matching line endings. In such a situation git will fail to apply
the patch.

This commit runs the dos2unix tools on the remaining files with CRLF
(\r\n) line endings to convert them to line-feeds (\n) only.

Files that are Windows specific like *.vcxproj and *.props files were
not converted.

Closes: #3073
2023-10-19 16:23:21 +02:00