Commit graph

240 commits

Author SHA1 Message Date
Leon Styhre a34bc45e56 Added an opacity shader. 2020-09-12 19:17:26 +02:00
Leon Styhre 79b5bfffef Some minor cosmetic changes. 2020-09-04 19:05:48 +02:00
Leon Styhre 9da16dd00e Some minor cosmetic code changes. 2020-08-30 22:25:38 +02:00
Leon Styhre d512c2b11d Implemented OpenGL GLSL shader support. 2020-08-30 22:19:37 +02:00
Leon Styhre a6c8f8034e Updated the built-in Math::clamp() argument order to behave as the C++17 std::clamp(). 2020-08-30 22:03:11 +02:00
Leon Styhre feb6577dbc Changed to full system name sorting for the system view and scraper selector. 2020-08-24 18:51:55 +02:00
Leon Styhre 88a5962926 Changed '#ifdef' to '#if defined()' throughout the code. 2020-08-23 17:04:30 +02:00
Leon Styhre af5a48ed10 Removed unnecessary #ifdefs for the SDL2 include files. 2020-08-23 16:15:06 +02:00
Leon Styhre 31fae9678a (macOS) Made playing of videos work. 2020-08-23 15:42:10 +02:00
Leon Styhre ad960b28ac Various updates to make the application compile on macOS. 2020-08-17 19:15:05 +02:00
Leon Styhre 5b93c40365 Adjusted the scroll speed and scroll delay for the game descriptions. 2020-08-15 10:15:17 +02:00
Leon Styhre d45e72e10c Fixed incorrect knob position for SliderComponent for non-zero minimum values. 2020-08-08 12:33:55 +02:00
Leon Styhre 22ed97c6d8 Fixed an issue where hiding a folder was not immediately reflected in the gamelist.
Improved the debug logging for hidden games as well and adjusted the hidden text opacity slightly.
2020-08-06 18:16:31 +02:00
Leon Styhre 2a3d78bef2 Text opacity is now lowered for games marked not to be counted, and for hidden games. 2020-08-06 16:48:32 +02:00
Leon Styhre 2c6bc918d6 Scraping options not supported by TheGamesDB are now grayed out in the menu.
This required some general logic to be added to disable GUI components, and this functionality could hopefully be useful elsewhere.
2020-08-05 19:31:59 +02:00
Leon Styhre 3ae0726d1a Improvements to the date and time handling. 2020-08-02 15:56:32 +02:00
Leon Styhre 3923ad32c6 Fixed an issue where trigger input in menus wasn't handled correctly. 2020-08-02 15:04:43 +02:00
Leon Styhre 3f8e5a001b Changed the handling of blank game name entries in the metadata editor. 2020-08-02 11:45:59 +02:00
Leon Styhre ce9d5c2599 Fixed the screensaver random function so it does not show the same game twice in a row.
Also fixed a bug related to audio playing for the video screensaver and changed its name from 'random video' to simply 'video'.
2020-07-28 11:10:14 +02:00
Leon Styhre 6090ff3df8 Improved handling of audio settings for video files. 2020-07-27 21:31:02 +02:00
Leon Styhre 9f0e587b1a Harmonized some screensaver options. 2020-07-27 20:38:22 +02:00
Leon Styhre 58ba42ed54 Removed scaling and CaptionsCompatibility option for the video screensaver. 2020-07-27 20:20:58 +02:00
Leon Styhre a90fb33cc7 (Windows) Fixed an issue where the date was shown as unknown during scraping. 2020-07-20 10:19:15 +02:00
Leon Styhre 8fcb56cfb3 Made game launching on Windows much more seamless.
Also added an option to hide the taskbar.
2020-07-18 13:21:44 +02:00
Leon Styhre 70d0057295 Both user changes and scraper changes are now color marked in the metadata editor.
User changes are marked with blue and scraper changes with red.
2020-07-15 17:44:27 +02:00
Leon Styhre 57d6dab2cc Some cosmetic code changes. 2020-07-13 20:58:25 +02:00
Leon Styhre 76aa239855 Initial update to make the application build and run on Windows.
Much more work will be needed to get the Windows port working properly.
2020-07-03 20:23:51 +02:00
Leon Styhre e4fdd1e20d Code cleanup and code documentation update.
As of this commit, the initial code cleanup and code documentation has been completed for the entire application.
2020-06-28 18:39:18 +02:00
Leon Styhre eeae8033bd Use SDL2 include files instead of those for SDL version 1.
This resolves an irritating issue in the code editor where SDL2-specific functions could't be found. Not entirely sure about the SDL include file logic for other operating systems than Linux so the #ifdef directives may need to be updated further at a later date.
2020-06-26 18:03:55 +02:00
Leon Styhre 0387d515fb Update to fully support Clang/LLVM.
Also a general cleanup of CMakeLists.txt and many small code changes to satisfy Clang that complained quite a lot and actually wouldn't compile the binary at all at first.
2020-06-25 19:52:38 +02:00
Leon Styhre 8fefc9232c Reorganized all resources to a subdirectory structure and added the CMake install prefix to the resource search path.
CMAKE_INSTALL_PREFIX and CMAKE_INSTALL_DATAROOTDIR are now used to resolve the resource path. As of this commit, there are only two paths where resources are searched, under the user home directory and under this install prefix directory (which defaults to /usr/local/share/emulationstation/resources but can be set to for instance /opt/share/emulationstation/resources using the appropriate CMake flags).
2020-06-21 19:35:43 +02:00
Leon Styhre 67aa6b3dbd Huge code cleanup and code documentation update.
Includes lots of conversions from tabs to spaces. Only cosmetic code changes in this commit.
2020-06-21 14:25:28 +02:00
Leon Styhre 53ef1e5be7 Added navigation sounds to left and right triggers.
Also added left and right trigger navigation to grid view, to jump to the first and last game of the gamelist.
2020-06-15 22:55:47 +02:00
Leon Styhre 4098c64468 Implemented shoulder- and triggerbutton navigation to TextEditComponent (i.e. text edit quickjumps). 2020-06-13 21:55:58 +02:00
Leon Styhre f1f82ac29f Added support for jumping to the beginning and end of gamelists and menus using the left and right trigger buttons. Also fixed some navigation bugs. 2020-06-13 10:25:09 +02:00
Leon Styhre 4c67dae788 Added color marking to GuiMetaDataEd for newly scraped data. 2020-06-10 19:54:37 +02:00
Leon Styhre 4a38271f6a Expanded the help system to (hopefully) the whole application, removed the completely broken command line scraper and fixed some bugs related to the game collections. 2020-06-09 20:03:31 +02:00
Leon Styhre c5e70385dd Expanded support for help system theming to entire application, as before it was only partially implemented. 2020-06-07 20:09:02 +02:00
Leon Styhre b7d4274c6e Added save confirmation dialogs to the text edit components, reorganized the scraper menu slightly and fixed a bug when toggling the screensaver. 2020-06-07 10:57:49 +02:00
Leon Styhre a104b653ae Mapped button Y to backspace in TextEditComponent. 2020-06-06 22:26:35 +02:00
Leon Styhre f5376defe0 Changed to ISO 8601 date format and tidied up the scraper search screen. 2020-06-06 22:04:05 +02:00
Leon Styhre 709e6b996e Code cleanup and code documentation. Only cosmetic changes in this commit. 2020-06-06 16:48:05 +02:00
Leon Styhre b7feedd287 Moved all components into es-core and renamed ScraperSearchComponent to GuiScraperSearch as it's a GUI and not a component. 2020-06-06 14:14:13 +02:00
Leon Styhre 90735d44e3 Major update to scraper including support for new media handling logic, ability to download more media file types (screenshot, cover, marquee, 3D box) and an improved scraper GUI. As well a rewrite of the navigation sound code. 2020-06-06 13:10:33 +02:00
Leon Styhre 6303aa5664 Updated VLC video playing to use modern asynchronous media parsing 2020-05-15 18:35:30 +02:00
Leon Styhre 0aafc1314a Added navigation sound support (configurable per theme) and implemented proper sound handling at most places in ES 2020-05-15 18:08:26 +02:00
Jools Wills 3b2227b4d1
Merge pull request #644 from pjft/disable-ss-audio
Added option to disable video screensaver audio on VLC and OMXPlayer
2020-04-11 22:12:08 +01:00
pjft f3de559cc3 Fix rotation for OMX Player 2020-04-08 13:23:41 +01:00
pjft b2e71015a1 Added option to disable video screensaver audio on VLC and OMXPlayer 2020-03-28 21:01:47 +00:00
Cristi Mitrana 3b85735a2d InputManager: replace pageUp/Down with left/rightShoulder and create an alias (via isMappedLike) to accomodate existing configs that use the PageUp/Down buttons. 2019-12-23 16:12:35 +02:00
Jools Wills d1c24f429e
Merge pull request #621 from cmitu/date-fix
fix 'DateTimeEditComponent' output formatting
2019-12-10 05:31:49 +00:00
Cristi Mitrana c48c2ce56f fix 'DateTimeEditComponent' output formatting.
If the display mode is `DISP_DATE`, ignore the `mTime` field when calculating the output.
This fixes the size calculation of the component.

Fixes https://github.com/RetroPie/EmulationStation/issues/385.
2019-12-03 15:11:35 +02:00
John Rassa 9dfbaa5566 fix assignment of gridtile theme properties 2019-10-07 22:25:39 -04:00
John Rassa 961571655b Grid updates. Animate scrolling option, autoLayout option, center selection option, scroll loop option, image source option 2019-09-21 19:38:57 -04:00
John Rassa b43f1b43d3 clean up opacity handling for ImageComponent, RatingComponent 2019-09-08 09:24:25 -04:00
Tomas Jakobsson eda3fe9c3b
Merge pull request #599 from jrassa/image-video-component-theme-cleanup
Image video component theme cleanup
2019-09-07 19:28:36 +02:00
Tomas Jakobsson 71ac016c3d Make sure all vertices are properly rounded 2019-08-31 18:19:43 +02:00
Tomas Jakobsson 489d7de096 Eliminate drawRect that takes int's and make sure everything uses the float version properly, this way everything is rounded the same way
Only round the transforms when setting them on the GPU, to make sure everything is rounded the same, but only at the final moment
2019-08-31 17:58:36 +02:00
John Rassa 3b07bfeb93 cleanup duplicate theme code in Image/Video components 2019-08-31 09:50:57 -04:00
John Rassa fc58af98fd support for color gradients in drawRect and ImageComponent 2019-08-29 19:47:16 -04:00
Tomas Jakobsson 79cc5a7e8b
Merge pull request #575 from jrassa/guicomponent-visible
support 'visible' theme element
2019-08-29 10:25:10 +02:00
Tomas Jakobsson 9de16045c9 whitespace cleanup
fix faulty line endings
silence warnings on windows
2019-08-25 17:23:02 +02:00
Tomas Jakobsson a02a747c50 Redid the entire Renderer
Made all components render using triangle strips
2019-08-25 15:45:22 +02:00
John Rassa 8de1fc8860 add 'visible' theme element 2019-07-21 23:13:48 -04:00
Dan Leach a2f59ee2fc Add Game Info Font Settings to OMX Player
Adds the ability for users to change the following features in OMX Player's subtitles (game info for screen saver).

- font size
- font file path
- italic font file path
- subtitle position

These changes can be made in the GUI menus via the Video Screen Saver menu, or directly in the es_settings.cfg file.

Safe OMX Player defaults are hard-coded into the EmulationStation application.

Here's an example of the new keys loaded/saved into in the es_settings.cfg file:

- `<int name="SubtitleSize" value="38" />`
- `<string name="SubtitleFont" value="/usr/local/share/fonts/slkscr.ttf" />`
- `<string name="SubtitleItalicFont" value="/usr/local/share/fonts/slkscrb.ttf" />`
- `<string name="SubtitleAlignment" value="center" />`
2019-06-19 18:51:32 +01:00
Tomas Jakobsson 5cc6bafd7d Silence warnings 2019-03-09 00:23:13 +01:00
Rael Gugelmin Cunha 464b0992ad Work with dpad and analogs 2018-11-15 14:38:20 -02:00
John Rassa a57b0ecfea create new DateTimeComponent 2018-10-15 20:40:45 -07:00
Hanno Zulla c8c26203f1 Replace blank_game bitmap with svg cartridge artwork. 2018-07-25 15:19:41 +02:00
Hanno Zulla 3e27412d65 Replace folder bitmap with svg artwork. 2018-07-25 14:52:13 +02:00
Hanno Zulla d02fab8463 Fix SVG resize issue for option_arrow.svg. 2018-06-12 16:44:25 +02:00
John Rassa 46c274ebe4
Merge pull request #451 from pjft/image-fix-part2
Final Fix for resizing images
2018-06-10 22:05:07 -04:00
pjft 21f21d8268 Final Fix for resizing images 2018-06-09 18:38:18 +01:00
Koerty 3d7d62047b Grid fix freeze with big game collections
This fix the infinite freeze with big game collections by storing the texture path instead of loading texture resource
2018-06-08 11:31:24 +02:00
John Rassa df60750ec9
Merge pull request #440 from Koerty/grid-fix-horizontal-mod
Fix horizontal scrolling grid bugs
2018-06-06 16:06:36 -07:00
Koerty 8763adedb1 Fix grid padding being 2 times smaller than it should be 2018-06-06 23:26:32 +02:00
John Rassa 27670e48d6
Merge pull request #441 from pjft/image-fix
Fix for image resize flicker when using MaxSize
2018-06-04 14:28:17 -07:00
pjft 68dff607c8 Fix for image resize flicker when using MaxSize 2018-06-04 21:25:45 +01:00
Koerty bdc3054423 Fix horizontal scrolling grid bugs
This fix 2 bugs with the horizontal scrolling grid :
- The grid is now positioned correctly (bug introduced by the buffer of the dynamic image loader)
- The right column contain the partial tile in horizontal mod, not the bottom row
2018-06-03 01:03:14 +02:00
Koerty 5913c9465e Add extra buffer rows to the grid to load images ahead 2018-05-21 22:06:00 +02:00
John Rassa 0928498ef2 Fix for Windows build 2018-05-18 19:32:09 -07:00
Koerty 9f10b61dfa Add 3 new theming properties to the grid tile background
Add 3 new theming properties to the grid tile background : - backgroundCornerSize
- backgroundCenterColor
- backgroundEdgeColor
2018-05-18 01:20:58 +02:00
Koerty c080ffb2c3 NinePatch now position correctly when origin is different from 0 0 2018-05-10 23:43:08 +02:00
Koerty 80456f566a Partially display the last row if grid number of row isn't an integer
- Also fix 2 bugs introduced by #428
- Also add log error message if grid dimensions are below 1
2018-05-09 17:29:21 +02:00
Koerty a52a2f5597 Change grid creation flow
- This changes make sure the buildTiles function is called only one time, at the end of the applyTheme function.
- The buildTiles function now call calcGridDimension as both are linked to the same events
2018-05-01 05:19:45 +02:00
Koerty 918ecbe493 Rewrite NinePatchComponent to handle images of all sizes
- Rewrite NinePatchComponent to handle images with a different size than 48x48 px
- It's now possible to change the border sizes using setCornerSize function
2018-04-29 02:06:02 +02:00
John Rassa 4a1e9d5f11
Merge pull request #415 from Koerty/grid-default-image
[GRID 5 & 6] Add grid default image and folder image
2018-04-16 21:30:40 -04:00
Koerty 3100fa3a6d Add grid default image and folder image
Add default game image and folder image to the grid. They can be configured by the theme with the gameImage and folderImage properties of the imagegrid.
2018-04-17 01:37:39 +02:00
John Rassa e3bebc872d
Merge pull request #417 from Koerty/help-prompt-origin
Add "origin" theming element for help prompt
2018-04-16 18:43:52 -04:00
Koerty 1b4a545c90 Add "origin" theming element for help prompt 2018-04-15 21:01:54 +02:00
Koerty 4a587ca347 Fix calcGridDimension being called before mScrollDirection 2018-04-15 15:20:49 +02:00
Koerty deeaf438c7 Clean ImageGridComponent code
- Separated private methods and attributes in 3 groups :
  - images & entries
  - tiles
  - miscellaneous
- Renamed some methods :
  - buildImages -> buildTiles
  - updateImages -> updateTiles
- Moved private methods implementation so they respect the same order as their declaration
- Changed some methods internal variable names and other smalls clean
2018-04-13 15:24:32 +02:00
John Rassa c7c828e47a
Merge pull request #412 from Koerty/crop-image-and-minsize
Add cropping and minSize to ImageComponent
2018-04-12 19:15:13 -07:00
Koerty f946801006 Add scroll direction to the grid
Vertical by default, but can be set to horizontal by the theme
2018-04-13 03:41:50 +02:00
Koerty d23d5dbc59 Add cropping and minSize to ImageComponent
- A call to cropTop(0.2) will crop 20% of the top of the image
- A call to minSIze(0.2, 0.2) will resize the image smallest side to 0.2 without breaking aspect ratio, but crop the extra lenght of the biggest side.
- Call minSize(0.2, 0.2) and then uncrop() to define an image size by its smallest side
2018-04-13 02:57:43 +02:00
Koerty 3993ace607 Add GridTileComponent and base theming syntax
- Add the GridTileComponent which hold the image and its background
- Add base theming syntax for the ImageGrid and GridTIle
- Numerous refactoring/cleaning in ImageGridComponent
2018-04-11 14:20:59 +02:00
Koerty 82e5c21da6 Add base theming syntax for the grid
- The themes can now configure following elements : pos, size
- Change some default values for them
2018-04-07 10:37:09 +02:00
John Rassa 016956703a
Merge pull request #404 from Koerty/grid-metadata
[GRID 4] Add metadata from the detailed view to the grid view
2018-04-06 19:34:21 -07:00
John Rassa e82895ffca
Merge pull request #403 from Koerty/grid-display-bottom-row
[GRID FIX] Bad tile position when close to the last row and last row is full
2018-04-06 19:18:44 -07:00
Benjamin D a006650c1c Add metadata from the detailed view to the grid view
- Add the metadata from the detailed view to the grid view (minus the image, as it doesn't make sens in the grid view)
- Add a callback to the ImageGridComponent to update the metadata info panel when cursor changed
2018-04-06 15:54:34 +02:00