Commit Graph
70 Commits
Author SHA1 Message Date
Ivan Savenko 4b57a168d5 Fix reliability issues from Sonar 2026-06-19 12:50:53 +03:00
Boris Nagaev 38bfd1c7e5 Fix broken relative local include paths
Many quoted local includes had an incorrect ../ depth and resolved to
non-existent files from the including file's directory.

This was easy to miss because normal target include directories and PCH
usage masked some failures, and several stale paths lived in files that
are only compiled in optional test configurations. As a result, the
problem mostly surfaced in stricter or broader fresh builds.

Audit all C++ and header local includes, keep them relative, and adjust
paths so each include resolves to an existing in-tree header. For
headers that were renamed or moved, update includes to their current
relative location instead of switching to include-root form.

A few legacy ERM tests also used dynamic_ptr_cast at call sites where we
had to replace stale headers. The helper/header path they relied on is
no longer present after 81af66d35b, so
those downcasts are now explicit dynamic_cast calls with the same intent.
2026-03-26 20:14:59 -05:00
Ivan Savenko f6e7960a3c Fix possible crash on shutdown 2026-02-22 14:50:01 +02:00
Andrey Filipenkov 5028af75cf [conan] migrate to v2 2025-08-28 16:05:10 +03:00
Ivan Savenko 2e42d6dd9f Fix playback of looped sounds 2025-06-21 13:38:33 +03:00
Ivan Savenko 3aa2771e92 Fix crash on playing spellbook pageflip video
Was reported on Discord.
- Fixes corrupted name of spellbook page flip video
- Fixes possible crash on deleting invalid video instance
2025-05-15 17:55:17 +03:00
Ivan Savenko 04ba017198 Deallocate sound chunk immediately on end of playback 2025-04-29 13:17:21 +03:00
Ivan Savenko 554a414302 Fix remaining memory leaks caused by API misuse 2025-04-29 12:11:10 +03:00
Ivan Savenko e567e1b820 Fix possible memory leaks in sound handler, simplify API 2025-04-29 12:11:10 +03:00
Ivan Savenko 6877bbfe3a Fix issues found by Valgrind 2025-03-12 15:56:52 +00:00
Ivan Savenko 6855b895a0 Fix possible crashes on audio shutdown 2025-03-12 13:33:12 +00:00
Ivan Savenko 8204990fa6 Fix crashes on app shutdown 2025-03-12 13:33:12 +00:00
Laserlicht 7dfb499edf replace boost locks with std 2025-02-28 15:25:58 +01:00
Ivan Savenko 645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
Ivan Savenko ffd37a8fa8 Removed CGI in favor of VLC. Map handle is for now global variable 2025-02-21 16:53:14 +00:00
Ivan Savenko f657e85305 Integrated CClientState into GameEngine class 2025-02-21 16:53:14 +00: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
Andrey Filipenkov 586cb65adc use Mix_Music from SDL_Mixer directly 2025-02-10 15:01:51 +03:00
Ivan Savenko 8d78bb1a82 Merge pull request #5337 from IvanSavenko/ffmpeg_explicit
[1.6?] Explicit toggle for ffmpeg video player compilation
2025-01-29 12:01:35 +02:00
Ivan Savenko bc524c60d7 Explicit toggle for ffmpeg video player compilation 2025-01-27 15:38:50 +00:00
Ivan Savenko 668bf63fc0 Remove access to internal surface of Canvas 2025-01-21 21:15:21 +00:00
Ivan Savenko ed2825d4f2 Fix possible crash on corrupted video file 2025-01-07 15:05:25 +00:00
Laserlicht 2abfaa0853 fix tutorial video 2024-12-07 17:14:45 +01:00
Laserlicht 8808c9538c use video player for spellbook animation 2024-11-29 21:58:20 +01:00
Ivan Savenko 11d9ee310e Merge pull request #4785 from Laserlicht/subtitles
Subtitles for videos / sync
2024-11-06 21:56:43 +02:00
Laserlicht bb73a35412 code review + pause handling 2024-10-30 00:35:50 +01:00
Laserlicht 1df1177506 fix for defect mp3 2024-10-19 13:45:20 +02:00
Laserlicht a68522b370 fix 2024-10-18 14:37:18 +02:00
Laserlicht 0f41361873 fix edge case 2024-10-18 14:33:29 +02:00
Laserlicht f0b7d007a0 video: use global timer; implement frameskip 2024-10-18 10:36:52 +02:00
Laserlicht 4d46a2084d basic subtitle rendering 2024-10-16 02:36:26 +02:00
Ivan Savenko 94a0de716a Merge pull request #4772 from Laserlicht/mixer_audio_duration
fix: use sdl mixer to get audio duration
2024-10-14 21:51:49 +03:00
Laserlicht 3f59942b04 code review 2024-10-14 19:28:38 +02:00
Laserlicht d43997f5ba use sdl mixer to get audio duration 2024-10-13 21:08:43 +02:00
Ivan Savenko a8e84c55f6 Fix some of the new warnings from sonarcloud 2024-10-11 10:45:29 +00:00
Ivan Savenko 9977092cf4 Loading separate audio file in place of audio stream embedded in video 2024-10-07 20:05:45 +00:00
Ivan Savenko e497a51373 Use swresample (part of FFmpeg) to de-planarize audio into format that
can be consumed by SDL
2024-10-01 15:38:15 +00:00
Laserlicht e963550431 fix and no shadow 2024-09-13 00:03:25 +02:00
Laserlicht 8fc3fe3cc3 scaling 2024-09-12 23:06:33 +02:00
Laserlicht 822fa61bf2 intro rework 2024-09-12 22:28:45 +02:00
Ivan Savenko ff33fbd3a0 Merge pull request #4480 from IvanSavenko/update_prebuilts
Update ffmpeg
2024-08-21 15:57:50 +03:00
Ivan Savenko 50a4e3213d Fix ffmpeg deprecation 2024-08-20 19:23:55 +00:00
Ivan Savenko 000af42fcb Fix spellbook page flip scaling 2024-08-17 15:25:26 +00:00
Ivan Savenko f75a25e369 Fix positioning & scale of video files 2024-08-17 15:25:26 +00:00
Ivan Savenko 7f5cd8a7aa newSurface method now accepts Point instead of two integers 2024-08-17 15:25:25 +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 d55c4e3973 Merge pull request #4275 from IvanSavenko/music_modding
Additional options for music modding
2024-07-18 21:28:04 +03:00
Ivan Savenko becd13e03d Fix page flip animation playback 2024-07-17 11:57:03 +00:00
Ivan Savenko e4be4c3061 Fix playback of 8-bit audio found in h3intro.smk in some version not
from gog.com
2024-07-16 12:49:24 +00:00