1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-21 21:17:49 +02:00

78 Commits

Author SHA1 Message Date
Ivan Savenko
e4a719fb7e Fix corrupted pixels on town building animations in mods 2025-02-25 15:28:45 +00:00
Ivan Savenko
05e8542a79 Fix corrupted image of university 2025-02-20 13:09:38 +00:00
Ivan Savenko
38bb5a76e6 Handle flag color overlay and creature selection overlay separately
Fixes handling of Iron Golem animation from HotA
2025-02-03 11:44:21 +00:00
Ivan Savenko
cca4c0888c In-memory assets generation
All assets generation (large spellbook, terrain animations, etc) are now
done in memory and used as it, without saving to disk.

This should slightly improve load times since there is no encode png /
decode png, and should help with avoiding strange bug when vcmi fails to
load recently saved assets.

If needed, such assets can be force-dumped on disk using already
existing console command
2025-01-30 22:21:38 +00:00
Ivan Savenko
668bf63fc0 Remove access to internal surface of Canvas 2025-01-21 21:15:21 +00:00
Ivan Savenko
4a600a9d4c Reworked image container classes for easier support of new features 2025-01-21 21:15:21 +00:00
Ivan Savenko
91940dbfc6 Do not show selection highlight on creature preview images 2024-11-17 20:40:38 +00:00
Ivan Savenko
251155d913 More robust management of body/shadow/overlay split 2024-11-17 17:54:55 +00:00
Ivan Savenko
915533ed2e Implemented generation of player-colored version of DiBoxBck 2024-09-12 21:22:41 +00:00
Laserlicht
01c14ae9ce
Merge branch 'develop' into extended_statistic 2024-08-20 20:25:16 +02:00
Ivan Savenko
f29a687234 Clean up scaling code, implemented image size optimization 2024-08-17 15:25:26 +00:00
Laserlicht
00692888df sonar cloud fixes 2024-08-15 23:09:04 +02:00
Laserlicht
5743f151a1 icon drawing 2024-08-15 00:21:02 +02:00
Ivan Savenko
97f1a310df Fix miscellaneous issues discovered by Sonar 2024-08-12 18:26:30 +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
c40eea6e10 Fix fade-in animation - per-surface alpha was not set correctly 2024-07-19 10:46:20 +00:00
Ivan Savenko
0d6ec0d224 Reviewed usage of EBlitMode, now specified clearly in all cases 2024-07-19 10:08:50 +00:00
Ivan Savenko
230add02e4 Remove no longer used code 2024-07-19 10:08:50 +00:00
Ivan Savenko
0e407540ec Fixed player-coloring on adventure map 2024-07-19 10:08:50 +00:00
Ivan Savenko
920a39844b Unified naming of method to recolor UI element to current player scheme 2024-07-19 10:08:50 +00:00
Ivan Savenko
a8a330f39f Remove unused code and no longer needed caching 2024-07-19 10:08:50 +00:00
Ivan Savenko
47de9a62dc Created separate classes for shared, unchangeable image and image
manipulators owned by UI elements
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
Ivan Savenko
56f1725234 All images are now loaded via RenderHandler class 2024-07-19 10:08:50 +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
c92a5bbbab Attempt to track crashes with unclear cause 2024-05-14 09:44:40 +00:00
Ivan Savenko
7d93206786 Use cache for CAnimImage. Improves performance of CAnimImage 2024-04-20 12:28:50 +03:00
Ivan Savenko
0fd966818f Remove 'visible' property from images, replaced with enable/disabled
call
2023-12-07 13:57:16 +02:00
Alexander Wilms
466cdb9d2b client/widgetsImages.{h,cpp}: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') 2023-10-29 13:34:19 +00:00
SoundSSGood
068a7d5d4a crash fixed 2023-10-20 01:11:10 +03:00
Ivan Savenko
1d0e696db6 Added RenderHandler that acts as factory for images and animations 2023-09-04 18:22:34 +03:00
Ivan Savenko
823ffa7a07 Always use ResourcePath for referencing images and animations 2023-09-04 18:22:34 +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
fa496628f2 Separated timer updates from rendering in adventure map and town screen 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
b2233b8ced Attempt to improve coloring of resource bar texture-fill 2023-05-09 13:10:33 +03:00
Ivan Savenko
7228b08d1d Implemeted runtime generation of player-colored background texture 2023-05-09 13:10:33 +03:00
Ivan Savenko
d4098059b8 Proper support for player-colored buttons in UI 2023-05-09 13:10:33 +03:00
Ivan Savenko
4958190e82 Fixed visibility of corner gems 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
Konstantin
7a5775a9f9 vcmi: use std::optional 2023-04-17 00:43:13 +03:00
Konstantin
40222e3f77 vcmi: fix week animation 2023-03-13 01:22:19 +03:00
Ivan Savenko
108a42e4ba Reorganized includes for new layout. New class - IImageLoader 2023-02-01 20:42:06 +02:00
Ivan Savenko
0ba74fea73
Merge pull request from IvanSavenko/time_based_animations
Time based animations
2023-02-01 12:25:54 +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
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
e35a669eeb Refactoring of CPicture class to improve encapsulation 2023-01-30 13:58:13 +02:00
Ivan Savenko
3acee297be CShowableAnim is now time-based with timing matching H3 2023-01-28 13:19:35 +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