Ivan Savenko
554a414302
Fix remaining memory leaks caused by API misuse
2025-04-29 12:11:10 +03:00
Ivan Savenko
975d9aedc9
Merge branch 'vcmi/beta' into 'vcmi/develop'
2025-04-13 18:53:54 +03:00
Ivan Savenko
8a0fed7b3a
Temporarily(?) use weak_ptr to reduce ram usage increase during long
...
game sessions
2025-03-26 15:37:38 +00:00
Ivan Savenko
9da598dcaf
Fix possible crash on accessing content rect with nullptr surface
2025-03-26 15:37:38 +00:00
Ivan Savenko
6877bbfe3a
Fix issues found by Valgrind
2025-03-12 15:56:52 +00:00
Ivan Savenko
96d691b40c
Fix crash on closing game during background image upscaling
2025-03-12 14:18:44 +00:00
Ivan Savenko
8f074490a7
Merge branch 'master' into 'develop'
2025-02-27 21:15:42 +00:00
Ivan Savenko
d772521d59
Merge pull request #5460 from Laserlicht/setting
...
[1.6.7?] Add settings
2025-02-25 16:49:48 +02:00
Ivan Savenko
1bc7c13204
Possible fix for crash on attempt to free sdl surface in worked thread
2025-02-22 17:16:18 +00:00
Laserlicht
3627731041
(config only) setting to disable async upscaling
2025-02-21 21:59:00 +01:00
Ivan Savenko
cacceda950
Renamed CGuiHandler to GameEngine
...
- class CGuiHandler is now called GameEngine to better describe its
functionality
- renamed global GH to more clear ENGINE
- GH/ENGINE is now unique_ptr to make construction / deconstruction
order more clear and to allow interface / implementation split
- CGuiHandler.cpp/h is now called GameEngine.cpp/h and located in root
directory of client dir
2025-02-21 16:53:13 +00:00
Ivan Savenko
f7f94bb7dc
Remove old code
2025-02-10 21:08:30 +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
a4052d0cf4
Fix corrupted display of H3 fonts when xbrz is in use
2025-01-26 11:18:21 +00:00
Ivan Savenko
c3fb76b56f
Offloaded xbrz upscaling to background threads
2025-01-21 21:15:21 +00:00
Ivan Savenko
391986e0ba
Moved image scaling & optimization logic to separate classes
2025-01-21 21:15:21 +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
698d43e195
Fix crash on attempt to flip empty image
2025-01-01 21:00:43 +00:00
Ivan Savenko
8bf5c474d6
Merge pull request #5160 from Laserlicht/alt_town
...
[1.6.2] show building names with ALT
2024-12-30 21:52:32 +02:00
Laserlicht
3beb78104e
fix margin (hd texture)
2024-12-26 15:05:30 +01:00
Laserlicht
eb319fc15e
show building names with ALT
2024-12-26 14:22:12 +01:00
Ivan Savenko
4e30af287e
Merge pull request #5090 from Laserlicht/fix_prescale
...
fix margin if image prescaled and not equal to current scaling
2024-12-15 13:29:54 +02:00
Laserlicht
d232b7b46b
fix margin if image prescaled and not equal to current scaling
2024-12-15 04:44:08 +01:00
Ivan Savenko
0842ada1c7
Quick fix for xbrz scaling artifacts on window borders
2024-12-10 14:20:55 +00:00
Ivan Savenko
aef6b0cc00
Fix several new issues detected by SonarCloud
2024-11-20 16:06:38 +00:00
Ivan Savenko
931017f58b
Fix bugs caused by image optimization procedure
2024-11-18 10:19:48 +00:00
Ivan Savenko
29c040fa69
Try to crop borders for images that are not from pre-optimized def
2024-11-17 20:41:12 +00:00
Ivan Savenko
251155d913
More robust management of body/shadow/overlay split
2024-11-17 17:54:55 +00:00
Ivan Savenko
7f0cb6ce6a
ISharedImage is now always const, remove creation of image copy when
...
upscaling to same factor
2024-11-16 15:40:05 +00:00
Laserlicht
a6c985c4f5
code review
2024-11-13 23:10:41 +01:00
Laserlicht
1f7cec3ae3
missing prescalefactor
2024-11-08 00:09:17 +01:00
Laserlicht
bcdef11093
rename variable
2024-11-07 02:32:06 +01:00
Laserlicht
11b437db62
prescaled image support
2024-11-03 20:27:11 +01:00
Ivan Savenko
b5bacb5c09
Fix creatures with non-cyan background in battle when xbrz is not in use
2024-09-17 14:48:28 +00:00
Ivan Savenko
626c34a105
Fix colorization of Fortress and Inferno adventure map image from hota
2024-09-13 12:45:51 +00:00
Ivan Savenko
4abd96dba4
Add debug code to save every loaded image to a file
2024-09-13 12:26:31 +00:00
Ivan Savenko
915533ed2e
Implemented generation of player-colored version of DiBoxBck
2024-09-12 21:22:41 +00:00
Ivan Savenko
e035ae8b48
Fixed crash on attempt to upscale nonexisting image
2024-09-03 09:22:40 +00:00
Ivan Savenko
35467039a7
Bitmap fonts now use nearest neighbour scaling instead of xbrz
2024-09-02 21:31:01 +00:00
Ivan Savenko
0bbc2bce33
Fix handling of transparency in xbrz and in images with non-cyan
...
transparent color in unscaled mode
2024-08-27 19:44:11 +00:00
Ivan Savenko
b3158c52ba
Fixes for Sonar issues
2024-08-17 20:54:29 +00:00
Ivan Savenko
fb3147fbda
Do not initialize shadow on images that don't have shadow palette
2024-08-17 19:11:10 +00:00
Ivan Savenko
f29a687234
Clean up scaling code, implemented image size optimization
2024-08-17 15:25:26 +00:00
Ivan Savenko
ffba847f40
xBRZ-upscaled images now support common palette-transform effects:
...
- Player coloring
- Flag color for map
- Glue selection for combat
2024-08-17 15:25:26 +00:00
Ivan Savenko
502f47c6b5
Rename IConstImage to more clear ISharedImage
2024-08-17 15:25:26 +00:00
Ivan Savenko
e862b9c868
Fix crash on opening creature window with bonuses that don't have icon
2024-07-19 19:37:22 +00:00
Ivan Savenko
b256919dab
Implemented per-surface alpha for images that have palettes with alpha
2024-07-19 12:03:29 +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
73e052b1d0
Fix merge
2024-07-19 10:08:50 +00:00