Commit graph

1336 commits

Author SHA1 Message Date
Leon Styhre a4f8fe78e1 Fixed a time zone issue related to the Unix epoch. 2021-11-26 20:55:54 +01:00
Leon Styhre 5482950689 Updated a code comment regarding the use of bundled TLS certificates. 2021-11-25 18:56:30 +01:00
Leon Styhre 360be460a2 Added a CMake option to use the bundled TLS certificates with cURL. 2021-11-25 17:34:34 +01:00
Leon Styhre 7ebf895613 Fixed a ScrollableContainer sizing issue while running in the background when games are launched. 2021-11-22 19:46:05 +01:00
Leon Styhre 2bbbab7d70 Small optimization in VideoFFmpegComponent. 2021-11-18 17:25:09 +01:00
Leon Styhre 0314b2d439 Fixed a performance regression caused by excessive mutex locks. 2021-11-18 17:20:59 +01:00
Leon Styhre e91e23a053 Small code simplification in Settings. 2021-11-18 17:19:30 +01:00
Leon Styhre bd1fa04e79 (RPi) Fixed a compiler error. 2021-11-17 21:38:27 +01:00
Leon Styhre 445b914379 Completely refactored MameNames. 2021-11-17 21:32:40 +01:00
Leon Styhre af52d9b0ac Changed most increment and decrement operators from postfix to prefix for es-core. 2021-11-17 17:48:49 +01:00
Leon Styhre 4c6bfb8b78 Fixed a few issues reported by UBSan. 2021-11-16 22:03:34 +01:00
Leon Styhre 9937476e18 Replaced some mutex locks with atomic variables.
Also removed an SDL audio issue workaround from AudioManager.
2021-11-16 17:49:05 +01:00
Leon Styhre a5e10a6434 (Windows) Fixed a compiler error. 2021-11-15 23:45:17 +01:00
Leon Styhre 999b9a6c04 Improved thread safety in TextureData and TextureDataManager. 2021-11-15 23:33:16 +01:00
Leon Styhre 7b06e9fb8b Fixed some thread safety issues in Sound. 2021-11-15 23:27:02 +01:00
Leon Styhre 81d6f0fd30 Improved thread safety for Settings.
Also moved some data from the global namespace to an anonymous namespace.
2021-11-15 22:53:21 +01:00
Leon Styhre 6bc4a09c9b Multiple thread safety improvements to AudioManager and VideoFFmpegComponent.
Also some general refactoring and re-enabling of some SDL_AudioStream functions.
2021-11-15 22:43:06 +01:00
Leon Styhre b742951dc0 Removed some unnecessary includes of AudioManager.h 2021-11-15 20:52:36 +01:00
Leon Styhre 57d172bb14 Some code cleanup in the logger. 2021-11-15 20:47:00 +01:00
Leon Styhre f8c10c539d Added two asserts to ComponentGrid to check for invalid grid layouts. 2021-11-13 15:33:42 +01:00
Leon Styhre 4cf291798a Fixed a grid layout issue for the virtual keyboard. 2021-11-13 15:31:44 +01:00
Leon Styhre 36b7146d7f Made the video player shut down slightly faster under some circumstances. 2021-11-12 23:48:12 +01:00
Leon Styhre 1005dfcdb7 (macOS) Added a Monterey VSync bug workaround. 2021-11-12 19:49:24 +01:00
Leon Styhre 043db7e05e (RPi) Fixed a crash by null terminating the Unicode lookup tables. 2021-11-11 22:41:13 +01:00
Leon Styhre 3e59a451c9 Improved the padding consistency for OptionListComponent arrows across different screen resolutions. 2021-11-11 19:54:10 +01:00
Leon Styhre b68640939a Improved consistency of sizing and padding for buttons across different screen resolutions. 2021-11-11 19:51:42 +01:00
Leon Styhre 22200c3025 Fixed an issue where TextListComponent would not correctly handle the forceUppercase theme property. 2021-11-11 19:49:46 +01:00
Leon Styhre 6a7f002a94 Improved the sizing of screen corners in NinePatchComponent. 2021-11-11 19:47:59 +01:00
Leon Styhre c4fb3eafbe Fixed a small alignment issue in SliderComponent. 2021-11-11 19:45:44 +01:00
Leon Styhre 99d0f17e6b Fixed a small alignment issue in ComponentList. 2021-11-11 19:43:58 +01:00
Leon Styhre fd980d7e4a The alternative emulator badges and filters are now disabled if the per-game setting has been disabled. 2021-11-10 22:38:25 +01:00
Leon Styhre 39926abc41 Some very small optimizations in CImgUtil. 2021-11-09 22:57:15 +01:00
Leon Styhre 3e12fcb420 General refactoring and minor optimizations throughout the codebase. 2021-11-09 22:40:08 +01:00
Leon Styhre d3b135e387 Set the FFmpeg video player HW decoding as disabled by default. 2021-11-08 17:58:36 +01:00
Leon Styhre ac4710a18e Added proper support for the Raspberry Pi 4. 2021-11-07 23:54:52 +01:00
Leon Styhre c642848081 Reverted the last commit as the issue does not seem to be in the code. 2021-11-07 22:49:23 +01:00
Leon Styhre 433c77261f Fixed a small issue with the sizing of the badges. 2021-11-07 22:22:34 +01:00
Leon Styhre c136f87a9f Small optimization when opening the menu. 2021-11-07 19:21:01 +01:00
Leon Styhre 14e1b800fa Made two optimizations in TextureData. 2021-11-07 18:18:41 +01:00
Leon Styhre c5a1555de3 Added proper frame drop support to the FFmpeg video player.
Also made multiple large optimizations.
2021-11-07 18:14:38 +01:00
Leon Styhre b4492abccd Removed the copying of es_settings.cfg to es_settings.xml on startup. 2021-11-06 21:43:32 +01:00
Leon Styhre cdf0227ad4 Fixed a small alignment issue in the scraper GUI and removed an ugly hack. 2021-11-05 20:31:24 +01:00
Leon Styhre 8b5386df79 Fixed an issue where corrupt SVG graphics could crash the application. 2021-11-03 17:26:19 +01:00
Leon Styhre f7643e96a4 Added support for two more controller icons. 2021-11-02 19:01:00 +01:00
Leon Styhre 7606e9cad6 Added the physical media images to the miximages.
Also added an option to rotate horizontally oriented game boxes and size options for the box and physical media files.
2021-10-30 19:01:58 +02:00
Leon Styhre 2f09c21d3f Reversed a previous change that caused multiple texturing issues. 2021-10-30 17:05:04 +02:00
Leon Styhre 190b3ba054 Fixed an issue where rasterized window corners would look excessively pixelated. 2021-10-30 13:07:07 +02:00
Leon Styhre ee80792e0f (Windows) Fixed two MSVC compiler warnings. 2021-10-29 20:10:43 +02:00
Leon Styhre 1c79723894 Improved the NinePatchComponent corner sizing for screens in portrait orientation. 2021-10-29 20:10:15 +02:00
Leon Styhre 28f0f8549c Fixed an issue where the OptionList arrows would not get correctly centered vertically. 2021-10-29 19:45:46 +02:00
Leon Styhre 59839546a5 Fixed an issue where ComponentList elements would not get correctly centered vertically. 2021-10-29 19:44:27 +02:00
Leon Styhre 0dc6f1e17a Removed the deprecated SVG scaleDuringLoad functionality. 2021-10-29 19:43:07 +02:00
Leon Styhre a6f72ff934 Replaced a hack in NinePatchComponent with a proper solution. 2021-10-29 19:38:45 +02:00
Leon Styhre d5fa6bc82c Added support for scraping title screens, box back covers and physical media images. 2021-10-28 21:00:23 +02:00
Leon Styhre 5ca4b85549 Added scraping of controller metadata (arcade systems only). 2021-10-27 19:23:57 +02:00
Leon Styhre c4a7380d40 Added a few more controller types and icons.
Also fixed an incorrect name for one controller and made some other name changes.
2021-10-27 19:10:48 +02:00
Sophia Hadash ac84716273 Merge branch 'master' into 653-properly-apply-z-index-in-the-system-view 2021-10-26 21:56:45 +02:00
Leon Styhre a979c6d0e5 Made the menu texture render correctly when running really low on texture memory. 2021-10-26 18:29:30 +02:00
Leon Styhre fbb974de03 Removed an unnecessary force load setter from ImageComponent. 2021-10-26 18:28:21 +02:00
Leon Styhre 4e02ce230b Disabled dynamic loading of images in BadgeComponent. 2021-10-26 18:27:30 +02:00
Leon Styhre 4f9737cd23 Fixed a compiler warning when building with the GLES renderer. 2021-10-26 18:26:00 +02:00
Leon Styhre 58345863b3 Changed an RGBA vector getter from copy to reference to reduce CPU usage. 2021-10-26 18:23:52 +02:00
Leon Styhre 3d3d951842 Renamed alwaysRasterize to forceRasterization.
Also removed an unnecessary function call in ImageComponent.
2021-10-26 18:22:41 +02:00
Leon Styhre 848e0a1a94 Fixed an SVG graphics corruption issue. 2021-10-26 18:13:31 +02:00
Leon Styhre f32c3dc6f4 Reintroduced column mode for BadgeComponent.
Also fixed an issue with direction in FlexboxComponent when using column mode.
2021-10-25 19:13:54 +02:00
Leon Styhre 7ed0267f5b Made a large optimization to the SVG rasterization logic. 2021-10-25 18:39:58 +02:00
Leon Styhre 270a2e3857 Added an option to preload gamelists on startup. 2021-10-25 17:56:17 +02:00
Leon Styhre 960f6e56be Fixed an incorrect text debug overlay color in SliderComponent. 2021-10-24 14:53:53 +02:00
Leon Styhre b83db7d33e Added text debug overlay to SliderComponent.
Also changed a variable name to align with the standard naming conventions.
2021-10-24 14:48:42 +02:00
Leon Styhre 71b5c50b85 Made the SliderComponent width consistent across different screen aspect ratios. 2021-10-24 14:17:43 +02:00
Leon Styhre 5247a9f5fe Fixed an issue where the wrong scroll indicator could be shown. 2021-10-24 12:10:38 +02:00
Leon Styhre f2c787e769 Moved the resources/help directory to resources/graphics/help 2021-10-23 20:49:00 +02:00
Leon Styhre 1aa360598d Renamed BadgesComponent to BadgeComponent. 2021-10-23 20:28:07 +02:00
Leon Styhre b5a61a0617 Renamed 'controller types' to 'game controllers' (code) and simply 'controllers' (metadata editor). 2021-10-23 20:14:17 +02:00
Leon Styhre 84514f67d0 Added support for controller types. 2021-10-23 19:08:32 +02:00
Leon Styhre edc11e6255 Added a setter to ImageComponent for mForceLoad. 2021-10-23 17:36:13 +02:00
Leon Styhre 89aefab54c Small simplification in ImageComponent. 2021-10-23 17:35:23 +02:00
shadash 3070a66e2c introduce 'legacyZIndexMode' tag in carousel
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-23 17:34:20 +02:00
Leon Styhre dd94aeec96 Fixed two casting issues. 2021-10-23 15:53:31 +02:00
Leon Styhre 6cee6d2732 Fixed multiple image scaling and rasterization issues. 2021-10-23 15:45:44 +02:00
Leon Styhre bd62f2af14 Fixed an issue where the bar and knob in SliderComponent were not correctly aligned vertically. 2021-10-23 15:36:16 +02:00
Leon Styhre 022f8c7e8b Fixed an issue where resizing in SwitchComponent would not reposition the image. 2021-10-23 15:30:35 +02:00
Leon Styhre 114c91679e Increased the start delay slightly for the scraper GUI game name scrolling. 2021-10-18 19:58:04 +02:00
Leon Styhre 484606fb6f Added horizontal scrolling of long game names to the scraper GUI. 2021-10-18 19:24:47 +02:00
Leon Styhre ccc3cae46b Fixed some small rounding issues in TextListComponent.h 2021-10-18 19:15:50 +02:00
Leon Styhre c3c9e8408c Adjusted the colors for the alt and shift keys on the virtual keyboard. 2021-10-18 18:13:21 +02:00
Leon Styhre 94c825e3a3 Changed the 'marquee' variable names to 'loop' in TextListComponent.h 2021-10-18 18:07:20 +02:00
Leon Styhre 1166539466 Fixed a general ImageComponent scaling issue caused by incorrect rounding. 2021-10-17 21:51:21 +02:00
Leon Styhre 975ff0eb69 Fixed a potential rounding issue. 2021-10-17 21:20:17 +02:00
Leon Styhre 62d327b071 Merge branch '655-fix-the-left-and-right-alignment-in-badgescomponent' 2021-10-17 18:45:52 +02:00
Leon Styhre af1d1b3109 Fixed some rounding issues and the right-alignment in FlexboxComponent. 2021-10-17 18:45:21 +02:00
Leon Styhre 11ca17fc91 Fixed an issue where the wrong scroll indicators could be displayed. 2021-10-17 16:14:28 +02:00
shadash 8fd05fcd77 bugfix, simplification
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-17 01:11:01 +02:00
Leon Styhre 690083a123 The scroll indicators don't fade in and out any longer if quick jumping in a list. 2021-10-16 13:21:52 +02:00
Leon Styhre aa8b68f2a9 Set the menu scroll indicators as enabled by default. 2021-10-15 22:35:57 +02:00
Sophia Hadash 1c93ca2c07 fix right align
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-15 21:33:34 +02:00
shadash c68f78f3d1 fix right align
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-15 21:28:12 +02:00
Leon Styhre 3683866062 Improved the layout of the scraper GUIs.
Also added the scroll indicators and replaced a text margin hack with a proper solution.
2021-10-15 20:58:40 +02:00
Leon Styhre 050dccb6b8 Fixed an issue with international characters getting clipped in ScrollableContainer. 2021-10-15 20:31:51 +02:00
Leon Styhre 7311a49f82 Removed an unnecessary column from MenuComponent and adjusted the scroll indicators. 2021-10-14 22:38:30 +02:00
Leon Styhre 10e284c929 Text in ScrollableContainer now mostly stays within the initial area. 2021-10-14 21:59:09 +02:00
Leon Styhre a1ed59553f Made it possible to set a 'a/select' help prompt for TextComponent. 2021-10-14 21:29:23 +02:00
Leon Styhre eb611d12db Fixed some issues in FlexboxComponent.
Also added some sanity checks and size restrictions to BadgeComponent and FlexboxComponent.
2021-10-13 18:18:23 +02:00
Leon Styhre b9b4bd120d Fixed multiple issues where ComponentGrid would display incorrect help prompts. 2021-10-12 23:32:26 +02:00
Leon Styhre 48db23691d Merged BadgeComponent code into master branch. 2021-10-12 23:13:38 +02:00
Leon Styhre ae96cb4c54 Further improvements to the badges code. 2021-10-12 22:53:02 +02:00
Leon Styhre 848277141a Optimized the badges code.
Also made a small adjustment to the alternative emulator badge.
2021-10-11 21:28:37 +02:00
Leon Styhre 76ef1629c0 Added a simple static scroll indicator and set this as the default.
Also made some minor adjustments to the scroll indicator placement.
2021-10-10 20:07:44 +02:00
Leon Styhre 33d3df9db4 (Windows) Fixed some MSVC compiler warnings. 2021-10-10 18:28:00 +02:00
Leon Styhre 261ad3735a Very minor code consistency fix. 2021-10-10 18:21:42 +02:00
Leon Styhre bef997420d Added menu scroll indicators. 2021-10-10 18:15:37 +02:00
shadash a93b975ca0 bug fixes, adjust theme badge proportions
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-10 13:29:26 +02:00
shadash 123e50cf17 change dimension constraints to use container size.
make margins proportional to screen size.

Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-09 17:04:04 +02:00
Leon Styhre 8c9b664bb1 If the currently configured theme set is missing, attempt to load rbsimple-DE as fallback.
Also added a warning log entry when the selected theme set is missing.
2021-10-09 13:12:06 +02:00
Leon Styhre 20760c1b43 Added support to OptionListComponent to abbreviate non-multiselect entries. 2021-10-09 13:06:04 +02:00
Leon Styhre 33792baa53 Replaced an alignment hack with a proper fix in OptionListComponent.
Also fixed an issue where the number of selected OptionListComponent entries would not get displayed.
2021-10-08 22:50:37 +02:00
Leon Styhre 9c20498339 The OptionListComponent key repeat parameters are now configurable. 2021-10-08 21:11:38 +02:00
Leon Styhre ce593686a5 Added key repeat support to DateTimeEditComponent.
Also made some other improvements and cleaned up the code.
2021-10-08 19:38:14 +02:00
Leon Styhre a4d2b87ede Added support for key repeat to OptionListComponent. 2021-10-08 19:13:37 +02:00
Leon Styhre be6782d340 Info popups are now hidden from both the screensaver and media viewer. 2021-10-07 19:03:43 +02:00
Leon Styhre 087cde4700 Fixed a cursor placement issue in GuiTextEditKeyboardPopup. 2021-10-07 18:33:57 +02:00
Leon Styhre 3669d2320c Added info popups when adding and removing input devices. 2021-10-07 18:33:13 +02:00
Leon Styhre 93950cf4de Simplified the code for info popups. 2021-10-07 18:31:40 +02:00
Leon Styhre 019c764d93 Fixed a compiler warning on BSD Unix. 2021-10-06 18:47:30 +02:00
Leon Styhre 08888e00af Clarified the use of bundled include files. 2021-10-06 18:41:21 +02:00
Leon Styhre 42cd0c1ad7 Disabled text scrolling when running media player or screensaver or when running in the background. 2021-10-06 17:24:25 +02:00
Leon Styhre 766e04c0b8 Fixed an issue where the last TextListComponent row would sometimes be partially rendered.
Also fixed another related linespacing issue in TextListComponent.
2021-10-06 17:14:25 +02:00
Leon Styhre 0e90db382c Changed the CEC device name to 'ES-DE'. 2021-10-06 17:08:57 +02:00
Leon Styhre 3ff5f90f36 Fixed a sizing issue in FlexboxComponent. 2021-10-05 17:59:44 +02:00
shadash 95b729dadf replace badges svgs
minimize svgs
fix bug in flexbox component
adjust theme for new badges style

Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-02 22:31:37 +02:00
shadash 20d14ca71f remove redundant virtual keyword
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-02 22:00:54 +02:00
shadash dbc9ffb99e remove unused imports
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-02 22:00:05 +02:00
shadash 519644f66c make direction and align an enum.
more in line defaults in constructor.
getter/setter in header

Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-02 21:58:04 +02:00
shadash 9d23d124d4 change casts to c++ style
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-02 21:34:38 +02:00
Sophia Hadash f37d915653 remove old code 2021-10-02 21:30:10 +02:00
shadash 33f0b01c55 move to avoid unnecessary copies. 2021-10-02 21:29:27 +02:00
Leon Styhre 590f080897 (Windows) Fixed an MSVC compiler warning. 2021-09-30 20:18:15 +02:00
Leon Styhre 6ee33634fb Improved the scrolling consistency in ScrollableContainer.
Also fixed an issue where a fractional last text line would sometimes get rendered.
2021-09-30 20:11:56 +02:00
Leon Styhre c78386e648 Fixed an issue where defining a really small font size would crash the application. 2021-09-30 19:49:18 +02:00
Leon Styhre 5366af6999 Fixed a sizing issue in OptionListComponent. 2021-09-28 23:02:27 +02:00
Leon Styhre 0077e334b7 Made multiple optimizations to the GUI components. 2021-09-28 21:46:45 +02:00
Leon Styhre 91f1a0a47d Improved the speed of the badges code.
Also made some other adjustments to the badges and flexbox logic.
2021-09-27 22:18:19 +02:00
Leon Styhre 7321bf8f36 Reverted the SVG caching logic. 2021-09-27 21:41:22 +02:00
Leon Styhre 50f2af0077 Manual merges to align with master branch. 2021-09-27 21:27:07 +02:00
Leon Styhre e8956512dc Merged the master branch. 2021-09-27 21:19:11 +02:00
Leon Styhre c51ad4a432 Removed some noexcept operators. 2021-09-27 21:16:05 +02:00
Leon Styhre f6dd49071e Fixed lots of code formatting issues. 2021-09-27 21:06:07 +02:00
Leon Styhre 87d6207c51 Removed lots of unnecessary help component texture resizing. 2021-09-27 21:03:53 +02:00
Leon Styhre 081fbc5665 Made an optimization for SVG graphics to avoid a lot of unnecessary re-rasterizations. 2021-09-27 20:59:33 +02:00
Sophia Hadash a928142d5b make slots configurable by theme (fix) 2021-09-27 01:50:45 +02:00
Sophia Hadash 593b6d94ee remove obtrusive static image component and add svg caching 2021-09-27 00:41:53 +02:00
Sophia Hadash 39f67cfcdf finally properly implemented destructor 2021-09-26 23:58:23 +02:00
Sophia Hadash 2b8c95d2ef fix segfault in badge destructor 2021-09-26 23:04:09 +02:00
Sophia Hadash e2c1d2d0ef fix segfault in badge destructor
fix margins
2021-09-26 22:59:14 +02:00
Sophia Hadash a4d4493d3e fix segfault on application exit 2021-09-26 22:45:10 +02:00
Sophia Hadash 0587b220cc add alternative emulator badge 2021-09-26 22:26:47 +02:00
Sophia Hadash 87735cd915 fix the startup slowdown 2021-09-26 20:02:03 +02:00
Sophia Hadash edc761c4f9 fix the startup slowdown 2021-09-26 19:45:05 +02:00
Sophia Hadash 97067ae40b remove flexbox padding when item margins are set 2021-09-26 02:17:07 +02:00
Leon Styhre 3d6628f084 Massive ~2500% speed improvement for OptionListComponent. 2021-09-25 19:22:59 +02:00
Leon Styhre 3233288a8c Improved the string trim function and replaced some inlined occurrences. 2021-09-25 18:01:41 +02:00
Leon Styhre 3649684501 Added support for multi-select total count and exclusive multi-select to OptionListComponent. 2021-09-25 10:47:59 +02:00
Sophia Hadash 7820a94442 Implement origin. 2021-09-24 00:26:41 +02:00
Sophia Hadash af50921d4b merge master 2021-09-24 00:05:32 +02:00
Sophia Hadash dbf76f92e6 merge master 2021-09-23 23:28:19 +02:00
Leon Styhre be62e8fc5d Proper fix for the last commit. 2021-09-23 17:54:27 +02:00
Leon Styhre 1d07879868 Fixed a compiler warning. 2021-09-23 17:49:59 +02:00
Leon Styhre f1ceb1c2fe Fixed a crash when attempting to navigate multi-cell ComponentGrid entries. 2021-09-22 23:42:57 +02:00
Leon Styhre db5fb48cf8 OCD commit to fix some spelling inconsistencies. 2021-09-21 22:53:08 +02:00
Leon Styhre fc08a83fa0 TextEditComponent will now return an empty string if only whitespace characters were entered. 2021-09-21 22:18:18 +02:00
Leon Styhre d1ffdfca35 Removed an unused preprocessor directive. 2021-09-21 17:19:56 +02:00
Sophia Hadash 4959e72b35 fix when badges are shown (reverse) 2021-09-19 23:21:38 +02:00
Leon Styhre 372a92baa5 The navigation key repeat now stops when selecting a key on the virtual keyboard. 2021-09-19 23:08:12 +02:00
Leon Styhre 00e304f09a Fixed an issue where navigation in menus would behave weirdly under some circumstances. 2021-09-19 23:07:04 +02:00
Leon Styhre fad326c3bd Miscellaneous code cleanup. 2021-09-19 19:46:59 +02:00
Leon Styhre dd8f5afdf4 (Windows) Fixed some compiler errors and a compiler warning. 2021-09-19 14:57:54 +02:00
Leon Styhre 63767347f2 Fixed numerous compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-19 14:37:10 +02:00
Leon Styhre c7d815a125 Fixed multiple compiler warnings related to virtual functions. 2021-09-18 11:49:39 +02:00
Leon Styhre 0b6d987263 Fixed lots of compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-18 09:53:26 +02:00
Leon Styhre 9ae62cca4d Fixed two Clang warnings. 2021-09-18 00:26:39 +02:00
Leon Styhre f840e93fc9 Fixed an issue where closing an entry in the metadata editor could lead to a crash. 2021-09-17 22:53:00 +02:00
Leon Styhre c4e6d3cac1 Added a virtual keyboard. 2021-09-17 22:23:41 +02:00
Leon Styhre bbaf2739d4 Added a blinking cursor to TextEditComponent.
Also fixed a text field sizing bug and made a small padding adjustment.
2021-09-17 21:40:48 +02:00
Leon Styhre 08790ed1f3 Added support for correctly navigating arbitrarily sized ComponentGrid entries.
Also added a callback for handling navigation attempts beyond the grid boundary as well as a function to move to an absolute cursor position.
2021-09-17 21:35:37 +02:00
Leon Styhre db4fb1ab92 Added support for a new type of 'flat style' buttons to ButtonComponent.
Also did some general code cleanup.
2021-09-17 21:25:21 +02:00
Leon Styhre 13abaf6734 Added support for including the left and right trigger buttons in the help prompts. 2021-09-17 21:14:43 +02:00
Leon Styhre 42458a7d76 Very minor code cleanup. 2021-09-17 21:10:16 +02:00
Sophia Hadash f230b0de0e replace png badges by svg 2021-09-14 02:44:47 +02:00
Sophia Hadash aaf5d0209b Implement flexbox and badges. 2021-09-14 01:01:46 +02:00
Sophia Hadash efe928852f Separate flexbox functionality in it's own component. 2021-09-07 17:21:54 +02:00
Sophia Hadash fe413bb68f Initial implementation, including flexbox layout for badges. 2021-09-05 03:40:23 +02:00
Leon Styhre 58fd5b8f10 Fixed an issue with the help prompts text color when the menu was opened. 2021-09-04 21:47:42 +02:00
Sophia Hadash 6b727e3883 add badges definition to theme interpreter 2021-09-04 21:15:14 +02:00
Leon Styhre db77b6d0df Merge branch '587-make-the-help-component-more-configurable-by-the-theme' 2021-09-04 19:51:09 +02:00
Leon Styhre 5942b2815e Added support for selecting alternative emulators per game.
Also made some changes to the system-wide alternative emulators logic.
2021-09-04 11:21:55 +02:00
Sophia Hadash 24f34df66b invalidate icon cache when an icon is replaced 2021-08-30 14:29:43 +02:00
Leon Styhre db1e595d11 Fixed an issue where text coloring in menus would sometimes not get rendered correctly. 2021-08-25 21:36:35 +02:00
Sophia Hadash 41375c6f6e remove brackets. 2021-08-23 20:57:11 +02:00
Sophia Hadash b9b3e35e09 reformat toCamelCase. 2021-08-23 15:02:56 +02:00
Sophia Hadash c1d7f37a07 reformat HelpComponent if-else. 2021-08-23 15:01:30 +02:00
Sophia Hadash b8ce3d95e8 rewrite custom button icon tags into customButtonIcon node with attribute. 2021-08-23 12:58:06 +02:00
Sophia Hadash 0826ebb2af Bump theme xml version from 6 to 7. 2021-08-23 12:58:06 +02:00
Sophia Hadash 76a25d2204 Implement theme customizable button icons. 2021-08-23 12:58:06 +02:00
Sophia Hadash 54df6a5520 remove debug logs 2021-08-23 12:58:06 +02:00
Sophia Hadash c2042e66e2 Add help component theme options textColorDimmed and iconColorDimmed. 2021-08-23 12:58:06 +02:00
Sophia Hadash dfffd1057d Add help component theme options textStyle. 2021-08-23 12:58:06 +02:00
Sophia Hadash 6672fd1ec8 Add help component theme options entrySpacing and iconTextSpacing. 2021-08-23 12:58:06 +02:00
Leon Styhre 5381f38231 Added support for defining and choosing between alternative emulators. 2021-08-22 15:26:38 +02:00
Leon Styhre a0c2c21a99 Reorganized the UI Settings and Other Settings menus a bit. 2021-08-22 14:29:43 +02:00
Leon Styhre 5580de74b1 Bundled the bold font version of Fontfabric Akrobat. 2021-08-22 14:08:24 +02:00
Leon Styhre 9d4deefdf4 Fixed an issue when entering a submenu before the parent menu was scaled up. 2021-08-19 22:28:31 +02:00
Leon Styhre 655340a94c OCD commit. 2021-08-19 21:51:42 +02:00
Leon Styhre 91879c9b4a Cleaned up some rendering code. 2021-08-19 21:39:01 +02:00
Leon Styhre 4676cee4fa Fixed a small cosmetic issue introduced by a previous commit. 2021-08-19 20:30:04 +02:00
Leon Styhre 6e882dd564 Added support for upscaling bitmap images using linear filtering. 2021-08-19 20:16:42 +02:00
Leon Styhre 70a1e4612a Fixed an issue where menu rows would not align properly during navigation. 2021-08-19 19:53:05 +02:00
Leon Styhre 192bec6f5c Added a function to generate MD5 hashes. 2021-08-18 21:03:25 +02:00
Leon Styhre 816d79c32f (Windows) Silenced some MSVC compiler warnings related to the C++17 language standard. 2021-08-18 18:58:43 +02:00
Leon Styhre 91339bf1fa (Windows) Fixed a MinGW compiler error. 2021-08-18 18:52:41 +02:00
Leon Styhre b6b431f0fd Fixed two debug messages that contained incorrect function names. 2021-08-17 22:51:28 +02:00
Leon Styhre 83c0bc5ca6 Moved MoveCameraAnimation.h from es-app to es-core. 2021-08-17 22:23:42 +02:00
Leon Styhre 12c853bc31 Moved the remaining math functions to a math utility namespace. 2021-08-17 22:11:16 +02:00
Leon Styhre 74e21e8c03 Replaced some internal math functions with equivalents from the GLM library. 2021-08-17 20:55:29 +02:00
Leon Styhre 71d0e14a77 Removed the deprecated built-in matrix and vector code. 2021-08-17 19:27:08 +02:00
Leon Styhre 7b5d673050 Replaced the internal Vector2i data type and functions with the GLM library equivalent.
Also applied some code formatting changes for braced lists using clang-format.
2021-08-17 18:41:45 +02:00
Leon Styhre 1fb0ccef0d Replaced the internal Vector2f data type and functions with the GLM library equivalent. 2021-08-16 18:25:01 +02:00
Leon Styhre 64a7b8e54a Replaced the internal Vector3f and Vector4f data types and functions with the GLM library equivalents. 2021-08-15 22:03:17 +02:00
Leon Styhre 722468129e Replaced all internal matrix data types and functions with the GLM library equivalents.
Also changed some vectors.
2021-08-15 19:30:31 +02:00
Leon Styhre 18949d375c Minor cosmetic code cleanup. 2021-08-11 12:09:58 +02:00
Leon Styhre d596c96181 Merge branch '517-make-the-application-quit-shortcut-configurable-e-g-f4-alt-f4-alt-q-command-q' 2021-08-11 12:01:42 +02:00
Leon Styhre c958a94ca6 (Windows) Hiding of console windows during game launches can now be configured via the %HIDEWINDOW% variable. 2021-07-16 17:56:16 +02:00
Leon Styhre 82f81f89a6 (Windows) Fixed an issue where the console window was displayed when launching scripts. 2021-07-16 17:17:19 +02:00
SophiaHadash 75bf7781e3 update from master 2021-07-16 10:10:55 +02:00
Leon Styhre b4d85c5b34 Fixed a heisenbug in AudioManager that was actually caused by a bug in SDL_AudioStreamAvailable(). 2021-07-15 18:07:01 +02:00
Leon Styhre 977ab5e683 (RPi) Fixed an issue where the window focus would sometimes get lost when returning from a game. 2021-07-14 19:19:45 +02:00
Leon Styhre 9bbba93edf Added experimental hardware decoding support to VideoFFmpegComponent.
Also fixed some memory leaks and removed the video frame skipping code as it caused more harm than good.
2021-07-14 19:13:25 +02:00
Leon Styhre 1cee40f291 Some minor changes proposed by the static analyzer. 2021-07-09 19:58:21 +02:00
Leon Styhre 3b4bb74ac0 VideoFFmpegComponent now prioritizes audio by dropping video frames if the computer can't keep up. 2021-07-09 19:47:33 +02:00
Leon Styhre 7ea91f08af Removed the deprecated VideoOmxComponent. 2021-07-08 18:26:01 +02:00
Leon Styhre 1d706ec7f3 Removed some obsolete audio settings.
Also set VLC as the default video player on Raspberry Pi.
2021-07-08 18:18:59 +02:00
Leon Styhre 1c31a8a49e Hack to be able to build on Raspberry Pi. 2021-07-08 18:08:43 +02:00
Leon Styhre a62be38c85 Fixed an issue where fractional rating values were always rounded up. 2021-07-07 22:08:19 +02:00
Leon Styhre b030ab5b8b (Windows) Fixed a MinGW compiler warning. 2021-07-07 20:48:38 +02:00
Leon Styhre 23fdc00044 Formatted the es-core source tree using clang-format. 2021-07-07 20:31:46 +02:00
SophiaHadash e24c92effe code style and comments style 2021-07-07 14:31:32 +02:00
SophiaHadash ba2ef814de code-words for options 2021-07-07 14:24:15 +02:00
SophiaHadash 17d28ea88b remove exit combo ESC, add combo Alt+Q 2021-07-07 14:13:46 +02:00
Leon Styhre aa67020326 (Windows) Fixed an MSVC compiler warning. 2021-07-04 21:34:21 +02:00
Leon Styhre 483311f7f2 Switched the order of the Back and Start buttons in the input configurator.
Also removed some legacy code.
2021-07-04 15:03:22 +02:00
Leon Styhre 45d3bb9bad Small refactoring of VideoFFmpegComponent. 2021-07-04 11:36:16 +02:00
Leon Styhre f59223927e Added a message to GuiDetectDevice if only accepting input from the first controller. 2021-07-03 12:25:36 +02:00
Leon Styhre 52e12da55a Fixed an issue where the joystick counter would not decrease when removing a controller. 2021-07-03 12:24:23 +02:00
Leon Styhre 651b7a4d02 Fixed an issue with an endless loop when attempting to load a corrupt image file. 2021-07-02 20:33:50 +02:00
Leon Styhre b59f2da3e3 Now skipping missing font file checks for bundled fonts. 2021-07-02 18:51:01 +02:00
Leon Styhre a277b9693b Fixed an issue where missing theme font files would crash the application. 2021-07-02 18:34:04 +02:00
Leon Styhre 6178830504 Improved scaling relative to the screen aspect ratio for various GUI components. 2021-07-02 17:57:52 +02:00
Leon Styhre 6e28300a5a The ComponentList padding is now scaled properly to the screen aspect ratio and resolution. 2021-07-02 17:44:27 +02:00
Leon Styhre e957e96e20 Window corner sizes are now calculated based on the screen height instead of the screen width. 2021-07-02 17:36:05 +02:00
Leon Styhre 3dea4bc8ec Minimal code cleanup of HelpComponent. 2021-07-02 17:32:55 +02:00
Leon Styhre 4a3b24e770 Removed a ComponentGrid assert that prevented portrait orientation to work at all. 2021-07-02 17:31:35 +02:00
Sophia Hadash 7a072674d3 Merge branch 'quit-button-config' into '517-make-the-application-quit-shortcut-configurable-e-g-f4-alt-f4-alt-q-command-q'
Added a menu option in 'other options' for setting the exit button combo.

See merge request leonstyhre/emulationstation-de!3
2021-07-01 15:55:08 +00:00
SophiaHadash 2ecb105c5c Added a menu option in 'other options' for setting the exit button combo.
Added 4 button combos including Apple and Windows key combos.
2021-07-01 17:46:03 +02:00
Leon Styhre 3185083ca5 Added separate controller deadzone values for the triggers and thumbsticks. 2021-07-01 17:39:08 +02:00
Leon Styhre 0b47a90b3e (Windows) Added game launch workaround for an AMD and Intel GPU issue. 2021-06-30 18:08:13 +02:00
Leon Styhre 1478bbf550 Enabled the option on all operating systems to run ES-DE in the background while a game is launched. 2021-06-30 17:19:57 +02:00
Leon Styhre e19f0beace (Windows) Removed a log output hack that was a genuinely bad idea. 2021-06-29 18:20:55 +02:00
Leon Styhre c30fab0919 Added an option to use plain ASCII for some special gamelist characters. 2021-06-28 22:05:24 +02:00
Leon Styhre 817ee4122a Fixed an issue where horizontally scrolling game names would sometimes flicker.
Also cleaned up some code.
2021-06-28 20:45:58 +02:00
Leon Styhre 0eba1795a4 Set the random game or system button to disabled by default. 2021-06-27 12:21:18 +02:00
Leon Styhre e0e1cff787 Removed controllers are now logged to es_log.txt in the same manner as added controllers.
Also renamed two functions and changed a variable that had an incorrect and confusing name.
2021-06-26 22:54:30 +02:00
Leon Styhre 73ea38008f The audio stream is no longer freed on shutdown which avoids a random SDL crash bug. 2021-06-26 22:47:21 +02:00
Leon Styhre 36be8019a9 Removed the legacy support for placing game media in the ROM directory. 2021-06-24 21:11:24 +02:00
Leon Styhre 337f06b428 Added a CMake option to build with or without the VLC video player. 2021-06-23 00:24:15 +02:00
Leon Styhre badcfb0fe9 Fixed a glitch in VideoFFmpegComponent as the video texture was not properly reset. 2021-06-22 18:17:06 +02:00
Leon Styhre 534a564237 Fixed an issue where slide transitions would continue to run after switching theme sets. 2021-06-22 18:08:20 +02:00
Leon Styhre a9617686b6 Removed the fade-in menu opening effect and enabled the scale-up effect when using OpenGL ES. 2021-06-22 17:52:57 +02:00
Leon Styhre c8af5816a3 Added a version setting which can be used to detect upgrades of the application. 2021-06-22 17:47:01 +02:00
Leon Styhre 942e3ca5bf The input logging can now be excluded from the debug output using an option in es_settings.xml 2021-06-22 17:42:35 +02:00
Leon Styhre 4ad5cd3856 Removed the deprecated %COREPATH% variable logic. 2021-06-20 13:05:28 +02:00
Leon Styhre e27ff24cfe The legacy es_settings.cfg file is now copied to es_settings.xml instead of being renamed 2021-06-20 12:51:32 +02:00
Leon Styhre b5eb945f40 Changed a log output line in InputManager. 2021-06-16 20:20:21 +02:00
Leon Styhre 57280c5da9 Changed es_input.cfg to es_input.xml 2021-06-16 19:20:53 +02:00
Leon Styhre dc29b97e91 Changed es_settings.cfg to es_settings.xml 2021-06-16 19:05:24 +02:00
Leon Styhre d1a30133d1 Fixed an issue where images were only scaled down but never up during cropping. 2021-06-14 19:56:21 +02:00
Leon Styhre dde840c5f8 Added a game launch screen. 2021-06-14 19:15:22 +02:00
Leon Styhre aeb74055d0 Added a function to ImageComponent to crop fully transparent areas around an image. 2021-06-12 21:08:35 +02:00
Leon Styhre 05990d0457 Moved most CImg functions from MiximageGenerator to a new utility module. 2021-06-12 20:05:28 +02:00
Leon Styhre 75430f210a Some cosmetic code cleanup. 2021-06-11 17:02:06 +02:00
Leon Styhre e50b024b42 Set the gamelist video scanline option as disabled by default. 2021-06-10 22:47:22 +02:00
Leon Styhre 819d03776d Added a miximage generator. 2021-06-07 23:02:42 +02:00
Leon Styhre 4b1c7c7f0a Update to make compilation work with NanoSVG as a Git subtree. 2021-06-07 21:56:13 +02:00
Leon Styhre 89c845b4d5 (Windows) Fixed a compiler error and two warnings. 2021-05-30 20:52:19 +02:00
Leon Styhre 4533409c65 Substantial code cleanup of various utility functions. 2021-05-30 20:46:17 +02:00
Leon Styhre 653cf4c46f (Windows) Fixed an MSVC compiler warning. 2021-05-29 11:48:33 +02:00
Leon Styhre 5ee28ed8ec Fixed some compiler errors on Windows caused by an FFmpeg C macro. 2021-05-29 11:27:04 +02:00
Leon Styhre 77bbe0592c Updated VideoFFmpegComponent to use libavfilter for frame processing and conversion. 2021-05-29 10:58:51 +02:00
Leon Styhre 425d4b0937 Added an option to upscale the video frame rate to 60 FPS. 2021-05-29 10:55:40 +02:00
Leon Styhre c91662befa Implemented a stable solution to video stream muting and clearing. 2021-05-29 10:52:40 +02:00
Leon Styhre ce6eed6c3a Increased the maximum image size for the scraper and improved the scaling function. 2021-05-24 21:34:08 +02:00
Leon Styhre 0d8f50f632 Added automatic retries to the scraper for ScreenScraper TLS errors. 2021-05-24 18:51:16 +02:00
Leon Styhre ccb4c19d78 Changed input type 'select' to 'back' to align with the SDL naming conventions. 2021-05-23 20:31:15 +02:00
Leon Styhre 4d4210a419 Added support for selecting between different controller types. 2021-05-23 19:12:31 +02:00
Leon Styhre d6fab23d46 Fixed some inconsistent signs for the debug logging for analog controller input. 2021-05-23 13:01:14 +02:00
Leon Styhre ecf8e50500 Added a setting to only accept input from the first controller. 2021-05-23 11:45:45 +02:00
Leon Styhre 958c16cb03 The quit menu is now disabled by default. 2021-05-23 10:56:49 +02:00
Leon Styhre d6eba6ae24 Adjusted the size and position of the various menus. 2021-05-23 10:40:11 +02:00
Leon Styhre 83b764cf1f Small cosmetic changes to the input device configuration screen. 2021-05-23 10:16:47 +02:00
Leon Styhre 0f00701c93 GuiInputConfig now also shows the controller device name during configuration. 2021-05-23 10:14:15 +02:00
Leon Styhre 28ff713d87 (Windows) Fixed an MSVC compiler error and two warnings. 2021-05-22 22:31:03 +02:00
Leon Styhre a21dd2c817 Some code cleanup in GuiInputConfig.
Also fixed a small cosmetic bug.
2021-05-22 22:22:08 +02:00
Leon Styhre 581eb6a055 Fixed an issue where GuiDetectDevice wouldn't detect analog controller inputs. 2021-05-22 22:19:56 +02:00
Leon Styhre 0bde8dc79d Migrated to the SDL2 GameController API. 2021-05-22 22:18:00 +02:00
Leon Styhre 65e119cff9 The audio stream is now only cleared from a single location in VideoFFmpegComponent.
Also made the video player finish processing if the video is paused.
2021-05-19 19:52:58 +02:00
Leon Styhre 9d8cb889ac Reduced video stuttering in VideoFFmpegComponent.
Also did some other optimizations.
2021-05-19 19:47:40 +02:00
Leon Styhre 2ea9d1b1c0 Fixed a heisenbug in AudioManager that led to random crashes. 2021-05-16 20:17:11 +02:00
Leon Styhre 4fd0423b07 Made 'dim' the fallback screensaver instead of 'black'.
Also set the default screensaver type to 'video' instead of 'dim'.
2021-05-16 18:02:07 +02:00
Leon Styhre bf39f10381 Optimized by skipping some unnecessary rendering when the media viewer is active. 2021-05-16 17:43:18 +02:00
Leon Styhre 564fa67684 Changed the random system or game button and made it possible to disable it altogether. 2021-05-16 14:03:13 +02:00
Leon Styhre 3ed17fbea2 Added a fullscreen game media viewer. 2021-05-16 13:12:31 +02:00
Leon Styhre 282d2fa445 Implemented a workaround for a potential crash when scaling frames in VideoFFmpegComponent. 2021-05-15 20:16:48 +02:00
Leon Styhre 1d0d5326a8 VideoFFmpegComponent is now the default video player and no longer marked as experimental. 2021-05-14 10:53:50 +02:00
Leon Styhre 4a42f929b3 (Windows) Fixed some MinGW and MSVC compiler errors and warnings for VideoFFmpegComponent. 2021-05-13 11:05:23 +02:00
Leon Styhre c108387257 Added clearing of the audio stream at some appropriate places.
Also made a constant explicitly floating point.
2021-05-12 23:03:29 +02:00
Leon Styhre 4465342724 Added an audio buffer to VideoFFmpegComponent to avoid underflows and distortion. 2021-05-12 22:55:00 +02:00
Leon Styhre f3f86c6e20 Changed to unique_ptr for the threading in VideoFFmpegComponent and TextureDataManager. 2021-05-12 22:49:24 +02:00
Leon Styhre 398e47e2cc Fixed an audio mixing issue in AudioManager. 2021-05-12 22:45:01 +02:00
Leon Styhre b1521c4c53 Fixed a stupid iterator issue in VideoFFmpegComponent. 2021-05-11 18:06:30 +02:00
Leon Styhre 84640c0dc5 Added multithreading to VideoFFmpegComponent. 2021-05-11 17:35:55 +02:00
Leon Styhre a1209dfc5d Fixed a video/audio synchronization issue in VideoFFmpegComponent. 2021-05-10 18:54:17 +02:00
Leon Styhre d9eda97ca6 Fixed an issue in VideoFFmpegComponent that could lead to a crash.
Also renamed a function in VideoFFmpegComponent.
2021-05-10 18:08:45 +02:00
Leon Styhre b87d7238fc Added menu option and integrations for VideoFFmpegComponent 2021-05-09 22:56:41 +02:00
Leon Styhre ef8b008d28 Added an experimental FFmpeg video player. 2021-05-09 22:52:26 +02:00
Leon Styhre fbbb6aece1 Improved the audio streaming in AudioManager. 2021-05-09 22:47:46 +02:00
Leon Styhre bdb2d65db7 (macOS) Added support for new core location for RetroArch v1.9.2 2021-05-02 12:35:36 +02:00
Leon Styhre 08aefdb48e (macOS) Made the application work properly on high DPI displays. 2021-05-02 12:35:16 +02:00
Leon Styhre 837f781e04 Fixed an issue where the static video image would not be displayed after metadata changes. 2021-04-09 22:54:00 +02:00
Leon Styhre 0243b4bcf8 Changed to static loading of the help icons to avoid texture pop-in.
Also cleaned up some error logging for the help icon loading.
2021-04-05 13:26:25 +02:00
Leon Styhre e0e1a05f1e A transition now always takes place to the System view when changing theme sets.
Also fixed an issue where the camera would not move until after the menu was closed.
2021-04-05 10:05:08 +02:00
Leon Styhre 4ff95c4ddf (Unix) Changed the default installation prefix from /usr/local to /usr on Linux.
Also changed the prefix on NetBSD from /usr/local to /usr/pkg.
2021-04-02 12:12:49 +02:00
Leon Styhre 23903de1cf Minor cosmetic code cleanup. 2021-03-27 10:26:13 +01:00
Leon Styhre 12a7b18d05 Renamed controller input type 'analog' to 'thumbstick'. 2021-03-24 21:20:01 +01:00
Leon Styhre 4ab296d8bb Improved the video player pause function while running in background. 2021-03-24 20:15:17 +01:00
Leon Styhre 083e0a12e9 Improved launching of Steam games by keeping ES-DE running in the background. 2021-03-24 20:13:33 +01:00
Leon Styhre 1338e4467b Added support for controller analog sticks click. 2021-03-24 19:35:51 +01:00
Leon Styhre cf2b9534e8 Some code cleanup. 2021-03-23 22:01:47 +01:00
Leon Styhre 28c66225c9 Fixed two memory leaks in VideoVlcComponent. 2021-03-22 18:12:25 +01:00
Leon Styhre e96f8b9c0a Added debug overlay support to ButtonComponent, DateTimeEditComponent and TextListComponent. 2021-03-22 18:07:15 +01:00
Leon Styhre acef76d791 Changed some debug overlay colors. 2021-03-22 17:56:38 +01:00
Leon Styhre 980a23d083 Moved some function definitions from Window.h to Window.cpp 2021-03-21 16:10:09 +01:00
Leon Styhre 1ae88c93d7 Made the navigation sounds loading more robust to handle incomplete theme sets.
Also improved some log messages related to the navigation sounds.
2021-03-21 15:42:13 +01:00