Commit graph

521 commits

Author SHA1 Message Date
Leon Styhre a4d2b87ede Added support for key repeat to OptionListComponent. 2021-10-08 19:13:37 +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 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 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
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 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 f1ceb1c2fe Fixed a crash when attempting to navigate multi-cell ComponentGrid entries. 2021-09-22 23:42:57 +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
Sophia Hadash 4959e72b35 fix when badges are shown (reverse) 2021-09-19 23:21:38 +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 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 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
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 db77b6d0df Merge branch '587-make-the-help-component-more-configurable-by-the-theme' 2021-09-04 19:51:09 +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 c1d7f37a07 reformat HelpComponent if-else. 2021-08-23 15:01:30 +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 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 91339bf1fa (Windows) Fixed a MinGW compiler error. 2021-08-18 18:52:41 +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 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 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 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 a62be38c85 Fixed an issue where fractional rating values were always rounded up. 2021-07-07 22:08:19 +02:00
Leon Styhre 23fdc00044 Formatted the es-core source tree using clang-format. 2021-07-07 20:31:46 +02:00
Leon Styhre 45d3bb9bad Small refactoring of VideoFFmpegComponent. 2021-07-04 11:36:16 +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 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
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 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 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 75430f210a Some cosmetic code cleanup. 2021-06-11 17:02:06 +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 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 d6eba6ae24 Adjusted the size and position of the various menus. 2021-05-23 10:40:11 +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 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 4a42f929b3 (Windows) Fixed some MinGW and MSVC compiler errors and warnings for VideoFFmpegComponent. 2021-05-13 11:05:23 +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 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 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 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 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 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 d90f29b931 Added support to TextComponent to return the horizontal and vertical alignments. 2021-03-21 11:50:13 +01:00
Leon Styhre 3355d6f208 Added support for more imageSource types to the Grid view style. 2021-03-21 11:24:34 +01:00
Leon Styhre e3f67b26c3 Eliminated some unnecessary processing in DateTimeEditComponent if not right aligning. 2021-03-20 11:11:19 +01:00
Leon Styhre 552368d2f6 Left aligned DateTimeEditComponent in the scraper GUI. 2021-03-20 11:08:28 +01:00
Leon Styhre 9d9aaa30d7 Right aligned DateTimeEditComponent and made some minor adjustments in GuiMetaDataEd. 2021-03-20 10:26:18 +01:00
Leon Styhre 320f81ab4f Fixed a texture pop-in problem for some bundled graphic files. 2021-03-16 21:43:14 +01:00
Leon Styhre bd095a719a Fixed two uninitialized variables in GridTileComponent. 2021-03-16 20:53:53 +01:00
Leon Styhre 98395bc81d Slightly decreased the time needed to reach the highest scrolling tier. 2021-03-14 10:04:52 +01:00
Leon Styhre 6e58b5f2fa Fixed an issue in ScrollableContainer where the reset animation played when it shouldn't. 2021-03-14 09:49:26 +01:00
Leon Styhre 5099593d73 The gamelist description text no longer scrolls above the starting position. 2021-03-13 16:52:15 +01:00
Leon Styhre b12a68603d Fixed an issue where SVG rating components would not render immediately. 2021-03-13 11:46:19 +01:00
Leon Styhre 9ca7e58250 Fixed some minor warnings reported by the Clang static analyzer. 2021-03-01 19:40:23 +01:00
Leon Styhre 5bc19fc723 Fixed a Valgrind error in VideoVlcComponent. 2021-03-01 18:52:20 +01:00
Leon Styhre 0a9ae5b8ec Fixed a slight but annoying rendering issue for the menu selector bar. 2021-02-01 21:23:13 +01:00
Leon Styhre ae55eda233 Made the menus slightly wider to accomodate the new standard font. 2021-02-01 00:12:04 +01:00
Leon Styhre 392ca21adb Improved the knob position calculation for SliderComponent. 2021-02-01 00:07:15 +01:00
Leon Styhre 4556a0c71a The video player is now stopped before attempting to remove media files. 2021-01-31 20:51:24 +01:00
Leon Styhre dc3a936595 Yet another attempt to get libVLC to reliably set the audio volume. 2021-01-29 21:46:48 +01:00
Leon Styhre 39e8e33733 Fixed a cosmetic menu scrolling alignment issue. 2021-01-29 17:59:05 +01:00
Leon Styhre 8f32be00b4 Some general code cleanup. 2021-01-25 18:07:11 +01:00
Leon Styhre 632dcbfcd5 Removed log output only needed for testing purposes. 2021-01-23 20:52:25 +01:00
Leon Styhre c16a6d9bc4 Fixed an issue with flickering and potential crashes when starting to play gamelist videos. 2021-01-23 20:26:53 +01:00
Leon Styhre 0b5d9cfc52 Adjusted the time needed to reach the highest scrolling tier. 2021-01-23 16:42:58 +01:00
Leon Styhre 0dfe52586c Fixed an issue with adjusting SliderComponent values using the controller D-pad. 2021-01-23 15:43:48 +01:00
Leon Styhre a68bdcec30 Fixed two MSVC compiler warnings. 2021-01-19 00:26:02 +01:00
Leon Styhre 66e1c4e897 Improved the speed consistency for ScrollableContainer. 2021-01-19 00:11:02 +01:00
Leon Styhre e68c8f1db3 ScrollableContainer now takes the font size into consideration for adjusting the scrolling speed. 2021-01-17 22:02:22 +01:00
Leon Styhre 6e4b26daae Multi-scraper no longer jumps to the main menu after finished scraping. 2021-01-17 12:21:33 +01:00
Leon Styhre 8b18022752 Adjusted the game description text scrolling parameters. 2021-01-17 10:17:41 +01:00