Commit graph

153 commits

Author SHA1 Message Date
Leon Styhre b9b4bd120d Fixed multiple issues where ComponentGrid would display incorrect help prompts. 2021-10-12 23:32:26 +02:00
Leon Styhre 087cde4700 Fixed a cursor placement issue in GuiTextEditKeyboardPopup. 2021-10-07 18:33:57 +02:00
Leon Styhre 93950cf4de Simplified the code for info popups. 2021-10-07 18:31:40 +02:00
Leon Styhre d1ffdfca35 Removed an unused preprocessor directive. 2021-09-21 17:19:56 +02:00
Leon Styhre 372a92baa5 The navigation key repeat now stops when selecting a key on the virtual keyboard. 2021-09-19 23:08:12 +02:00
Leon Styhre 63767347f2 Fixed numerous compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-19 14:37:10 +02:00
Leon Styhre 0b6d987263 Fixed lots of compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-18 09:53:26 +02:00
Leon Styhre 9ae62cca4d Fixed two Clang warnings. 2021-09-18 00:26:39 +02:00
Leon Styhre f840e93fc9 Fixed an issue where closing an entry in the metadata editor could lead to a crash. 2021-09-17 22:53:00 +02:00
Leon Styhre c4e6d3cac1 Added a virtual keyboard. 2021-09-17 22:23:41 +02:00
Leon Styhre 74e21e8c03 Replaced some internal math functions with equivalents from the GLM library. 2021-08-17 20:55:29 +02:00
Leon Styhre 7b5d673050 Replaced the internal Vector2i data type and functions with the GLM library equivalent.
Also applied some code formatting changes for braced lists using clang-format.
2021-08-17 18:41:45 +02:00
Leon Styhre 1fb0ccef0d Replaced the internal Vector2f data type and functions with the GLM library equivalent. 2021-08-16 18:25:01 +02:00
Leon Styhre 722468129e Replaced all internal matrix data types and functions with the GLM library equivalents.
Also changed some vectors.
2021-08-15 19:30:31 +02:00
Leon Styhre 23fdc00044 Formatted the es-core source tree using clang-format. 2021-07-07 20:31:46 +02:00
Leon Styhre 483311f7f2 Switched the order of the Back and Start buttons in the input configurator.
Also removed some legacy code.
2021-07-04 15:03:22 +02:00
Leon Styhre f59223927e Added a message to GuiDetectDevice if only accepting input from the first controller. 2021-07-03 12:25:36 +02:00
Leon Styhre 6178830504 Improved scaling relative to the screen aspect ratio for various GUI components. 2021-07-02 17:57:52 +02:00
Leon Styhre ccb4c19d78 Changed input type 'select' to 'back' to align with the SDL naming conventions. 2021-05-23 20:31:15 +02:00
Leon Styhre 4d4210a419 Added support for selecting between different controller types. 2021-05-23 19:12:31 +02:00
Leon Styhre 83b764cf1f Small cosmetic changes to the input device configuration screen. 2021-05-23 10:16:47 +02:00
Leon Styhre 0f00701c93 GuiInputConfig now also shows the controller device name during configuration. 2021-05-23 10:14:15 +02:00
Leon Styhre a21dd2c817 Some code cleanup in GuiInputConfig.
Also fixed a small cosmetic bug.
2021-05-22 22:22:08 +02:00
Leon Styhre 581eb6a055 Fixed an issue where GuiDetectDevice wouldn't detect analog controller inputs. 2021-05-22 22:19:56 +02:00
Leon Styhre 23903de1cf Minor cosmetic code cleanup. 2021-03-27 10:26:13 +01:00
Leon Styhre 12a7b18d05 Renamed controller input type 'analog' to 'thumbstick'. 2021-03-24 21:20:01 +01:00
Leon Styhre 1338e4467b Added support for controller analog sticks click. 2021-03-24 19:35:51 +01:00
Leon Styhre dd851bee40 Added the ability to GuiMsgBox to change the text of an open dialog.
Also added an option for whether to delete the dialog when calling a function mapped to a button.
2021-03-09 17:30:50 +01:00
Leon Styhre 6a57a44df9 Improved the sizes of some menu GUI elements on 4:3 aspect ratio displays. 2021-03-09 17:17:33 +01:00
Leon Styhre 7f4179f327 Set the default controller button graphics to Xbox for the input configurator. 2021-03-02 17:34:10 +01:00
Leon Styhre 8f1108583c Fixed an issue where GuiMsgBox would not look correct on high resolution displays. 2021-01-29 19:55:27 +01:00
Leon Styhre 3c0f62b1be Fixed a text string abbreviation issue in GuiComplexTextEditPopup. 2021-01-16 19:22:23 +01:00
Leon Styhre 574feadc68 Changed from frame.png to frame.svg in most places. 2021-01-14 22:56:49 +01:00
Leon Styhre 9dd8aacb28 Fixed two minor cosmetic issues. 2021-01-11 18:18:44 +01:00
Leon Styhre c95334756d Fixed a lot of MSVC compiler warnings. 2020-12-29 12:54:24 +01:00
Leon Styhre 963f93e0f8 Replaced the custom math functions with standard C++ functions. 2020-12-28 11:29:32 +01:00
Leon Styhre debf072a0e Rewrote some code from C to C++ 2020-12-16 23:59:00 +01:00
Leon Styhre 29abe2dc8c Removed the deprecated PowerSaver. 2020-12-16 17:57:10 +01:00
Leon Styhre 05302052de Fixed a GUI component alignment issue for the text edit popups. 2020-12-16 17:38:23 +01:00
Leon Styhre 024e073e86 Added support for %COREPATH% variable and reverted to a single Unix es_systems.cfg template file. 2020-12-15 18:42:38 +01:00
Leon Styhre 0b6dce687e Changed to C++ casts throughout the application. 2020-11-17 23:06:54 +01:00
Leon Styhre 8131b81761 Editing now starts by default for the text edit popups. 2020-11-07 12:45:57 +01:00
Leon Styhre 9ca948e145 Fixed incorrect help text for the second button in GuiMsgBox. 2020-10-20 21:40:53 +02:00
Leon Styhre 965f96bbc8 Fixed a sorting issue when clearing game metadata.
Also a small documentation update and a file permission change.
2020-09-27 18:37:43 +02:00
Leon Styhre 8db04c5fcb Added SPDX license identifiers to all source files. 2020-09-21 19:17:34 +02:00
Leon Styhre f4e24bdd56 Fixed an issue where the cursor would end up outside text fields for long strings. 2020-09-18 18:16:12 +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 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 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 3887bfff3d Added a 'CLEAR' button to GuiTextEditPopup. 2020-07-30 16:39:16 +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 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 09bbb925f9 Added missing help text to GuiMsgBox. 2020-07-12 21:05:50 +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 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 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 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 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 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 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
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
Tomas Jakobsson 9de16045c9 whitespace cleanup
fix faulty line endings
silence warnings on windows
2019-08-25 17:23:02 +02:00
Tomas Jakobsson a02a747c50 Redid the entire Renderer
Made all components render using triangle strips
2019-08-25 15:45:22 +02:00
Hanno Zulla 3f012aeef5 Add BigBen kid's PS3 gamepad 146b:0902 to filterTrigger() 2019-07-26 12:38:54 +02: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
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
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
Hanno Zulla 891c552ce9 Updates artwork for input config, adds compass directions. 2018-07-02 11:02:51 +02:00
Tomas Jakobsson 3d3fb2c277 Switched over the last functions in Utils.cpp to Utils::String, step 3 of 5 in the quest to remove boost::filesystem 2018-01-27 18:04:28 +01: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
Tomas Jakobsson 05caef2f28 Remove all namespace fs = boost::filesystem; 2017-12-28 15:03:11 +01:00
Tomas Jakobsson b6b6f73a24 Log everything CEC does
Only support libcec4
2017-11-29 21:00:36 +01:00
Tomas Jakobsson bd0c6beed5 Silence warnings 2017-11-18 23:20:09 +01:00
Tomas Jakobsson 92b73bd847 Cleaning up a lot of math functions 2017-11-14 20:09:20 +01:00
Tomas Jakobsson 9fbe95daa3 iterator -> const_iterator 2017-11-12 00:05:19 +01:00
Tomas Jakobsson 074e22ee37 CEC Support 2017-11-08 23:22:15 +01:00
Tomas Jakobsson a8fc560749 Header inclusion cleanup 2017-11-02 19:16:01 +01:00
Tomas Jakobsson 226c9fe923 Fix #endif comment 2017-11-01 14:09:38 +01:00
Tomas Jakobsson 44e3e39083 Add pragma once and ifndef header guards to all headers 2017-10-31 18:12:50 +01:00
Tomas Jakobsson d3966da2b7 Replace boost::locale with std::locale 2017-10-30 10:35:58 +01:00
Tomas Jakobsson 73a2f6b716 Replace Eigen with "inhouse" vector and matrix math 2017-10-28 22:25:01 +02:00
hex007 8d4a69cacf Handle longclick in PS:Instant mode 2017-09-21 10:44:00 -07:00
Nico Schlömer 419e6c43e0 various code fixes
From <https://scan.coverity.com/projects/emulationstation?tab=overview>.
2017-07-28 09:57:37 +02:00
Jools Wills fc3e08b449 Allow configuring of the hotkey button
* add hotkey button gfx and hotkey to input configuration
 * prompt user if no hotkey set, and offer to use select
 * if no hotkey is set, still save an entry with key id 0, for backward compatibility
2017-05-31 16:59:17 +01:00
Jools Wills fa513e4c2d cosmetic - spaces -> tabs to match rest of file 2016-08-10 02:48:04 +01:00
Jools Wills 60c1d0a1f9 Merge pull request #54 from joolswills/rename_buttons
rename buttons to avoid confusion (bottom -> shoulder / top -> trigger).
2016-07-05 19:53:20 +01:00
Jools Wills a78c9721be rename buttons to avoid confusion (bottom -> shoulder / top -> trigger). 2016-07-04 00:29:53 +01:00
Ken Taylor ab8409da41 Always reload input config after running onfinish script 2016-07-01 22:14:41 -07:00
Jools Wills 6f0b63b1bb trailing whitespace introduced by #9 2015-10-03 20:41:44 +01:00
Jools Wills ecc1552990 Merge remote-tracking branch 'retropie/master' into retropie-master 2015-10-03 20:23:53 +01:00
Jools Wills 7bffae0812 change hold to skip timer to 1 second. This means the countdown message never shows, but it says at the top to hold to skip and this makes it a lot more convenient to set up snes style controllers.
Has been tested by herbfaargus also, who agreed it's an improvement. #6
2015-10-03 20:20:33 +01:00