Commit graph

650 commits

Author SHA1 Message Date
Leon Styhre 14e2ede448 Moved a sorting function to the proper location inside the correct class. 2020-09-17 22:18:13 +02:00
Leon Styhre d4f5b2d20d Text scrolling now stops when launching a game and when the screensaver starts.
Also did some additional code cleanup.
2020-09-17 22:00:07 +02:00
Leon Styhre 254029fed6 Reverted to longer line length license file and added custom macOS version. 2020-09-17 21:49:40 +02:00
Leon Styhre 2a852170a8 (Windows) Fixed some build issues and got the OpenGL shaders to work.
Also some additional code cleanup.
2020-09-16 22:14:35 +02:00
Leon Styhre aa07a1094f Removed deprecated LaunchAnimation.h 2020-09-15 23:06:36 +02:00
Leon Styhre ae7c9dabb8 Decreased CPU usage dramatically and fixed multiple UI navigation glitches.
Also did some code cleanup.
2020-09-15 22:57:54 +02:00
Leon Styhre a6430ff0ff Moved the input debug logging to a more appropriate location.
This also fixes the issue where some input was not being logged correctly.
2020-09-15 21:12:32 +02:00
Leon Styhre 863063ee47 Started to add SPDX license identifiers. 2020-09-13 20:32:22 +02:00
Leon Styhre 87bee7fae9 Added 'Desktop Edition' to the log output version info. 2020-09-13 20:07:02 +02:00
Leon Styhre d787f06c63 The cached gamelist background is now updated when using the metadata editor. 2020-09-13 19:20:30 +02:00
Leon Styhre 98d38b3b46 Eliminated unnecessary processing and rendering in the gamelist view.
Also added a game image fade-in effect to the Detailed view style.
2020-09-13 19:16:40 +02:00
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 55a2305260 (macOS) Improved full screen mode. 2020-09-10 19:09:27 +02:00
Leon Styhre 0c1edae531 Re-enabled the back button for the video screensaver confirmation dialog. 2020-09-04 19:47:35 +02:00
Leon Styhre 9da16dd00e Some minor cosmetic code changes. 2020-08-30 22:25:38 +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 796d2c9ec8 (macOS) Disabled unusable command line arguments. 2020-08-23 21:53:21 +02:00
Leon Styhre 46ab60ad4e (Windows) Fixed the broken build for this OS.
Also some other minor cosmetic code changes.
2020-08-23 21:27:01 +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 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 16425b4c32 (macOS) Updates to CMake scripts and corresponding documentation. 2020-08-23 11:35:02 +02:00
Leon Styhre 6fa4333499 (macOS) Several updates to the .dmg package generator setup. 2020-08-21 21:58:12 +02:00
Leon Styhre c274a90765 Changed the licenses directory name from uppercase to lowercase. 2020-08-19 22:50: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 541f7202d8 Added copying of macOS systems template upon application startup. 2020-08-19 22:17:32 +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 7383322bac Changed scraper to always display the game name.
Some minor cosmetic changes as well.
2020-08-16 16:53:49 +02:00
Leon Styhre 6dd1078e09 Added temporary game launch notification popup. 2020-08-15 15:41:11 +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 295bb0c4c4 Fixed a memory leak where some textures were not deleted during gamelist reloads. 2020-08-08 22:29:32 +02:00
Leon Styhre c9a3dbc82e Several changes related to VRAM usage and GPU statistics. 2020-08-08 15:14:33 +02:00
Leon Styhre bd57d23bce Added metadata setting to hide metadata fields from the gamelist view. 2020-08-08 11:36:43 +02:00
Leon Styhre 3ca9f5478a Fixed an issue where detection of folder-only views was not working. 2020-08-07 23:33:05 +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 d2dfbc5919 Fixed two issues with random game selection. 2020-08-06 23:41:44 +02:00
Leon Styhre 3a59c77d3e Games marked not to be counted are now also excluded from the 'Recent' and 'Favorites' collections.
Also fixed a crash when opening the game options menu when a placeholder was selected.
2020-08-06 22:12:19 +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 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 2ee67407d8 Scraper allowance information is now logged as debug info. 2020-08-06 12:52:06 +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 2efc5aed93 Added system name in square brackets after game file name in metadata editor. 2020-08-05 15:27:03 +02:00
Leon Styhre 1ba59d98d9 Changed raw game launch command logging from Info to Debug. 2020-08-05 15:07:17 +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 939f3389d5 Improved the ScreenScraper error reporting. 2020-08-05 10:51:02 +02:00
Leon Styhre 996af43299 Added some missing game platforms.
Also updated scrapers with some additional missing systems.
2020-08-05 10:45:27 +02:00
Leon Styhre cc6ef4220e Fixed an issue with sorting favorite folders. 2020-08-04 13:39:24 +02:00
Leon Styhre 52069d2417 Added the possibility to mark folders as favorites.
Also added the options to mark folders as completed and broken/not working.
2020-08-04 13:04:55 +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 dec3a74e16 Fixed ScreenScraper handling of missing game metadata. 2020-08-02 14:19:51 +02:00
Leon Styhre 101bdf4bfc Changed the scraped file display name from upper case to original case. 2020-08-02 12:44:33 +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 9b23741bda Some small cosmetic changes to scraper error messages. 2020-07-31 15:20:55 +02:00
Leon Styhre 3f9c43afb9 Fixed a scraping issue where failed image writing was not handled correctly. 2020-07-31 15:00:07 +02:00
Leon Styhre 317719b678 Fixed an issue with the scraper error dialog. 2020-07-31 14:24:14 +02:00
Leon Styhre af37173a0b Fixed an issue where the scraper wouldn't handle errors correctly. 2020-07-31 14:20:37 +02:00
Leon Styhre 676b076e07 Some changes mostly to get Ports working properly. 2020-07-30 22:19:37 +02:00
Leon Styhre 9b7ad8966e Added some additional error logging for ScreenScraper. 2020-07-30 20:11:45 +02:00
Leon Styhre 8233e2704e Added metadata editor button to delete media files from games and folders. 2020-07-30 20:05:57 +02:00
Leon Styhre bd7e0e5820 Some cosmetic improvements to the scraper. 2020-07-30 16:29:38 +02:00
Leon Styhre 2371ef51bc Fixed a scraper issue where escaped HTML quotation marks were not expanded for the game description. 2020-07-30 14:54:52 +02:00
Leon Styhre 9f04458bbd Launching a game inside a folder now also updates the folder's last played timestamp. 2020-07-30 14:21:20 +02:00
Leon Styhre 0985867d0f Fixed an issue where the quick selector would jump to the wrong folder for folder-only gamelists. 2020-07-30 13:43:04 +02:00
Leon Styhre 5f7ffe98c8 Added metadata flag to mark whether a file should be counted as a game.
This is useful for DOS games for instance, to exclude files such as installers, setup files etc.
2020-07-29 19:01:49 +02:00
Leon Styhre 949365c822 Renamed system 'pc' to 'dos' and adjusted some graphics files. 2020-07-29 11:19:26 +02:00
Leon Styhre 3cea714f9c Updated the ScreenScraper error handling slightly.
Also added the possibility to hide a folder in the same way as a game file.
2020-07-28 23:15:35 +02:00
Leon Styhre 96ea80fbcd Fixed a small issue with missing initialization of some theme label values. 2020-07-28 21:10:58 +02:00
Leon Styhre afe5d98c39 Enabled scraping for folders and changed file info to lowercase. 2020-07-28 21:08:17 +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 ea59d9f9c4 Fixed multiple issues with random selection of systems and games. 2020-07-28 15:19:54 +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 b21dbc4ada (Windows) Improved handling of hidden files and folders. 2020-07-27 13:06:46 +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 47523ba627 Fixed an issue where entering a blank game name in the metadata editor would crash the application. 2020-07-26 15:50:40 +02:00
Leon Styhre 496e653ae7 Fixed an issue on Unix where hidden games folders would crash the application. 2020-07-26 15:21:41 +02:00
Leon Styhre e2bd5d05b1 Fixed an issue where hidden files would still show up if they had a gamelist.xml entry. 2020-07-26 13:58:49 +02:00
Leon Styhre 6735dd3d76 Added missing systems to PlatformId.
Also did some other small system name changes.
2020-07-25 16:18:41 +02:00
Leon Styhre c4d634670d Fixed an issue where game media files would get deleted when the recents collection was trimmed. 2020-07-24 22:15:53 +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 fb38cf9248 Fixed an issue where the screensaver would start immediately after returning from a game. 2020-07-20 09:54:38 +02:00
Leon Styhre 5e5da8c52f Fixed an issue where attempting to read nonexisting JSON data would crash the application. 2020-07-20 09:25:54 +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 34da214a8d Disabled launch animations temporarily as they don't work as expected and a proper fix is planned for later. 2020-07-19 19:53:11 +02:00
Leon Styhre 8b3d2c7ef0 Fixed a bug where SystemView wouldn't properly loop the systems. 2020-07-19 19:50:14 +02:00
Leon Styhre ebc6aabe93 Increased fade speed for the fade transition style. 2020-07-19 12:23:30 +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 6a0682b833 Updated CMakeLists.txt and INSTALL.md to cover bundling of the required libVLC plugins for Windows. 2020-07-16 20:34:02 +02:00
Leon Styhre 4f2e4cbf5f Beta release for version 1.0.0 2020-07-16 15:56:12 +02:00
Leon Styhre ff1f329bd0 Added a Unix man page and a script to generate it.
The --help output text was changed slightly as well.
2020-07-16 14:24:48 +02:00
Leon Styhre 10420eaac2 Removed unnecessary settings file saving when changing the default sort order. 2020-07-16 12:19:11 +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 40be69cd64 Deletion of a game now removes its media files and its entry in the gamelist.xml file. 2020-07-13 20:13:48 +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 ed5815a582 Added desktop menu entry and icon for Unix. 2020-07-12 16:23:49 +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 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 29d2ccf201 Added %ESPATH% support to the ROMDirectory setting. 2020-07-10 21:20:52 +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 04d4658fc9 Updated the CMakeLists.txt files to be able to generate an NSIS installer for Windows.
Also some updates to the documentation and information files.
2020-07-07 21:33:33 +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 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 ee4a55e9d6 Fixed 'Refine Search' for the TheGamesDB scraper which I apparently broke in the last commit. 2020-06-25 20:37:41 +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 0a02d710f3 Removed the last remnants of the usage of /etc and updated the documenation accordingly. 2020-06-22 19:46:09 +02:00
Leon Styhre 672026632d Code cleanup and code documentation 2020-06-22 17:27:53 +02:00
Leon Styhre ac91da6995 Removed unnecessary processing steps during startup by skipping systems with no games.
This seems to decrease the (non-optimized) loading time by about 6,5% with a large es_systems.cfg configuration file.
2020-06-21 22:11:29 +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 5caabcff12 Changed confirmation messages for the GuiMetaDataEd text edit popups. 2020-06-18 19:54:13 +02:00
Leon Styhre f635e5bd2d Improved error handling for missing configuration files and ROMs. 2020-06-18 19:49:47 +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 20001d0cca Bugfix: When attempting to mark a directory as favorite game, the favorites navigation sound played. 2020-06-17 18:55:38 +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 fd6fc9653b Removed deprecated GuiFastSelect. 2020-06-13 22:26:11 +02:00