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

45 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
Laserlicht
fff0159ef6 resource generation 2024-08-19 23:18:14 +02:00
Ivan Savenko
97f1a310df Fix miscellaneous issues discovered by Sonar 2024-08-12 18:26:30 +00:00
Laserlicht
136f33f950 quickspell improvements 2024-07-26 20:11:14 +02:00
Ivan Savenko
a1fb3b8b01 Reduce direct access to CAnimation, removed various caching schemes 2024-07-19 10:08:50 +00:00
Laserlicht
f54b84ead9 use spellbook to select 2024-07-17 13:20:17 +02: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
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
Laserlicht
7cf654992f
code review 2023-09-25 16:34:36 +02:00
Laserlicht
28f4046937
ready 2023-09-25 01:04:06 +02:00
Laserlicht
3e4a5b7d80
border and variable 2023-09-25 00:31:32 +02:00
Laserlicht
a6b68be2df
offsets 2023-09-24 23:50:50 +02:00
Laserlicht
8b5c9db21b
basic offset 2023-09-24 23:15:09 +02:00
Laserlicht
240d291de9
big spellbook 2023-09-24 22:24:51 +02: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
18db944083 Replaced clickReleased with clickPressed where applicable in H3 2023-07-09 17:48:25 +03:00
Ivan Savenko
ca889a5c2a Replaced clickLeft with clickPressed clickReleased methods 2023-07-08 14:33:04 +03:00
Ivan Savenko
d4aa778547 Replaced clickRight event with showPopupWindow/closePopupWindow 2023-06-20 19:58:05 +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
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
cfcaf5cbb6 renamed keyDown -> keyPressed 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
9c3030603d Removed most SDL includes from headers, removed SDL int's 2023-01-30 19:55:32 +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
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
Alexander Shishkin
5c09f751b3 Gui cleanup3 - UI refactoring to use smart pointers (#440)
* Changed most gui classes to use shared pointers
* Store and use IImage as shared_ptr
* CSpellWindow redesign
* AdventureMapClasses cleanup
* CLabel: store background as smart pointer
* Store CObjectList items as smart pointers
* Removed destroy function of list item
* Store toggle buttons as smart pointers
* Use CComponent as smart pointer
* Attempt to fix artifact merchant drawing
2018-04-07 18:34:11 +07:00
Arseniy Shestakov
2da3d8a563 Code style: remove senseless comments 2017-07-18 00:04:00 +03:00
Arseniy Shestakov
f1e5797834 Code style: move or add licensing information on top of every file 2017-07-14 01:26:03 +03:00
AlexVinS
345dd913f6 use CLabel in SpellArea 2016-10-17 05:05:48 +03:00
AlexVinS
e3ee51a28f Use label object for mana 2016-10-17 04:05:33 +03:00
AlexVinS
ba5b65ff93 get rid of CDefHandler in CSpellWindow 2016-10-16 15:27:35 +03:00
AlexVinS
2a6bab119b Use CAnimImage for SpellArea 2016-10-16 13:22:07 +03:00
AlexVinS
3a52a3c663 Allow CAnimImage to share animation object. 2016-10-16 12:58:18 +03:00
AlexVinS
a0300b0447 CSpellWindow widgets capturing 2016-10-16 12:01:18 +03:00
AlexVinS
e1f9b2c74a SpellArea tweak 2016-10-16 10:43:49 +03:00
AlexVinS
2eb61533fa use only CSpell in CSpellWindow 2016-10-16 10:32:12 +03:00
AlexVinS
63cbf960df cleaned up spell window creation 2016-10-16 09:27:22 +03:00
AlexVinS
415bd8247a Moved SpellbookInteractiveArea into CSpellWindow class 2016-10-16 09:17:23 +03:00
AlexVinS
c4b72342de CSpellWindow: improved constructor readability 2016-10-16 09:03:13 +03:00
AlexVinS
66ca4bc0c2 TOWN_PORTAL callback is too specific to ba part on spellwindow class 2015-02-26 08:39:46 +03:00
Ivan Savenko
731aedf3a1 Split CIntObjectClasses into multiple smaller files. This should be the last change in files 2014-07-15 10:14:49 +03:00
Ivan Savenko
2a0a0e81a7 Cleaning up includes 2014-07-14 17:19:44 +03:00
Ivan Savenko
647b9c683f Reorganized client source tree:
- client/widgets for reusable GUI elements
- client/windows for independent windows
- client/gui for base GUI classes which should remain internal
2014-07-13 20:53:37 +03:00