Commit Graph
38 Commits
Author SHA1 Message Date
Nikola Antonić 0f2ace45ed [Trainers] re-add support for trainers (#191) 2025-08-08 03:15:41 +02:00
antonic901 02c9bcc3f4 [Leia] [d447f86] remove BusyDialog from filesystem - including 15ff73e, 068c6df, 6afb499 2025-05-24 00:59:25 +02:00
antonic901 b721ac51be [Insignia Service] added: integration with Insignia Live website API 2025-01-27 00:39:22 +01:00
antonic901 eb6df78dc3 [GUIWindowPrograms] re-added support for launching XBE executables and scanning content 2024-09-06 00:00:24 +02:00
Nikola Antonić 21ece3114a [Settings] bring up settings lib to Kodi Krypton (#169) 2024-08-20 15:35:25 +02:00
Nikola Antonić 55c3151b06 [Kodi Krypton] backport libraries and Addons Framework from Kodi v17 (#164) 2024-07-15 17:12:44 +02:00
antonic901 f70aa6c740 [76f2a71] [gui] refactors modality handling for dialogs 2024-06-06 12:20:16 +02:00
antonic901 f751a5b86c [CGUIListItem] updated to match Kodi Krypton 2024-06-06 12:20:15 +02:00
antonic901 09a76119fc [CGUIMessage] updated to match Kodi Krypton - including parts of b959abf, 6b8a677, 207a5a1 2024-06-06 12:20:15 +02:00
antonic901 6a28d05ec4 [StringUtils] merge StringUtils and StringUtils2 classes 2024-06-06 12:20:06 +02:00
antonic901 431e20fdad [3b56362] [Cosmetic] Remove AddFileToFolder version without return value 2024-06-06 12:20:03 +02:00
antonic901 24ebf92a15 [CStdString] Faster substring comparisons - based on 621565a, ff2d98b
There were nearly 200 places in the code where testing for a substring was
being performed using a construct of the form
  CStdString::Left(len).Equals("string")
or the related CStdString methods Mid or Right. These are bad for performance
because they involve allocating a heap block for the duration of the
expression evaluation, for the purpose of holding the substring, and then
freeing it again.

These would need replacing anyway because CStdString is being phased out
(PR #3225), and there is also the maintainability issue that developers need
to keep the string lengths in step with the string literals. This latter
point is also true of a number of instances in the code of
  std::string::compare(0, len, "string") == 0

Now that the StartsWith() and EndsWith() methods in StringUtils have been
made more efficient, it is worth replacing both the above constructs with
such calls. This patch does so, using the case-sensitive versions where
std::string::compare was used, where the bUseCase parameter was specified
true in Equals() calls, or where the string literal passed to Equals()
contained no alphabetic characters. For the sake of compatibility, the
remaining calls have been left using the case-insensitive versions ("NoCase"
suffix to the method name), although these may be worth reviewing on a
case-by-case basis.

The majority of the changes here were achieved using a sophisticated search
and replace, which will hopefully minimise any bugs introduced in the
conversion.

This patch is expected to have wide-reaching performance benefits. One
benchmark (that can't pretend to exercise all ~200 improvements) is the time
to open the songs library: on a Raspberry Pi, this patch improves this time
by 12% (down from 13% for a previous version of this patch that also reduced
the number of calls to tolower()).
2024-06-06 12:20:03 +02:00
antonic901 39879c15fc [9e11a1d] changed: set label2 in program window to add-on version where relevant - and moved XBOX related code to #ifdef based on d283f34 2024-06-06 12:20:03 +02:00
antonic901 42e01ea3cc [fbd42f6] Updates/fixes/improvements to music library 2024-06-06 12:20:02 +02:00
antonic901 4d5b53d8d9 [2b4209e] Thumb loader refactor 2024-04-24 23:57:42 +02:00
Nikola Antonić 598244c00d Poster banner support for video art #1575 (#150) 2024-04-19 09:59:44 +02:00
Nikola Antonić 4d5aea8d2d added: Texture caching and separate database for texture caching (#144) 2024-04-06 17:37:34 +02:00
antonic901 463f0a7edb [b1304bb] Fixed potential overflows plus correct use of the system clock.
- finally get rid of timeGetTime() and GetTickCount() in main codebase
- there is couple of places which are still using GetTickCount() because they are tied to some hardware studff (joystick, input, lcd etc.)
2024-03-11 19:55:58 +01:00
Nikola Antonić 1bfde131dd Refacor of our GUI Keyboard for allowing native onscreen keyboards #1194 (#135) 2024-03-08 01:39:18 +01:00
Nikola Antonić 15bc6521d2 Use CURL in IDirectory et. al. #4872 (#133) 2024-03-02 12:12:17 +01:00
Nikola Antonić fc2bf3a3d9 Settings refactor #2660 (#127) 2024-02-20 22:38:41 +01:00
Nikola Antonić 3a8e453c73 Settings: Settings refactoring (#121) 2024-02-04 15:52:42 +01:00
antonic901 302df92d21 changed: FileSystem -> filesystem 2023-11-17 23:52:57 +01:00
Nikola Antonić 8419fb33ea Addons: Implementation of Addons Manager (#110) 2023-11-14 20:56:48 +01:00
Nikola Antonić 2f6f4ffacd Switch library:// URLs to 'real' URLs on fetch, rather than list #3529 (#103) 2023-09-13 23:46:03 +02:00