Commit graph

422 commits

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