Commit graph

571 commits

Author SHA1 Message Date
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 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 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
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 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
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 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 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