Commit graph

664 commits

Author SHA1 Message Date
Leon Styhre db0e15f5e8 Fixed an annoying scrolling issue that also affected the application performance. 2020-09-13 19:08:17 +02:00
Leon Styhre 02c9b4fb28 Several small improvements to the video view style.
Also partly rearranged the UI menu.
2020-09-13 14:28:06 +02:00
Leon Styhre 7dea5fb7df Renamed the setting 'Open menu effect' to 'Menu opening effect'. 2020-09-13 13:46:34 +02:00
Leon Styhre 66829b4ffa Added multiple animations and effects (mostly using shaders). 2020-09-13 13:21:38 +02:00
Leon Styhre a34bc45e56 Added an opacity shader. 2020-09-12 19:17:26 +02:00
Leon Styhre 3643c08caf Updates to the OpenGL shader handling. 2020-09-12 12:14:48 +02:00
Leon Styhre 79b5bfffef Some minor cosmetic changes. 2020-09-04 19:05:48 +02:00
Leon Styhre fd10aba815 Updated the GLSL shader logic and added a postprocessing function. 2020-09-04 18:59:19 +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 1df4caa43b Fixed an issue where ES could crash when a controller was unplugged. 2020-08-24 18:59:04 +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 77076c22f4 (Unix) Added border to borderless window if the resolution was manually changed.
Also fixed a mistake introduced in the last commit.
2020-08-23 22:40:15 +02:00
Leon Styhre d6baa2d132 (macOS) Add a window border if the user has changed the resolution from the command line. 2020-08-23 22:19:37 +02:00
Leon Styhre 796d2c9ec8 (macOS) Disabled unusable command line arguments. 2020-08-23 21:53:21 +02:00
Leon Styhre b7678007fa (macOS) Disabled reboot and power off menu entries as these require root privileges. 2020-08-23 19:17:06 +02:00
Leon Styhre b8c6366349 (macOS) Made the game launching more seamless. 2020-08-23 18:41:08 +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 ffcb578fe7 (macOS) Updates to make ES find resources and themes within the application installation directory. 2020-08-21 21:49:45 +02:00
Leon Styhre 7f31c1bbb4 Added .dmg package generator setup for macOS.
Also cleaned up and updated the CMakeLists.txt files and moved the non-source files to a separate assets directory.
2020-08-19 22:30:10 +02:00
Leon Styhre 3f9f620649 (macOS) Activated game launching function. 2020-08-19 22:02:42 +02:00
Leon Styhre b0624f2bc9 Updates to make the application work correctly (more or less) on macOS. 2020-08-18 17:48:21 +02:00
Leon Styhre 6633ee5028 Merge branch 'master' of https://gitlab.com/leonstyhre/emulationstation-de 2020-08-17 19:16:56 +02:00
Leon Styhre ad960b28ac Various updates to make the application compile on macOS. 2020-08-17 19:15:05 +02:00
Leon Styhre 130d9654f5 Video scraping is now enabled by default. 2020-08-16 15:58:29 +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 1d2b9f113b Added the ability to change the ROM directory if no game files were found on startup. 2020-08-15 10:12:19 +02:00
Leon Styhre 885bf61df0 Tweaked the description and setting name for the GPU statistics overlay. 2020-08-15 09:33:08 +02:00
Leon Styhre 7b76aa005f Fixed a large memory leak when reloading the system view. 2020-08-15 09:28:47 +02:00
Leon Styhre d3d57ae69a Fixed the VRAM statistics overlay that was using megabytes instad of mebibytes. 2020-08-08 22:33:27 +02:00
Leon Styhre c9a3dbc82e Several changes related to VRAM usage and GPU statistics. 2020-08-08 15:14:33 +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 11727a1392 Fixed an issue where the screensaver would start when it shouldn't.
Also changed so that the screensaver is reactivated after scraping only after the user has confirmed the scraping results.
2020-08-07 13:07:36 +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 408be5120c Multi-scraper folder scraping and folder scraper exclusions added.
A quick-skip shortcut was added to the multi-scraper as well and some minor changes were done to the ScreenScraper debug logging.
2020-08-06 15:12:04 +02:00
Leon Styhre 9f240394ed Added option to exclude files from the multi-scraper.
Two new scraper filters were added as well, 'Favorite games' and 'No game video'.
2020-08-06 11:27:16 +02:00
Leon Styhre c3de18dd96 Added support for scraping videos using ScreenScraper. 2020-08-05 22:38:44 +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 5283881edf Improved custom script execution for the game-start and game-end events.
Also did some minor cosmetic changes to the script logging.
2020-08-05 14:49:54 +02:00
Leon Styhre e1d1723ce2 Set rbsimple-DE explicitly as the default theme in es_settings.cfg. 2020-08-03 15:19:31 +02:00
Leon Styhre 3a08eee1d6 Fixed an annoying gamepad configuration issue. 2020-08-03 13:15:53 +02:00
Leon Styhre d9f00ec582 Fixed an issue where the keyboard was counted as a joystick. 2020-08-03 12:13:28 +02:00
Leon Styhre 1550c48187 Improved the input configuration logic.
Also added a command line option to force the input configuration even if a es_input.cfg file exists.
2020-08-03 11:39:04 +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 3887bfff3d Added a 'CLEAR' button to GuiTextEditPopup. 2020-07-30 16:39:16 +02:00
Leon Styhre 9c755f2d0b Fixed a display issue for folders with dots in their names. 2020-07-30 15:42:39 +02:00
Leon Styhre b60c86e40f Added option to sort folders on top of the gamelists. 2020-07-28 19:44:17 +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 1d2901ac33 Disabled broken subtitle overlay for the video screensaver. 2020-07-27 21:41:10 +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 c906881957 Fixed the screensaver controls.
It's now possible to start a game directly from the slideshow screensaver. Also fixed toggling of the video screensaver which was not working as expected.
2020-07-27 16:53:54 +02:00
Leon Styhre 41c3c66eb7 (Windows) Added support for setting the root of a drive as the home folder.
This is mostly usable for portable installations, for example on a USB memory stick.
2020-07-27 14:23:40 +02:00
Leon Styhre 2b898981cb (Windows) Updated some filesystem functions to support wide character filenames. 2020-07-27 13:17:36 +02:00
Leon Styhre bad9e772e9 Changed most setting values to lowercase in es_settings.cfg
Audio devices apparently need to be case sensitive.
2020-07-27 12:11:30 +02:00
Leon Styhre b5485b4ca9 Changed log levels from numbers to text. 2020-07-26 23:30:45 +02:00
Leon Styhre 329a8da441 Properly implemented hiding of games.
Also added a flag to force the Full UI mode from the command line.
2020-07-26 22:19:29 +02:00
Leon Styhre dc4870f543 Improved the trigger button handling and made it work (somehow) on Windows.
There are still some issues on Windows, especially with Dual Shock controllers, but a larger rewrite is required anyway of the input handling so it's not worthwhile trying to fix it at this time.
2020-07-24 18:24:04 +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 0a410863cb (Windows) Added a menu option to run ES in the background while a game is launched.
Suspending ES while launching a game has proven unreliable on Windows, but on some installations it works so it makes sense to let the user select it. It makes for a better and more seamless experience if it works as intended.
2020-07-19 22:08:14 +02:00
Leon Styhre 6c79224eea Added proper game launch function for Unix. 2020-07-18 23:07:02 +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 2ff3dda5c8 Added configuration menu entries for the game media directory and the default sort order. 2020-07-15 18:02:11 +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 1b65eaac2e Improved input device configuration.
Default keyboard mappings are now applied if the user has not configured the keyboard.
2020-07-14 19:16:21 +02:00
Leon Styhre 57d6dab2cc Some cosmetic code changes. 2020-07-13 20:58:25 +02:00
Leon Styhre 6199f7371d Made the automatic gamelist view style work with the new media handling logic. 2020-07-13 20:10:09 +02:00
Leon Styhre 09bbb925f9 Added missing help text to GuiMsgBox. 2020-07-12 21:05:50 +02:00
Leon Styhre 29c50ff5a1 Reintroduced the ES executable directory on Unix as a path to look for resources and themes. 2020-07-12 12:47:39 +02:00
Leon Styhre fe0e09ec7b Changed log level for missing or empty game systems from Info to Debug.
Also did some small changes to the OpenGL logging.
2020-07-12 12:09:01 +02:00
Leon Styhre 6565355831 Bundled fallback sounds are now loaded if the theme does not provide any navigation sounds. 2020-07-12 11:40:30 +02:00
Leon Styhre 6028777be4 Added creation of es_settings.cfg on first application startup and improved media directory error handling. 2020-07-11 10:10:07 +02:00
Leon Styhre 472a973f66 Added %ESPATH% variable support and fixed some other minor issues with the launch command. 2020-07-10 20:58:53 +02:00
Leon Styhre 3cad68be13 Added %EMUPATH% logic for Unix. 2020-07-10 19:53:33 +02:00
Leon Styhre 31da561695 Complete UTF-16 (Unicode) support added for Windows.
ROM names with Unicode characters are supported, as well as running ES from a directory that has Unicode characters in its name.
2020-07-10 18:32:23 +02:00
Leon Styhre adb5cb6664 Made the es_systems.cfg template install to the home directory during the first application startup. 2020-07-09 19:26:48 +02:00
Leon Styhre 9ba4f01a29 Deactivated the audio device settings and added a new setting for custom scripts.
Also changed some other setting names.
2020-07-09 19:24:20 +02:00
Leon Styhre d1f8c3e385 Changed 'launch string' to 'launch command' and the setting 'EnableSounds' to 'EnableNavigationSounds'. 2020-07-08 17:06:34 +02:00
Leon Styhre 5a7fb828a6 Added proper error handling for resource files and improved overall logging. 2020-07-08 17:01:47 +02:00
Leon Styhre 2bea3021c3 Added proper emulator launch function for Windows and added logic for the new %EMUPATH% variable. 2020-07-07 21:27:48 +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 5b17edde8b Additional changes for SDL2 include files.
Of course I had to miss some things..
2020-06-26 18:11:24 +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 1f74723533 Another code cleanup and code documentation update. 2020-06-26 17:17:35 +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 fb4c5708b7 Made pugixml an external dependency and fixed the cmake/cpack installation and package creation.
As pugixml seems to be well supported nowadays and seems to ship with most distributions it's pretty pointless to keep bundling it with EmulationStation.
2020-06-24 17:38:41 +02:00
Leon Styhre 6b62065595 Large code cleanup and code documentation update.
The initial code cleanup of es-app is now complete as of this commit.
2020-06-23 20:07:00 +02:00
Leon Styhre 672026632d Code cleanup and code documentation 2020-06-22 17:27:53 +02:00
Leon Styhre b560429a20 Moved the CMake install prefix function to FileSystemUtil and implemented the same logic also for theme loading. 2020-06-21 21:08:54 +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 49161df0e6 Renamed platform.cpp/platform.h to Platform.cpp/Platform.h
The naming convention for the rest of the application is to start the file names with a capital letter.
2020-06-21 12:26:21 +02:00
Leon Styhre fb0ab2f06c Added a ROM path variable for use with es_systems.cfg and custom collections.
The variable %ROMPATH% now expands to the ROMDirectory setting in es_settings.cfg which removes the need for absolute ROM paths (although absolute paths are still supported). Custom collections with absolute paths can still be loaded for backward compatibility with old custom collections.
2020-06-18 17:09:32 +02:00
Leon Styhre 3c7d86a578 Made navigation sounds unload and reload properly on theme changes.
Also improved the navigation sound handling for SystemView.
2020-06-17 22:13:07 +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 8492160a80 Added semi-automatic scraping mode, fixed some scraping bugs and improved folder metadata editing. 2020-06-13 16:47:12 +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 fd7da08bf9 Large code cleanup and code documentation update, mostly related to the scraper. Only cosmetic changes in this commit. 2020-05-26 18:34:33 +02:00
Leon Styhre da946279de Some code cleanup and code documentation. Improvements to handling of command line arguments. 2020-05-25 21:34:42 +02:00
Leon Styhre 76c8b5f121 Reorganized the main menu. 2020-05-24 20:57:07 +02:00
Leon Styhre 810b41bdc9 A few small optimizations, some operations will be way faster now if fewer custom collections are in use. Also some sorting bug fixes and some code cleanup. 2020-05-24 14:26:08 +02:00
Leon Styhre f2f7d34bb6 Monster commit. Rewrote gamelist sorting logic and made per-gamelist sort settings session-permanent. Cleaned up a lot of code and started to reformat for 100 characters line length. 2020-05-24 10:29:29 +02:00
Leon Styhre f806285e06 Added support for per-game launch string override (emulator override), configurable in the game meta data edit screen 2020-05-19 17:53:34 +02:00
Leon Styhre fbec408dfa Rewrote media handling to look for images and videos in a configurable media directory (by matching the ROM names) instead of being configured per game as XML tags 2020-05-18 19:00:43 +02:00
Leon Styhre 08a152db16 Allow editing of play count metadata, changed to medium font size for editing popups and updated program description 2020-05-16 14:21:36 +02:00
Leon Styhre 89794a34cf Made some variable names for the navigation sounds more consistent 2020-05-15 18:41:53 +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 3d6adf9ade Implemented a much more elegant handling of navigation sounds 2020-05-15 18:21:24 +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
Leon Styhre 5f5d12535d Rewrote parts of the font loading code and bundled the required fonts with ES instead of relying on the OS providing them. This fixes the display of star symbols for favorites in the gamelists 2020-05-15 18:03:42 +02:00
Leon Styhre f5d3c8ac0b Removed code for restarting the application, fixed system reboot and power off (and changed these names), fixed some small cosmetic issues with log file output and main menu 2020-05-15 17:58:25 +02:00
Leon Styhre ffcf52c710 Made game launching more seamless and prevent minimizing of window when switching applications. Also added menu entry to choose between normal fullscreen mode and borderless fullscren mode 2020-05-15 17:51:32 +02:00
Leon Styhre 24d6a70019 Added menu options to disable system restart and system shutdown 2020-05-15 17:46:08 +02:00
Leon Styhre 1007f19bdc Added functionality to show favorites on top of the gamelists (mostly ported from batocera-emulationstation) 2020-05-15 17:42:36 +02:00
pjft 9c46f50497
Merge pull request #645 from pjft/kids-start-menu
Option to show start menu in Kids mode
2020-04-27 10:00:45 +01: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
Tomas Jakobsson 3eda4edfcf
Merge pull request #647 from tomaz82/fix_clearcolor
Fix clearcolors
2020-04-01 16:16:38 +02:00
Tomas Jakobsson b6f0f5c2c7 Fix clearcolors 2020-04-01 16:13:59 +02:00
pjft b2e71015a1 Added option to disable video screensaver audio on VLC and OMXPlayer 2020-03-28 21:01:47 +00:00
pjft 258df48481 Option to show start menu in Kids mode 2020-03-28 21:00:25 +00:00
Tomas Jakobsson ef33eaec51
Merge pull request #627 from smithjd15/logTimestamp
Timestamp'ed log entries
2020-03-19 15:36:37 +01:00
Jools Wills 100d01b882
Merge pull request #631 from cmitu/bindings-mod
InputManager: replace pageUp/Down with left/rightShoulder
2020-02-01 02:32:49 +00:00
Tomas Jakobsson 72786c83a0 Prepare for GLES 2.0 2020-01-03 18:04:58 +01:00
James D. Smith 7de52b9279 Timestamp'ed log entries 2019-12-31 16:15:57 -07: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 ef186e7bd6
Merge pull request #624 from Teklad/reliable-exe-path
Use platform-specific methods for setExePath
2019-12-19 03:33:45 +00:00
Justin Kinnaird 08335841be Use platform-specific methods for exePath 2019-12-18 21:28:01 -06:00
Jools Wills 46047894f3
Merge pull request #578 from verybadsoldier/feature/save_metadata_on_change
Added an option to save meta data instantly when changed.
2019-12-18 04:06:23 +00:00
verybadsoldier a136179fc9 save also metadata that have default values. they might not had default values on start so they have to be saved 2019-12-13 21:38:01 +01: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 dc94060e7e getGenericPath: don't remove trailing '/' when path is '/'.
This prevents 'getAbsolutePath' to get into a loop with an empty path and EmulationStation to crash when the `$CWD` is `/`.
2019-12-09 20:06:49 +02: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 8d759c7c5d add 'animate' to theme properties for imagegrid; fix blurriness on image upscaling 2019-10-09 18:51:33 -04: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
Jools Wills c384beedb0
Merge pull request #606 from psyke83/mSkipAxis_fix
filterTrigger: filter negative trigger axis event after positive axis…
2019-09-07 18:31:50 +01: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
Shanti Gilbert 20b367009c Fixes compiling when Renderer_GLES10 is used 2019-09-02 14:50:14 -05: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
Conn O'Griofa 7ac6ffcdbe filterTrigger: filter negative trigger axis event after positive axis detection
If filterTrigger detects a positive axis event on a common trigger axis while also
configuring a trigger, the next input event will be a negative axis press
(as the trigger needs to transition from >0 to rest at -32767).

Filter this negative event or else the next item in the configuration dialog
(typically "left thumb") will erroneously detect this as a separate event.
2019-08-30 21:24:35 +01:00
Conn O'Griofa 5edecef9c8
Merge pull request #576 from hzulla/feature/bigbenff
Add BigBen kid's PS3 gamepad 146b:0902 to filterTrigger()
2019-08-30 21:16:41 +01: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
John Rassa f0c64073db
Merge pull request #584 from tomaz82/cleanup_renderer
Cleanup renderer
2019-08-25 09:54:35 -04:00
Tomas Jakobsson a02a747c50 Redid the entire Renderer
Made all components render using triangle strips
2019-08-25 15:45:22 +02:00
Tomas Jakobsson 4b4c207208
Merge pull request #587 from fabricecaruso72/home-enhancements
Add --home command line to set custom home path + make windows version natively portable by detecting if .emulationstation is a subfolder of the exe.
2019-08-23 14:47:14 +02:00
Fabrice CARUSO 95de3aae7f Add --home command line to set custom home path + make windows version natively portable by detecting if .emulationstation is a subfolder of the exe. 2019-08-23 14:18:13 +02:00
Fabrice CARUSO f47fb048d5 Fix shutdown on Windows + process shutdown commands after main loop 2019-08-20 19:26:32 +02:00
Tomas Jakobsson ce8b16aacf Add Transform4x4f::orthoProjection 2019-08-13 15:49:34 +02:00
Tomas Jakobsson 28168667ea Fix Transform4x4f which was broken in many, many ways, but just out of pure luck worked anyway 2019-08-08 17:45:11 +02:00
Hanno Zulla 3f012aeef5 Add BigBen kid's PS3 gamepad 146b:0902 to filterTrigger() 2019-07-26 12:38:54 +02:00
John Rassa 8de1fc8860 add 'visible' theme element 2019-07-21 23:13:48 -04:00
John Rassa 13819ec0d9
Merge pull request #571 from cmitu/collections-label-for-system-options
Collections: make the display of system's name configurable.
2019-07-13 08:44:12 -04:00
Cristi Mitrana c84290e7fb Makes the display of system's name in Collections configurable.
* adds a new configuration option ("CollectionShowSystemInfo" = bool), in the 'Game Collections Settings' GUI. Defaults to previous behavior (true).
* reloads the Collection when the configuration is changed.
2019-07-12 10:32:01 +03: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
Conn O'Griofa 93fdfaa9c2 filterTrigger: generalize for more controllers
* Filter axes 2/5 for all devices, but only if LeftTrigger or RightTrigger is being configured. This should fix compatibility with XBox 360 and other generic controllers that use these axes for triggers, but won't affect other controllers using these axes for analog sticks, etc.
* Improve third-party PS3 detection (some Shanwan controllers have a grave accent in place of 'm' for 'Gamepad').
2019-04-12 04:48:39 +01:00
Jools Wills 289d89aad1
Merge pull request #555 from placroix74/screensaver-consume-input
[ScreenSaver] Consume input on cancel
2019-04-09 05:14:02 +01:00
Jools Wills fd04b153af
Merge pull request #554 from psyke83/ps3_triggerfilter
Implement filterTrigger for PS3 controllers
2019-04-09 05:13:23 +01:00
placroix74 9362967880 [ScreenSaver] Consume input on cancel 2019-04-07 08:55:27 -04:00
placroix74 f7af8357f8 Code formatting 2019-04-07 08:55:19 -04:00
John Rassa 91d0b6c918
Merge pull request #551 from jrassa/scripting
implement scripting support
2019-04-06 19:48:01 -04:00
Conn O'Griofa 03341f236d Implement filterTrigger for PS3 controllers
The hid-sony driver has both analog and digital buttons for the triggers,
and the analog values range from -32767 to 32767, which can cause two unwanted
input events (digital button and negative axis) per press.

Implement a function to filter out unwanted input events during configuration,
but isolate detection to known PS3 controllers with 6 axes so that older versions
of hid-sony and the sixad driver (which use 25+ axes) are not impacted negatively.
2019-04-06 11:19:12 +01:00
Jools Wills 945a4c9cfd
Revert "InputManager: improve trigger axis calibration" 2019-04-06 02:33:16 +01:00
jrassa 72edb792d2 implement scripting support 2019-03-26 20:02:42 -04:00
Tomas Jakobsson 07a9f18ac6 Fix FilesystemUtil::isEquivalent by eliminating it entirely 2019-03-13 21:18:58 +01:00
Jools Wills f9e48897d3
Merge pull request #546 from tomaz82/fullscreen_borderless
Add support for fullscreen borderless window
2019-03-09 00:27:07 +00:00
Tomas Jakobsson 0410864929 Add support for fullscreen borderless window 2019-03-09 00:39:43 +01:00
Tomas Jakobsson 5cc6bafd7d Silence warnings 2019-03-09 00:23:13 +01:00
pjft 55e4c47e4b Change handling of screensaver to FileData only and respect UI Mode 2019-02-26 09:36:36 +00:00
Jools Wills 9af271d36f add setting for searching for local game art - defaults to off 2019-02-09 17:27:34 +00:00
Lubosz Sarnecki 87a3205521 Loading screen: Be more verbose about what is happening.
Starting up emulationstation takes me about 1 minute over the network
with a large collection of 27 systems with images.

This patch uses the loading screen to tell the user about the status
of the startup, with information how many systems are left for view
initialization.

The most beefy part of the startup process is initializing the views,
and preloading images.

This patch extends the `renderLoadingScreen` function to take a string
and uses it in `ViewController::preload`.

v2: Add SplashScreenProgress option enabled by default.
2019-02-04 23:16:47 +01:00
pjft 9db9d45f54 Fix for unset AudioCard setting 2019-01-25 13:48:03 +00:00
Cristi Mitrana cdd43bf7e9 Add ScreenScraper.fr as scraping source 2019-01-19 09:01:35 +02:00
Jools Wills 6ffda17c4e
Merge pull request #495 from raelgc/fix-kids-unattended-mode
Fixing kids/unattended mode
2019-01-08 19:33:41 +00:00
Jools Wills bf02819125
Merge pull request #432 from raelgc/master
Skip mame bios/devices
2018-11-19 05:36:51 +00:00
Jools Wills 6576dd7ba4
Merge pull request #499 from raelgc/all-directionals
Work with dpad and analogs
2018-11-19 05:35:35 +00:00
Rael Gugelmin Cunha c98a5d6220 Fixing kids/unattended mode 2018-11-15 15:09:08 -02:00
Rael Gugelmin Cunha 464b0992ad Work with dpad and analogs 2018-11-15 14:38:20 -02:00
Jools Wills 04cb8f067b
Merge pull request #449 from psyke83/trigger_fix
InputManager: improve trigger axis calibration
2018-11-14 23:41:32 +00:00
Jools Wills 068ad86073
Merge pull request #483 from cmitu/master
Fix toggling the display of the hold-to-skip message during Input Configuration.
2018-11-11 05:02:47 +00:00
Rael Gugelmin Cunha 065fd8edf1 Skip mame bios/devices 2018-11-04 15:26:03 -02:00
Jools Wills 5af905e2c1
Merge pull request #494 from jrassa/variables-in-imports
allow variables in import elements
2018-10-26 03:57:31 +01:00
John Rassa 4fd0c66b90 allow variables in import elements 2018-10-24 16:19:27 -07:00
John Rassa a57b0ecfea create new DateTimeComponent 2018-10-15 20:40:45 -07:00
Cristi Mitrana 3ea6a7423b Fix the opacity for the hold-to-skip message.
This fixed the bug when toggling the visibility by calling `setOpacity` on the TextComponent
didn't have any effect.
2018-09-14 13:29:28 +03:00
John Rassa 2c2e23e802
Merge pull request #475 from tomaz82/stat64
Fixes for roms larger than 2GB
2018-08-29 22:12:10 -04:00
Tomas Jakobsson 84b1038c3f Fixes for roms larger than 2GB
pi:      #define _FILE_OFFSET_BITS 64
windows: Switch to use stat64 where needed
2018-08-21 16:43:15 +02:00
Tomas Jakobsson 15ccfc5a05 Remove trailing '/' in getGenericPath 2018-08-20 15:32:31 +02: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 891c552ce9 Updates artwork for input config, adds compass directions. 2018-07-02 11:02:51 +02:00
John Rassa 880064caa6
Merge pull request #453 from hzulla/feature/fix-optionlistcomponent-arrows
Fix SVG resize issue for option_arrow.svg
2018-06-14 18:14:53 -04:00
pjft 0d76ec52a5 Adjust mutex for SVG initialization and resizing 2018-06-12 22:30:42 +01: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
Conn O'Griofa b097648dde InputManager: improve trigger axis calibration
Some drivers (such as hid-sony) configure analog triggers (L2/R2) as axes
with axis range -32768-32767, but the resting value starts at -32768,
causing an initial or light press to register erroneously as a minus
axis value.

Fix by shifting ABS_Z and ABS_RZ axes that are detected to rest at
-32768 so that they will range from 0-32767 instead.

Patch based on Jools Wills' earlier commit: https://github.com/RetroPie/EmulationStation/pull/58
2018-06-08 04:45:04 +00: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
John Rassa c6a8a4b20c
Merge pull request #436 from RetroPie/scraper-fix
set curl to follow redirects to fix scraper error
2018-06-06 14:47:41 -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 86a2cb7840 set curl to follow redirects to fix scraper error
update to use legacy thegamesdb url
2018-06-05 19:00:42 -07: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
John Rassa 401b184615
Merge pull request #435 from raelgc/431-improve-kids-mode
Improving kids mode
2018-06-04 14:17:25 -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
Rael Gugelmin Cunha cbc1d02b1b More restriction on kids mode (#431) 2018-05-30 22:38:19 -03: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
Jools Wills b622a4272e
Merge pull request #413 from jrassa/windows-fixes
fix for several small issues in Windows build
2018-04-14 19:52:40 +01:00
John Rassa 99f7330475 fix for several small issues in Windows build 2018-04-13 16:53:39 -07: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