Ivan Savenko
10ad0fc760
Split CHeroHandler.cpp/.h into 1 file per class
...
All parts of CHeroHandler.cpp are now in lib/entities/hero
Adjusted includes to use new paths
No functionality changes
2024-10-13 14:01:09 +00:00
Laserlicht
afb90c076d
better UI
2024-09-28 02:34:18 +02:00
Ivan Savenko
248cff49a4
Moved fonts handling from Graphics to RenderHandler class
2024-09-23 15:43:11 +00:00
Ivan Savenko
3d39963a1c
Merge branch 'master' into 'develop'
2024-08-26 14:01:00 +00:00
Ivan Savenko
475a20124f
Fix crash on right-clicking spell component in some dialogs
2024-08-21 18:19:31 +00:00
Ivan Savenko
9fba3d97f1
Renamed & unified OBJECT_CONSTRUCTION macro set
2024-08-09 15:30:04 +00:00
Ivan Savenko
00605b5129
Remove largely unused defActions member from CIntObject
2024-08-09 14:26:53 +00:00
Ivan Savenko
b7391f49f6
Merge branch 'vcmi/master' into 'vcmi/develop'
2024-08-05 10:36:10 +00:00
Ivan Savenko
74fea5109b
Show non-learnable spells from rewardable object as greyed-out
2024-07-29 17:13:31 +00:00
Ivan Savenko
4aa73b40c9
Split CTownHandler into smaller chunks
2024-07-21 18:21:48 +00: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
7461df161c
lib now uses shared_ptr for entities. Removed manual memory management.
2024-05-17 15:04:05 +00:00
Ivan Savenko
64d6e48540
Fixed mouse double-click handling in some widgets.
...
Now double-click when 1st click was not inside widget should work as
expected:
- scenario list: 2nd click on non-selected scenario will select it
instead of starting unselected map
- component selection: 2nd click on non-selected component would select
it instead of confirming choice
- town portal dialog: 2nd click on non-selected town would only select
it
- tavern window: right-click would now also select this hero (h3 logic)
2024-05-10 16:05:59 +00:00
Ivan Savenko
01c2814d35
Merge pull request #3821 from SoundSSGood/CWindowWithArtifacts-refactoring
...
CWindowWithArtifacts refactoring
2024-04-26 11:58:38 +03:00
Ivan Savenko
1dc962804e
Fixed possible crash on having selectable reward with no visual image
2024-04-25 14:04:45 +03:00
SoundSSGood
25d2b468c3
CWindowWithArtifacts preparations
2024-04-23 16:06:58 +03:00
Ivan Savenko
99cb1df91d
Fixes for positioning on popups with components
2024-02-27 13:15:16 +02:00
Ivan Savenko
ec159f2fdd
Fixed bad line breaks in starting faction description popup
2024-02-26 22:04:02 +02:00
Ivan Savenko
056ef00f74
Bugfixing
2023-11-02 13:52:58 +02:00
Ivan Savenko
10e50548e7
Converted Component class to use VariantIdentifier instead of int
2023-11-02 12:00:04 +02:00
Ivan Savenko
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
Laserlicht
fa9d5e9971
show missing resources
2023-10-09 21:43:43 +02:00
Ivan Savenko
037efdf5fc
Improvements to type safety of Identifier class
...
- Constructor of Identifier from integer is now explicit
- Lobby hero/town selection now uses Identifiers instead of int's
- Removed serialization workaround for hero portraits
- Added dummy objects for custom heroes portraits for ID resolver to use
- HeroInstance now stores portrait ID only in case of custom portrait
- Fixed loading of campaign heroes portraits on RoE maps
2023-10-04 18:05:23 +03:00
Laserlicht
03316c62bf
Easy choosing for a secondary skill in Level Up Dialog by double clicking it
2023-09-15 15:24:17 +02:00
Ivan Savenko
823ffa7a07
Always use ResourcePath for referencing images and animations
2023-09-04 18:22:34 +03: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
9ef959a7f8
Merge pull request #2310 from IvanSavenko/left_click_refactor
...
Left click input refactor
2023-07-13 13:03:06 +03:00
Ivan Savenko
9acab48bc3
Merge pull request #2268 from SoundSSGood/CArtifactInstance-rework
...
CArtifact CArtifactInstance refactoring
2023-07-11 14:36:08 +03:00
Ivan Savenko
ca889a5c2a
Replaced clickLeft with clickPressed clickReleased methods
2023-07-08 14:33:04 +03:00
Ivan Savenko
8b61c0d59b
Replaced CIntObject::type bitfield with bool's. Added input blocking.
2023-07-03 19:24:12 +03:00
SoundSSGood
d44821e733
CArtifactInstance moved to own file
2023-06-30 19:41:19 +03:00
SoundSSGood
f8023ad283
CScrollArtifactInstance
2023-06-30 19:41:04 +03:00
Ivan Savenko
563d7dd41f
Renamed RCLICK -> SHOW_POPUP
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
1e9eea30e1
Merge remote-tracking branch 'soundsgood/CArtHandler-rework' into develop
2023-06-05 18:53:17 +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
SoundSSGood
021f94a579
artifact utils
2023-05-17 17:00:31 +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
SoundSSGood
9a838598a6
arts refactoring part1
2023-04-15 00:10:39 +03:00
Konstantin
bf67784840
vcmi: correctly show spells from SpellInt.def
2023-03-11 21:41:57 +03:00
Konstantin
de211e9f13
vcmi: all notifications now shows inside the infobar properly
...
No more dangling images or text.
2023-03-11 21:41:57 +03:00
Konstantin
bc228a938a
vcmi: use enum class for EComponentType
...
There is really no reason not to use it
2023-03-11 21:41:57 +03:00
Konstantin
2bd74e5c67
vcmi: use small icons for medium components
...
It makes more sense due to current UI implementation. It is better
to have icon smaller than have icons overlap
2023-03-11 21:41:57 +03:00
Konstantin
1ca89c8492
vcmi: implement splitting by ID in infobar
...
This will get a much better result than naive sorting
2023-03-11 21:41:57 +03:00
Konstantin
8a05f5bed7
vcmi: allow set font size on component
...
Now it is possible to set arbitrary font size
for CComponent. So, let's use it
2023-03-11 21:41:57 +03:00
Konstantin
da8840c499
CComponent: do not always assume 80 for text
2023-03-11 21:41:57 +03:00
Konstantin
4617ce10e5
vcmi: allow showing more than one components in infobar
...
Up to 8, AFAIK. So, we can show multi-reward in infobox now.
One issue remain - cannot dynamically choose components size
based on text size.
2023-03-11 21:41:57 +03:00
Konstantin
5366f9190e
vcmi: reduce boost::lexical_cast usage
2023-03-09 16:36:46 +03:00
Ivan Savenko
f8c1c46562
removed CAdvMapInt::handleRightClick method
2023-02-14 11:18:41 +02:00