Commit graph

47 commits

Author SHA1 Message Date
ameerj
d27abf5546 core: Remove unused includes 2021-11-03 21:42:57 -04:00
Lioncash
ebeb5086b1 core/profile_select: Avoid uninitialized read in SelectProfile()
The default constructor of UUID doesn't initialize its data members, so
we need to directly initialize it to be invalid.
2021-09-22 18:10:39 -04:00
Morph
66b9de4b04 applets: Append applet_ prefix to backend applets 2021-07-14 01:07:09 -04:00
lat9nq
794c444285 general: Make most settings a BasicSetting
Creates a new BasicSettings class in common/settings, and forces setting
a default and label for each setting that uses it in common/settings.
Moves defaults and labels from both frontends into common settings.
Creates a helper function in each frontend to facillitate reading the
settings now with the new default and label properties.

Settings::Setting is also now a subclass of Settings::BasicSetting. Also
adds documentation for both Setting and BasicSetting.
2021-06-28 17:32:17 -04:00
Morph
d93fa45cf8 applets/web: Fix a use-after-free when passing in the URL string
The URL string was being deleted before being used, leading to a use-after-free occurring when it is used afterwards.

Fix this by taking the string by const ref to extend its lifetime, ensuring it doesn't get deleted before use.
2021-04-28 12:34:28 -04:00
Morph
01190506e8 applets/swkbd: Implement the Default Software Keyboard frontend 2021-04-15 01:53:17 -04:00
Morph
ac87713cb8 applets: Remove the previous software keyboard applet implementation 2021-04-15 01:53:16 -04:00
bunnei
7a76bc30fa common: Move settings to common from core.
- Removes a dependency on core and input_common from common.
2021-04-14 16:24:03 -07:00
german
020c22f53d hid: Implement GC controller 2021-02-07 22:59:46 -06:00
Morph
469ed33cf6 applets/web: Implement the online web browser applet 2020-12-18 10:33:28 -05:00
Morph
fef6f942e4 main, applets/web: Re-add progress dialog for RomFS extraction 2020-12-18 10:33:28 -05:00
Morph
a367dc5be0 applets/web: Implement the default web browser applet frontend 2020-12-18 10:33:28 -05:00
Morph
7da1c67f5a applets: Remove the previous web browser applet implementation 2020-12-18 10:33:27 -05:00
Lioncash
8f135703dc core: Remove unnecessary enum casts in log calls
Follows the video core PR. fmt doesn't require casts for enum classes
anymore, so we can remove quite a few casts.
2020-12-07 23:02:23 -05:00
Morph
dc7a9a7be2 hid: Reorder all HID commands
Reorders all HID commands in command id order.
2020-11-15 23:33:20 -05:00
Morph
1c1a83a20d settings: Preparation for per-game input settings 2020-11-15 23:33:20 -05:00
Lioncash
c3f019b9eb controller: Pass ControllerParameters by reference in ReconfigureControllers()
Prevents unnecessary copies and heap reallocations from occurring.
2020-10-26 21:06:15 -04:00
bunnei
deb3536936 Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
Lioncash
18636013c9 core: Fix clang build
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.

Fixes #4795
2020-10-17 19:50:39 -04:00
Lioncash
9861290969 frontend/controller: Eliminate dependency on the global system instance 2020-09-25 19:23:20 -04:00
Morph
0ce52a8070 applets/controller: Resolve several compiler warnings
Resolves -Wsign-compare and -Wunused-variable
2020-09-04 12:23:26 -04:00
Morph
5c853d4dc7 Address feedback 2020-09-04 12:23:25 -04:00
Morph
212b4a584d applets/controller: Modify heuristic to account for certain games
Now left and right joycons have the same priority (meaning both needs to be supported by the game).

Explanation of the new heuristic:
Assign left joycons to even player indices and right joycons to odd player indices.
We do this since Captain Toad Treasure Tracker expects a left joycon for Player 1 and a right Joycon for Player 2 in 2 Player Assist mode.
2020-09-04 12:23:25 -04:00
Morph
3742ae763c applets/controller: Implement fallback applet for the SDL frontend
Implement the fallback applet for the SDL frontend, connecting only the minimum amount of players required.
2020-09-04 12:23:25 -04:00
Morph
00df69232a applets/controller: Implement "Explain Text"
"Explain Text" is additional text that is shown for each player in the controller applet.
2020-09-04 12:23:25 -04:00
Morph
4c621b9b09 Project Mjölnir: Part 2 - Controller Applet
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-09-04 12:23:25 -04:00
Zach Hilman
7de7e83df0 general_frontend: Add documentation for parental controls and ecommerce applets 2019-06-24 20:05:11 -04:00
Zach Hilman
a2a6d68083 frontend: Add base class and default impl for ECommerce applet frontend 2019-06-24 20:05:11 -04:00
Zach Hilman
76bf6c6ea9 web_browser: Rename OpenPage to OpenPageLocal
This is more representative of what actually occurs, as web does support remote URLs which wouldn't need a romfs callback. This paves for easy future support of this with a call like 'OpenPageRemote' or similar.
2019-06-24 20:05:11 -04:00
Zach Hilman
cff3014921 frontend: Add base class and default impl of parent controls applet frontend 2019-06-24 20:05:11 -04:00
Zach Hilman
ad5e497bff profile_select: Port Service::Account::UUID to Common::UUID 2019-04-25 08:13:11 -04:00
Zach Hilman
107d725af8 web_browser: Make OpenPage non-const 2019-04-17 11:35:24 -04:00
Zach Hilman
25f33928fc main: Add GMainWindow hooks for Error display 2019-04-17 11:35:24 -04:00
Zach Hilman
a8dbc0e299 general_frontend: Add frontend scaffold for PhotoViewer applet 2019-04-17 11:35:24 -04:00
Zach Hilman
93cbd91f56 frontend: Add frontend receiver for Error applet 2019-04-17 11:35:24 -04:00
Zach Hilman
663b24e0d2 web_browser: Make OpenPage const 2019-04-17 11:35:24 -04:00
Lioncash
ab2f154ff4 core/frontend/applets/web_browser: Make OpenPage() non-const
This is a function that definitely doesn't always have a non-modifying
behavior across all implementations, so this should be made non-const.

This gets rid of the need to mark data members as mutable to work around
the fact mutating data members needs to occur.
2019-01-17 11:19:52 -05:00
Zach Hilman
166a1b9526 frontend: Add frontend responder for web browser 2018-12-28 15:32:39 -05:00
Zach Hilman
3e2f2bc839 frontend: Add frontend applet for ProfileSelect
Responsible for selecting a profile and firing callback upon completion.
2018-12-03 17:26:26 -05:00
Zach Hilman
948e1b2f42 applet: Add operation completed callback 2018-11-18 10:53:47 -05:00
Zach Hilman
f0d2246b6a software_keyboard: Make GetText asynchronous
a
2018-11-18 10:53:47 -05:00
Zach Hilman
04bc2fafbc am: Allow applets to push multiple and different channels of data 2018-11-18 10:53:47 -05:00
Zach Hilman
57a051a767 am: Implement ILibraryAppletAccessor IsCompleted and GetResult 2018-11-18 10:53:47 -05:00
Zach Hilman
27ebe123e9 am: Implement text check software keyboard mode
Allows the game to verify and send a message to the frontend.
2018-11-18 10:53:47 -05:00
Zach Hilman
efced53d38 am: Deglobalize software keyboard applet 2018-11-18 10:53:47 -05:00
Zach Hilman
b9c5a8bcf6 qt/main: Register Qt Software Keyboard frontend with AM
Allows using Qt provider over default.
2018-11-18 10:53:47 -05:00
Zach Hilman
25b03a89ce frontend/applets: Add frontend software keyboard provider and default
Default implementation will return "yuzu" for any string. GUI clients (or CLI) can implement the Frontend::SoftwareKeyboardApplet class and register an instance to provide functionality.
2018-11-18 10:53:47 -05:00