Commit graph

151 commits

Author SHA1 Message Date
Leon Styhre c9a3dbc82e Several changes related to VRAM usage and GPU statistics. 2020-08-08 15:14:33 +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 e1d1723ce2 Set rbsimple-DE explicitly as the default theme in es_settings.cfg. 2020-08-03 15:19:31 +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 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 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 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 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 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 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 6199f7371d Made the automatic gamelist view style work with the new media handling logic. 2020-07-13 20:10:09 +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 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 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 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 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 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 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 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 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 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
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
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
Tomas Jakobsson 9de16045c9 whitespace cleanup
fix faulty line endings
silence warnings on windows
2019-08-25 17:23:02 +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
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
jrassa 72edb792d2 implement scripting support 2019-03-26 20:02:42 -04:00
Tomas Jakobsson 0410864929 Add support for fullscreen borderless window 2019-03-09 00:39:43 +01: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
Rael Gugelmin Cunha c98a5d6220 Fixing kids/unattended mode 2018-11-15 15:09:08 -02:00
Rael Gugelmin Cunha cbc1d02b1b More restriction on kids mode (#431) 2018-05-30 22:38:19 -03:00
Tomas Jakobsson 1a4d13b6b3 Remove builtin resources 2018-02-08 19:27:44 +01:00
Tomas Jakobsson 403b798572 Remove the last traces of boost::filesystem::operational, this is PR 4 of 5 in the boost::filesystem removal quest 2018-01-27 22:52:14 +01:00
John Rassa 33e7a36163
set default value for ImageDebug option 2018-01-26 19:11:32 -05:00
John Rassa 0686b4690a
Merge pull request #352 from tomaz82/boost_filesystem
boost::filesystem replacement, step 1
2018-01-25 19:38:32 -05:00
Tomas Jakobsson c1f8e7294c Update and rename some Utils::FileSystem functions
Replace boost::filesystem::is_directory
with    Utils::FileSystem::isDirectory

Replace boost::filesystem::is_regular_file
with    Utils::FileSystem::isRegularFile

Replace boost::filesystem::is_symlink
with    Utils::FileSystem::isSymlink

Replace boost::filesystem::exists
with    Utils::FileSystem::exists

Replace boost::filesystem::create_directory
with    Utils::FileSystem::createDirectory

Replace boost::filesystem::remove
with    Utils::FileSystem::removeFile
2018-01-23 12:07:20 +01:00
jrassa b41118fe92 implement debug rects for images similar to text components 2018-01-22 19:31:18 -05:00
Tomas Jakobsson ec8ebf07f3 Fix --screenrotate to work with --screensize and --screenoffset 2018-01-19 00:50:15 +01:00
Tomas Jakobsson 4425ea0165 Implement --screensize and --screenoffset 2017-12-02 19:16:08 +01:00
D. Polders 1ed075a5e4 * Add ConfirmationPopUp when switching UIMode.
* Split out UIMode controller in separate class (in es-app).
* Fix passphrase input for wX360 controllers by ignoring hat-inputs
* Fix font fallback mechanism on rpi for non ascii characters using new Unicode2Chars() method.
* Fix UIMode not being saved due to popup window.
2017-11-19 00:28:36 +01:00
Tomas Jakobsson 9fbe95daa3 iterator -> const_iterator 2017-11-12 00:05:19 +01:00
Tomas Jakobsson ac01e8fcd4 Removed all boost::assign::list_of 2017-11-03 01:33:08 +01:00
D. Polders 189eb05fee * Introduce KidMode: Prevent collection editing
* Introduce FileData Filtering for Kiosk and  Kid Modes to:
1. In Kiosk mode: Hide items with metadata tag `<hidden>true</hidden>`
2. In Kid mode: only show items with metadata tag `<kidgame>true</kidgame>`
* ES will auto-revert UI mode back to Full  when there is nothing at all to show.
* Changing the setting hideQuitMenuOnKidUI to true will hide this menu.
2017-11-02 21:22:41 +01:00
Tomas Jakobsson a8fc560749 Header inclusion cleanup 2017-11-02 19:16:01 +01:00
Conn O'Griofa cdda38d05b Pi: use vsync by default and fix vsync on case
* Now that vsync off explicitly sets swap interval, it's clear that
  we've been using driver defaults (vsync on) up until now.
* Try to enable normal vsync before late swap tearing. The latter
  doesn't constrain framerate and looks basically identical to vsync
  off.
2017-10-27 01:37:09 +00:00
Rael Gugelmin Cunha c1f836c713 Add an UI option to automatically load a system gamelist (Fixes #253) 2017-10-25 10:29:39 -02:00
D. Polders 7a7550cde9 Introducing Kiosk UI mode, allowing users to hide menu items that might change system configuration settings. 2017-09-12 21:07:18 +02:00
sal ddf94786f4 Add image slideshow screensaver mode
This change adds an image slideshow screensaver mode with optional
background audio.  The existing menu and video screensaver have been
refactored to include this new mode.

By default, the slideshow screensaver will show images from the
game list, but it can be configured in the menu to use a custom
directory instead.
2017-09-08 21:45:50 -06:00
pjft b6a1234168 Setting VRAM default at 80 for the Pi
More often than not users are running into glGetErrors 505 (running out
of video memory) when using heavy themes with the default 100 VRAM
setting.

The advice of setting it to 80 is often the solution.

Until we have a proper/better GPU management solution, this is probably
a better default.
2017-08-28 11:08:56 +01:00
pjft 7caf70a5e5 Adding slider to control screensaver swap time 2017-08-23 09:21:31 +01:00
pjft 01a55ba6a2 Added support for custom Game Collection creation
- Create from a theme folder
- Create by specifying a name
- Refactored collection creation to be on-demand rather than on startup
2017-08-17 16:09:37 +01:00
hex007 90cd10b421 PowerSaver updates:
- Video Screensaver to skip fade in/out if Instant
- Video Previews to skip fade in/out if Instant
- Added Pause/Resume methods to PS for better description
- Added basic documentation to PS header file
- Added trailing after waking up from SS
- Added proper timing offsets after PS is triggered
- PS set to Disabled by default
- some whitespace edits
2017-08-11 10:03:12 -07:00
Jools Wills fc24dbe0c0 Merge pull request #183 from dankcushions/hidden_files
Skip hidden *nix files when populating gamelists.
2017-07-31 18:44:40 +01:00
dankcushions 5d41e3ad30 Skip hidden *nix files when populating gamelists. 2017-07-31 10:48:46 +01:00
hex007 45694cf1a4 Power Saver Feature
- Change Power Saver (PS) from Other Settings menu
- 4 Modes are available : Disabled, Default [default], Enhanced, Instant
- All modes work well with Screensavers and Video previews.
- PS is disabled while running Videos through VLC.
- PS is disabled while Scrapping
- Game counts are shown immidiately if in Instant Mode
- PS mode defaults if Transitions are changed while in Instant Mode
2017-07-25 12:07:35 -07:00
Jools Wills 7ad62df4df Merge pull request #168 from pjft/RetroPie-Virtual-Systems-PR
Adding support for "All", "Favorites" and "Last Played" systems
2017-07-08 07:31:39 +01:00
pjft d0cdbf2159 Adding support for Virtual Systems
- Refactoring System Environment data
- Added Virtual System Manager class
- Added "all", "favorites" and "last played" systems
- Added GuiInfoPopup class for notifications
- Added Favorites to metadata, as well as a shortcut to toggle favorites
- Added warning if enabling systems but themes don't support it
- Added "filter by favorites" per system
- Adjusted "Go to Random Game" behavior to account for the fact that we now have an "All Games" system
- Added "sort by system name" for the collections
2017-07-07 20:16:21 +01:00
hex007 64effcc69c Move Carousel transition to separate switch
- Removed Simple Slide
- Added Switch to control Carousel transition
2017-06-28 09:50:37 -07:00
pjft 59d7516a16 Random Game Screensaver, Game Name and Controls
- Final changes for VLC screensaver support as well
- ALSA de-init/re-init only when needed
- Adding screensaver options menu inside UI settings
- Slightly moved options (Show Frameskip to "Other Settings", sorting within same menu)
- Adding info popups on random video screensaver and OMX + Game Info setting
2017-06-11 19:56:05 +01:00
hex007 2d38605a08 Fixes for USB sound cards
- Ability to change device used for Volume control (PCM/Speaker/Master) only on Pi.
- Ability to change Audio device used for OMX player (local/hdmi/both/ALSA:HW:0,0/ALSA:HW:1,0)
2017-06-02 08:58:44 -07:00
pjft 029e8bd040 Fixes and tweaks to OMXPlayer work, by pjft
- Correct handling of zombie processes left in memory
- Add options to mute video
- Fix resizing to work with theme refactorings introduced by jdrassa and zigurana
2017-05-28 21:33:05 +01:00
fieldofcows 34ea9caa89 Adding experimental OMX video player component. Squashed from fieldofcows' work (by pjft). 2017-05-28 21:26:23 +01:00
Jools Wills 006e716e64 Merge pull request #108 from zigurana/SelectGamelistViewType
Add Explicit Gamelist Type selection to GUI menu.
2017-05-04 16:30:23 +01:00
Jools Wills 752472355a convert pugixml to git submodule and update to v1.8.1 2017-04-03 19:47:17 +01:00
D. Polders 003d9edbf9 Add Explicit Gamelist Type selection to GUI menu.
Currently supports Basic, Detailed, Video, and Automatic types. The Automatic type checks for the availability of first video's, then screenshots, defaulting to Basic view if none are present.
2017-03-29 21:20:12 +02:00
fieldofcows 6872f47277 Fix WSOD by loading textures on demand in a separate thread when a user configurable texture memory threshold is reached 2017-01-29 22:46:22 +00:00
John Rassa e974cd9d43 Added a --no-splash option for disableing the ES logo
fix indentation
2017-01-12 19:55:36 +00:00
Jools Wills 267b43fa05 move ParseGamelistOnly option to the gui so people can easily enable it for faster startup 2016-03-26 03:31:13 +00:00
Jools Wills 26f4850eaf add configuration menu "other settings" and add "save metadata on exit" option, which users can use to speed up exit - fixes #35 2016-03-26 01:59:36 +00:00
Felipe Otamendi 33d6733d64 Add a setting to allow for joystick input to work while not in focus. 2015-01-13 23:36:25 -02:00
Aloshi 7c48887ab3 Hide the console on Windows unless --debug is set. 2014-11-24 20:50:09 -06:00
Aloshi 635b9f9327 FINALLY added vsync.
Defaults to on for all platforms except the RPi. Force it off with "--vsync 0".

Will try to use late swap tearing if supported on the current system.
2014-11-22 11:03:02 -06:00