Commit graph

1812 commits

Author SHA1 Message Date
Leon Styhre 8a60bf0877 Fixed an issue where the navigation sounds were loaded multiple times on application startup. 2023-02-11 12:46:59 +01:00
Leon Styhre 3cb0b6a644 Added the ability to set the scraper retry count and timer settings from the user interface. 2023-02-11 12:32:51 +01:00
Leon Styhre 4dc4b9ef02 Made some improvements to the layout when running on a vertically oriented screen. 2023-02-10 17:29:48 +01:00
Leon Styhre e663a717f0 Added support to the scraper for automatically retrying on errors. 2023-02-10 17:24:50 +01:00
Leon Styhre c1044c0b3c Worked around an issue where some menu clipping boxes were not calculated correctly.
Also cleaned up some code.
2023-02-10 00:49:42 +01:00
Leon Styhre 397ad15de6 Fixed an issue with collection gamelists getting loaded in the wrong order on startup. 2023-02-10 00:40:16 +01:00
Leon Styhre f22da24486 Added a theme loading log entry about the applied aspect ratio configuration.
Also renamed some incorrectly named variables in ThemeData.
2023-02-10 00:34:24 +01:00
Leon Styhre a2e400dd2b Multiple layout improvements when running in vertical screen orientation.
Also cleaned up some code.
2023-02-10 00:25:22 +01:00
Leon Styhre 33bca1b0d3 Made many improvements to GUI sizing and positioning when running in vertical screen resolutions. 2023-02-07 18:51:04 +01:00
Leon Styhre cf8ce151dd The application startup can now be aborted via an OS signal or using the configured keyboard quit shortcut. 2023-02-07 18:14:16 +01:00
Leon Styhre 1e31423f3f Fixed an issue where the screensaver overlay did not render correctly when rotating the screen. 2023-02-07 18:10:24 +01:00
Leon Styhre 45e1a79f9e Changed two collections-related log warning messages. 2023-02-07 18:05:11 +01:00
Leon Styhre b33c7603bb Added support for rotating the application screen contents 0, 90, 180 or 270 degrees.
Also improved post processing shader rendering when running in vertical orientation.
2023-02-06 23:38:35 +01:00
Leon Styhre b73bb5181c Added support for the LCD Handheld Games (lcdgames) game system. 2023-02-03 20:16:29 +01:00
Leon Styhre df9f3cf0c4 Fixed an issue where system transition animations would sometimes not play after changing their type. 2023-02-03 19:52:33 +01:00
Leon Styhre 864d88ec8a Removed an unnecessary reload when switching theme sets.
Also removed a leftover debug message.
2023-02-03 19:50:50 +01:00
Leon Styhre 1454783884 Fixed an issue where invalid game entries were sometimes not filtered out from ScreenScraper server responses. 2023-02-02 23:18:08 +01:00
Leon Styhre 80e0937bf5 Added support for the VTech V.Smile (vsmile) game system. 2023-02-01 22:30:43 +01:00
Leon Styhre 9dab1557ca The theme transitions menu entry is now grayed out if there are no transitions to choose between. 2023-02-01 20:00:36 +01:00
Leon Styhre 5da22386b1 Added support for the Arduboy Miniature Game System (arduboy). 2023-01-31 19:36:57 +01:00
Leon Styhre 26860cd5cc Added a menu option to enable or disable theme variant triggers. 2023-01-31 19:26:39 +01:00
Leon Styhre 94498bb706 Fixed an issue where the gameselector element would include non-kid games while in kid UI mode. 2023-01-31 19:02:25 +01:00
Leon Styhre 960677d9b1 Updated some system name comments in PlatformId. 2023-01-30 23:16:19 +01:00
Leon Styhre 886f368fd9 Hex-encoded ampersand characters in game names are now converted correctly when scraping with ScreenScraper. 2023-01-30 19:41:24 +01:00
Leon Styhre f3b19a2704 Added two new gamecountGamesNoText and gamecountFavoritesNoText values to the text element systemdata property. 2023-01-30 18:40:28 +01:00
Leon Styhre 2501a0aa26 Fixed two incorrect code comments. 2023-01-29 22:42:15 +01:00
Leon Styhre b8e854b4ae (macOS) Enabled startup animations. 2023-01-29 22:40:34 +01:00
Leon Styhre 5125f81c78 SDL events are now parsed on startup before the main application loop.
Also removed the mouse pointer removal hack.
2023-01-29 22:38:16 +01:00
Leon Styhre e9b1718fca Multiple improvements to the progress bar to reduce startup times and increase consistency.
Also changed from SDL_GetTicks64() to SDL_GetTicks() in SystemData as the 64-bit function doesn't work with older SDL releases.
2023-01-27 17:34:38 +01:00
Leon Styhre bddaf5f7e9 Added a startup log message about the number of parsed and loaded systems. 2023-01-25 21:55:14 +01:00
Leon Styhre b17b7194a6 Fixed a small vertical positioning issue for the main menu. 2023-01-24 18:30:04 +01:00
Leon Styhre 071c4d22ce Fixed an issue where the gamelist options menu entry to add/remove games was included when it shouldn't. 2023-01-24 18:25:56 +01:00
Leon Styhre bc4c9120d6 Fixed multiple issues where gamelist filtering didn't work correctly when applied to folders. 2023-01-24 18:23:35 +01:00
Leon Styhre 65dd65029b Fixed an issue where folder metadata was sometimes included in the filter index. 2023-01-24 18:20:05 +01:00
Leon Styhre b0d3133983 The splash screen is now rendered much earlier during the application startup. 2023-01-24 18:18:51 +01:00
Leon Styhre fc282f559c The systems are now counted upfront for accurate progress bar positioning if there's a custom es_systems.xml file in use. 2023-01-23 23:38:25 +01:00
Leon Styhre 90851befc5 Fixed an uninitialized bool in the scraper. 2023-01-23 21:45:53 +01:00
Leon Styhre 7196ed9088 Fixed a use after free issue in GuiScraperMulti. 2023-01-23 21:30:09 +01:00
Leon Styhre 2e68452c3c Added debug message entries when populating gamelists. 2023-01-23 18:11:19 +01:00
Leon Styhre fd85df2716 Changed the log message on missing game files from error to info. 2023-01-23 18:06:53 +01:00
Leon Styhre 1e52884abe Changed a data type. 2023-01-23 18:05:54 +01:00
Leon Styhre 0bfda9955c Made the splash screen progress bar animation slightly smoother. 2023-01-23 00:09:31 +01:00
Leon Styhre 24e40ea348 One more try to limit buffer swaps during splash screen rendering. 2023-01-23 00:01:36 +01:00
Leon Styhre 022446bce7 Found a better method to limit buffer swaps during splash screen rendering. 2023-01-22 23:24:08 +01:00
Leon Styhre 8c03c97e57 Bumped the version to 2.0.0-beta 2023-01-22 22:21:42 +01:00
Leon Styhre 4ee3d91bf4 Fixed a crash on startup if no games were found. 2023-01-22 21:04:24 +01:00
Leon Styhre e44c18bc1b Added a startup progress bar to the splash screen. 2023-01-22 21:03:08 +01:00
Leon Styhre d15927c156 Removed some unnecessary help prompt reload logic. 2023-01-22 18:16:49 +01:00
Leon Styhre fb7c9a1e3b Newline characters are now removed from game names when scraping with ScreenScraper.
Also cleaned up some code.
2023-01-22 13:09:41 +01:00
Leon Styhre a982dce328 Changed the PlayStation 3 controller type to PlayStation 1/2/3 2023-01-21 13:45:54 +01:00
Leon Styhre 480263160d Added a Switch Pro controller type. 2023-01-21 12:58:16 +01:00
Leon Styhre c5507f5f80 Added a PlayStation 3 controller type. 2023-01-21 11:02:32 +01:00
Leon Styhre 623540dd35 Added support for specifying a theme name in the capabilities.xml file. 2023-01-20 18:37:32 +01:00
Leon Styhre 8273cb5a8f Changed 'Theme transition animations' to 'Theme transitions'. 2023-01-16 22:43:56 +01:00
Leon Styhre 7e30f3f3cf Improved the symlink loop detection on application startup. 2023-01-16 17:43:02 +01:00
Leon Styhre 9f5b64f58d Fixed an issue reported by UndefinedBehaviorSanitizer. 2023-01-16 17:24:51 +01:00
Leon Styhre e8a093c19c Removed some deprecated theme engine code. 2023-01-15 18:40:04 +01:00
Leon Styhre 558e13d0c9 Added support for displaying system name information per-game. 2023-01-15 12:51:59 +01:00
Leon Styhre 8d4c764712 Text elements are now set as containers by default if metadata is set to 'description'. 2023-01-14 21:19:05 +01:00
Leon Styhre 2b028148fe Fixed an issue where system name suffixes did not get added for legacy themes. 2023-01-14 20:33:32 +01:00
Leon Styhre a483a34ff2 Fixed an issue where the custom collections editing mode would not end when switching UI modes.
Also removed some unused code in GuiMenu.
2023-01-14 20:09:52 +01:00
Leon Styhre 110911df2e Fixed an issue where collection changes were not applied correctly. 2023-01-14 20:01:17 +01:00
Leon Styhre 3bbc761c8f Added the ability to control the system name suffix from the theme configuration.
Also removed the corresponding 'Show system names in collections' menu option.
2023-01-14 14:05:24 +01:00
Leon Styhre 648252f639 Changed the menu entry name for the textlist quick scrolling overlay option. 2023-01-13 13:30:30 +01:00
Leon Styhre f2fd8cf6a8 Modified and added some variables and properties to support better letter case controls for collection names. 2023-01-13 11:03:23 +01:00
Leon Styhre 918ffd9b9e Fixed an issue where the gamelist view would sometimes not render after changing collection settings.
Also fixed some other glitches with the cached background not getting invalidated on collection changes.
2023-01-12 20:54:12 +01:00
Leon Styhre 0329bd77c2 Added support for mixed case custom collection names as well as the option to always group custom collections.
Also reversed an optimization in CollectionSystemsManager which caused some issues.
2023-01-12 19:45:54 +01:00
Leon Styhre ab1129b2a0 Fixed a rare crash that could occur when enabling collections. 2023-01-12 19:07:29 +01:00
Leon Styhre 7ce6cd4c50 Elements set as not visible are now completely disabled in SystemView and GamelistView. 2023-01-11 18:37:00 +01:00
Leon Styhre 688697e334 Fixed a Clang compiler warning. 2023-01-10 22:11:38 +01:00
Leon Styhre 65f0c0e3c2 The .emulationstation/gamelists directory is now created on application startup instead of when scraping for the first time. 2023-01-09 21:16:45 +01:00
Leon Styhre 1fb8ce6b7d (Windows) Converted forward slashes to backslashes for a few scraper debug log messages.
Also did some minor code cleanup.
2023-01-09 20:47:00 +01:00
Leon Styhre 9a9ac17aa3 Clarified the use of SystemData::setIsGameSystemStatus() 2023-01-09 20:29:50 +01:00
Leon Styhre 6d3d2ddb34 Added support for 2x and 4x MSAA anti-aliasing (OpenGL renderer only). 2023-01-09 17:55:54 +01:00
Leon Styhre 806d32a5c4 Fixed an issue where system view startup animations would not play when using the grid element. 2023-01-08 20:03:44 +01:00
Leon Styhre 656c3661ea Renamed suppressedTransitionEntries to suppressedTransitionProfiles. 2023-01-08 19:30:16 +01:00
Leon Styhre 3d5eb2a3cf Fixed an issue where fade animations would not finish playing under certain conditions. 2023-01-08 18:21:37 +01:00
Leon Styhre 71b4fc947a Added support for theme-controlled transition animations. 2023-01-08 17:00:36 +01:00
Leon Styhre 1f0bf21675 Some minor code cleanup. 2023-01-08 16:30:39 +01:00
Leon Styhre 6c75d0fc88 Fixed some Clang compiler warnings. 2023-01-06 13:48:59 +01:00
Leon Styhre fa67018b72 Added variant trigger support. 2023-01-04 19:01:41 +01:00
Leon Styhre 14567baab4 Disabled automatic view style detection for non-legacy theme sets. 2023-01-01 15:32:16 +01:00
Leon Styhre d6db705b93 Eliminated some unnecessary gamelist reloads. 2023-01-01 15:31:03 +01:00
Leon Styhre 7500f81f82 Improved the log output on theme loading errors. 2022-12-22 17:16:16 +01:00
Leon Styhre 6699682efb Fixed an issue where the 'jump to game' help prompt could disappear from the grouped custom collections system. 2022-12-21 20:28:43 +01:00
Leon Styhre 10b971db5b Fixed an issue where the grouped custom collections system could get the wrong viewstyle set. 2022-12-21 20:27:36 +01:00
Leon Styhre 251e826589 The defaultImage property can now be used to display a static image in case no video file was found.
Also fixed a bug where the static image would not get displayed in the grouped custom collections view if there was no game found for the system and the previously selected entry already had it's video playing when navigating away from it.
2022-12-21 19:53:03 +01:00
Leon Styhre 1bbed6cc04 gamelist.xml files are no longer loaded from the ROMs/system directories. 2022-12-20 20:20:02 +01:00
Leon Styhre e56eaeb2bd Fixed an issue where a reference to a deleted object could hang or crash the application. 2022-12-20 18:43:59 +01:00
Leon Styhre 15cb3a0525 Removed an unnecessary metadata name check in FileData. 2022-12-20 18:42:28 +01:00
Leon Styhre a54d6a5568 (Windows) Converted forward slashes to backslashes for some log output entries involving file names.
Also made some minor general log output changes in GamelistFileParser.
2022-12-19 20:38:41 +01:00
Leon Styhre ae52489b6b Added support for up to two imageType values for CarouselComponent and GridComponent. 2022-12-17 22:20:29 +01:00
Leon Styhre 4ef3e94c56 (Unix) Improved the .desktop file parser. 2022-12-17 18:37:58 +01:00
Leon Styhre c80e81c2dc (Linux) Fixed a .desktop file parsing issue where escaped % characters were not handled correctly. 2022-12-16 22:37:32 +01:00
Leon Styhre 5581103642 Adjusted the system view and carousel transition animation times slightly. 2022-12-16 17:25:57 +01:00
Leon Styhre 6d4086639a Disabled ScreenScraper controller scraping as they have ruined that functionality. 2022-12-15 18:27:45 +01:00
Leon Styhre ae6c062984 Added gameselectorEntry properties to a number of elements. 2022-12-15 18:23:48 +01:00
Leon Styhre cfdfe3e6e0 Updated a log warning about extensionless files. 2022-12-14 18:35:39 +01:00
Leon Styhre d692e8f9cd Fixed a crash when attempting to use extension-less files in gamelists containing folders. 2022-12-14 17:56:50 +01:00
Leon Styhre 715c143324 Updated some log output text when deleting files from the metadata editor. 2022-12-14 17:44:44 +01:00
Leon Styhre fafb7c257f Fixed two issues with the 'Only show ROMs from gamelist.xml files' setting where an incorrect folder path would be shown in the metadata editor and folder links wouldn't work. 2022-12-14 17:35:38 +01:00
Leon Styhre ab31eafaca Some code cleanup. 2022-12-14 17:30:34 +01:00
Leon Styhre e3be493d0d Removed a few unused lambda captures from SystemView. 2022-12-11 17:02:21 +01:00
Leon Styhre 0b5419316d Changed a number of property names in CarouselComponent and GridComponent. 2022-12-11 11:22:08 +01:00
Leon Styhre 4e56dafc59 Made the SystemView grid animation slightly longer/slower. 2022-12-09 19:37:18 +01:00
Leon Styhre c12d57cb75 (Windows) Fixed an MSVC compiler warning. 2022-12-07 21:37:38 +01:00
Leon Styhre 2d24230a48 Fixed an issue where the GridComponent layout was not calculated if there was only a placeholder entry. 2022-12-07 21:23:53 +01:00
Leon Styhre 949f059b7e Fixed an issue where the CarouselComponent text property value was ignored. 2022-12-07 19:43:03 +01:00
Leon Styhre 2799974938 Expanded the quick system select menu option from a simple on/off entry to a selection of different button combinations.
Also did some minor code cleanup in GuiMenu.
2022-12-07 18:09:05 +01:00
Leon Styhre 5a18b593f4 Fixed a SystemView navigation rendering glitch when using GridComponent. 2022-12-05 23:12:41 +01:00
Leon Styhre 6bae602a81 Changed the help system text in the scraper menu from 'start' to 'start scraper'. 2022-12-05 21:40:33 +01:00
Leon Styhre 56c8a43b36 Changed the order of the A, B, X and Y help system buttons.
Also changed the gamelist help text from 'enter' and 'launch' to 'select' for the gamelist view.
2022-12-05 21:37:21 +01:00
Leon Styhre fbfb84187a Changed the button to start the screensaver from 'Back' to 'X'. 2022-12-05 21:21:48 +01:00
Leon Styhre b9e6cdd9da Fixed some GridComponent animation glitches when marking games as favorites. 2022-12-05 21:15:15 +01:00
Leon Styhre fe1f408355 Changed the menu header for the gamelist options menu from 'Options' to 'Gamelist options'. 2022-12-05 21:10:26 +01:00
Leon Styhre 8013e04d2c Fixed an issue where folders in mixed gamelists were not always sorted correctly. 2022-12-05 21:08:20 +01:00
Leon Styhre da93533aed Fixed multiple navigation issues. 2022-12-04 15:56:59 +01:00
Leon Styhre dfcf041efc Fixed a GridComponent slide transition issue when used in the system view.
Also fixed a general navigation issue.
2022-11-25 22:35:35 +01:00
Leon Styhre 0cd814a4d1 Added on-demand texture loading to GridComponent. 2022-11-25 22:07:36 +01:00
Leon Styhre 24fe15a84f Fixed some erratic camera movement issues during extreme SystemView navigation input. 2022-11-25 18:57:06 +01:00
Leon Styhre ed6b23a2c6 Fixed an issue where the default textlist size and position properties were not set for the system view.
Also moved some default value assignments to the TextListComponent itself.
2022-11-13 11:56:18 +01:00
Leon Styhre 48111ce5e4 Added basic GridComponent functionality and integration. 2022-11-12 14:08:53 +01:00
Leon Styhre b4338a3fb7 Refactored some image resizing functions. 2022-11-07 23:58:22 +01:00
Leon Styhre 4e54508e45 Added a GridComponent skeleton. 2022-11-06 21:34:03 +01:00
Leon Styhre 7df82adf1e Fixed an issue where placeholder entries did not have the correct letter case. 2022-11-03 23:58:52 +01:00
Leon Styhre b4d2babf01 Added a selectedSecondaryColor property to TextListComponent. 2022-11-03 23:24:11 +01:00
Leon Styhre e88e802434 Added explicit video player stops on SystemView cursor changes. 2022-11-03 17:11:43 +01:00
Leon Styhre 412a19275d Added two letterCaseCollections and letterCaseGroupedCollections properties to TextListComponent and CarouselComponent.
Also refactored the letterCase logic overall in these two components.
2022-11-03 12:31:42 +01:00
Leon Styhre 8df54bd80e Added support for color schemes. 2022-10-31 19:32:13 +01:00
Leon Styhre b17c78bc42 Increased the default VRAM limit from 256 to 512 MiB and increased the maximum limit from 1024 to 2048 MiB.
Also increased the default VRAM limit for the Raspberry Pi from 184 to 192 MiB.
2022-10-30 09:11:59 +01:00
Leon Styhre c870664615 Missing theme files defined using variables now only trigger debug messages instead of errors or warnings.
Also added two DebugSkipMissingThemeFiles and DebugSkipMissingThemeFilesCustomCollections settings.
2022-10-29 13:04:00 +02:00
Leon Styhre 171ee4ded2 Minor change to a debug message in CollectionSystemsManager. 2022-10-29 12:56:35 +02:00
Leon Styhre 126d93709e Updated the CImg functions and miximage generator for BGRA instead of RGBA pixel format. 2022-10-28 21:39:57 +02:00
Leon Styhre ab11f36ece Fixed an issue where manually starting the screensaver would not prevent file animations from playing. 2022-10-27 21:34:32 +02:00
Leon Styhre 4513b20339 Some minor font sizing improvements.
Also fixed a few implicit casts.
2022-10-25 01:20:31 +02:00
Leon Styhre 97a9347d67 Improved font sizing for the launch screen, scraper and help system. 2022-10-25 01:06:02 +02:00
Leon Styhre 3de8275db6 Fixed multiple minor pixel alignment issues. 2022-10-25 00:43:27 +02:00
Leon Styhre c5098a62d5 Added some error checking when downloading thumbnails in the scraper GUI. 2022-10-25 00:19:02 +02:00
Leon Styhre 103e59b54d Fixed an issue where mutually exclusive system variables could lead to theme loading errors. 2022-10-17 22:21:52 +02:00
Leon Styhre a142da3d34 Line breaks are now filtered out from systems names and system full names if specified as such in the es_systems.xml file. 2022-10-08 10:02:12 +02:00
Leon Styhre 508ea87963 Rewrite of the text wrapping code to work with languages which generally lack spaces, like Japanese.
Also implemented massive performance improvements to the text wrapping code.
2022-10-08 09:33:57 +02:00
Leon Styhre 993efe8504 Fixed an issue where audio for static videos in the gamelist view would get muted on navigation. 2022-09-29 20:18:33 +02:00
Leon Styhre 49c9710afc Added 'none' as a supported carousel item type to show only text entries in the gamelist view. 2022-09-28 17:20:01 +02:00
Leon Styhre 15e30bc0ca Increased the minimum VRAM limit from 80 MiB to 128 MiB. 2022-09-27 17:43:27 +02:00
Leon Styhre 9d1c352968 Fixed a System view fade transition issue. 2022-09-27 17:39:00 +02:00
Leon Styhre 06fd76abc3 Added a fadeAbovePrimary property to control whether elements above the system view carousel and textlist should be rendered during fade transitions. 2022-09-26 20:02:31 +02:00
Leon Styhre 035b1004db Added application platform identifiers for ScreenScraper. 2022-09-25 22:57:43 +02:00
Leon Styhre 65999e5a09 Fixed a SystemView clipping issue. 2022-09-25 20:55:26 +02:00
Leon Styhre 123f29aa43 Fixed multiple issues with carousel on-demand texture loading.
Also cleaned up some code.
2022-09-25 19:38:24 +02:00
Leon Styhre ca52a1d7c5 Fixed a couple of custom collection issues when changing the game counter metadata entry.
Also made some general code cleanup.
2022-09-25 13:03:39 +02:00