Zach Hilman
ac7d8983eb
settings: Fix comment structure
2019-01-07 19:40:28 -05:00
Zach Hilman
05dbb47af5
settings: Use std::chrono::seconds instead of s64 for RTC
2019-01-07 19:19:40 -05:00
Zach Hilman
dbb1eb9c29
time: Use custom RTC settings if applicable for game
2019-01-07 19:19:40 -05:00
Zach Hilman
21f1b2889d
core: Set custom RTC differential on game boot
2019-01-07 19:19:40 -05:00
Zach Hilman
26c9f12271
qt: Provide UI to edit custom RTC settings
2019-01-07 19:19:40 -05:00
Zach Hilman
c6016856d8
settings: Add custom RTC settings
...
Stored as signed seconds since epoch.
2019-01-07 19:18:45 -05:00
Zach Hilman
2378ecd0e8
build: Copy web engine resources to correct location
2019-01-05 15:27:15 -05:00
Zach Hilman
54d7b664da
qt: Move profile manager to own UI tab
2019-01-04 17:32:13 -05:00
Zach Hilman
15501477e7
Update Qt MSVC external to 5.12.0
2018-12-31 13:19:23 -05:00
Zach Hilman
0c5ede492f
travis: Use correct package for linux Qt5WebEngine
2018-12-28 19:29:49 -05:00
Zach Hilman
cb930c4b5a
web_browser: Add bounds checking to applet interface
2018-12-28 18:20:29 -05:00
Zach Hilman
ef4c4e239d
cmake: Add USE_QT_WEB_ENGINE flag and update build system
2018-12-28 15:32:39 -05:00
Zach Hilman
45da3be40e
main: Add main window integrations for QtWebBrowserApplet
2018-12-28 15:32:39 -05:00
Zach Hilman
e00e1fc755
qt: Implement Qt frontend to web browser
...
Using a custom reimplementation of QWebEngineView and an injector script.
2018-12-28 15:32:39 -05:00
Zach Hilman
32bfa92c71
core: Add getter and setter for WebBrowserApplet frontend
2018-12-28 15:32:39 -05:00
Zach Hilman
85a3368e6d
frontend: Add frontend responder for web browser
2018-12-28 15:32:39 -05:00
Zach Hilman
69f622be36
applets: Implement LibAppletOff (Web) applet
2018-12-28 15:32:39 -05:00
Zach Hilman
4c20a39828
loader: Add accessor for Manual RomFS
2018-12-28 15:32:39 -05:00
Zach Hilman
621b25b6be
hid: Make Hid service accessible and add GetPressState
2018-12-28 15:32:03 -05:00
Zach Hilman
abbcc8e61e
romfs: Add SingleDiscard extraction type
...
Needed for manual RomFS extraction, as Full generates an extra directory and Truncated generates variable results.
2018-12-28 15:30:36 -05:00
Zach Hilman
94db6e5f3f
am: Add size parameter to am:IStorage logging
2018-12-28 15:30:36 -05:00
Zach Hilman
c643f364b4
am: Implement GetSaveDataSize and ExtendSaveData
...
These functions come in a pair and are needed by Smash Ultimate, Minecraft, and Skyrim, amongst others.
2018-12-27 00:18:00 -05:00
Zach Hilman
2e6b67a079
filesystem: Populate save data sizes from control data
2018-12-27 00:18:00 -05:00
Zach Hilman
4082c4eda6
savedata_factory: Partially implement IVFC save sizes using files
...
This stores a file in the save directory called '.yuzu_save_size' which stores the two save sizes (normal area and journaled area) sequentially as u64s.
2018-12-27 00:18:00 -05:00
Zach Hilman
0756f29a2c
loader: Add accessor for game control data
2018-12-27 00:16:55 -05:00
Zach Hilman
417e1ef09c
control_metadata: Update NACP fields with latest Switchbrew data
2018-12-27 00:16:55 -05:00
Zach Hilman
5c4259ec1a
control_metadata: Use value member instead of unique_ptr to store struct
...
Serves no actual purpose in this instance besides making NACP's copy assignment deleted, which is not intended behavior.
2018-12-27 00:16:55 -05:00
Zach Hilman
4a6ba58073
vfs: Add reinterpret_casts to WriteArray and Object
...
Allows these functions to compile when T is not u8.
2018-12-27 00:16:55 -05:00
Zach Hilman
9c2d83cb9c
qt: Use ProfileSelectionDialog when selecting user for save data
...
This allows us to present a much nicer UI to the user over a simple combo box and is made easy with the modular nature of the profile-selection applet frontend.
2018-12-25 10:52:50 -05:00
Zach Hilman
4d61ac08aa
qt: Add setting to prompt for user on game boot
...
Using the QtProfileSelectorDialog, this implementation is trivial. This mimics the real switch behavior of asking which user on every game boot, but it is default disabled as that might get inconvenient.
2018-12-25 10:42:14 -05:00
Zach Hilman
5e632caca5
fsp_srv: Implement IStorage::GetSize
...
Takes no input and returns the size as a u64. Needed by Katamari Damacy Reroll to boot.
2018-12-10 14:14:36 -05:00
Zach Hilman
0d2ba2ca4c
applets: Correct usage of SignalStateChanged event
...
This was causing some games (most notably Pokemon Quest) to softlock due to an event being fired when not supposed to. This also removes a hack wherein we were firing the state changed event when the game retrieves it, which is incorrect.
2018-12-09 19:46:15 -05:00
Zach Hilman
fcfbae88e9
savedata_factory: Add support for CacheStorage
2018-12-07 08:47:32 -05:00
Zach Hilman
5721b8b5ad
savedata_factory: Delete TemporaryStorage on startup
...
Mimics hardware behavior.
2018-12-06 22:07:34 -05:00
Zach Hilman
8be475d4dc
system_archive: Implement open source NgWord2
2018-12-06 10:17:50 -05:00
Zach Hilman
c07059e7fd
configure_input_simple: Properly signal docked mode change
2018-12-05 14:05:57 -05:00
Zach Hilman
233a804196
configure_input: Add ConfigureInputSimple as default input UI config
...
Greatly simplifies the current input UI, while still allowing power users to tweak advanced settings. Adds 'input profiles', which are easy autoconfigurations to make getting started easy and fast. Also has a custom option which brings up the current, full UI.
2018-12-05 14:02:02 -05:00
Zach Hilman
59ca8d458d
configure_input: Convert into QDialog
2018-12-05 14:02:02 -05:00
Zach Hilman
20dffc22a2
configure: Use ConfigureInputSimple for Input tab
2018-12-05 14:02:02 -05:00
Zach Hilman
281b64daf4
ui_settings: Add UI setting for input profile index
2018-12-05 14:02:02 -05:00
Zach Hilman
e6f7825a24
svc: Avoid incorrect fast yield condition
2018-12-04 22:11:32 -05:00
Zach Hilman
f6f6503578
qt: Add Properties menu to game list right-click
2018-12-04 13:34:50 -05:00
Zach Hilman
ddf5903cd9
scheduler: Avoid manual Reschedule call
...
This will automatically occur anyway when PrepareReschedule is called
2018-12-03 21:22:09 -05:00
Zach Hilman
b5af41a07b
scheduler: Only work steal higher priority threads from other cores
2018-12-03 17:29:30 -05:00
Zach Hilman
e11e65b3d6
applets: Correct event ResetTypes from OneShot to Sticky
...
Fixes bugs relating to signalling in software keyboard.
2018-12-03 17:27:40 -05:00
Zach Hilman
bf90f2402d
qt: Implement GUI dialog frontend for ProfileSelector
...
Presents profiles in a list, similar to switch.
2018-12-03 17:26:27 -05:00
Zach Hilman
60b59d554d
am: Use ProfileSelect applet
2018-12-03 17:26:27 -05:00
Zach Hilman
4fb59fdfe1
applets: Implement ProfileSelect applet
...
Allows the player to select an emulated profile.
2018-12-03 17:26:27 -05:00
Zach Hilman
6deccc7e6b
qt: Register to use Qt ProfileSelector instead of default
2018-12-03 17:26:27 -05:00
Zach Hilman
58fd0a1c50
core: Add getter/setter for ProfileSelector in System
2018-12-03 17:26:26 -05:00
Zach Hilman
d17f38494b
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
877b31b33e
software_keyboard: Signal state changed event upon construction
...
Previously, ILibraryAppletAccessor would signal upon creation of any applet, but this is incorrect. A flag inside of the applet code determines whether or not creation should signal state change and swkbd happens to be one of these applets.
2018-12-03 17:26:26 -05:00
Zach Hilman
60e27252a5
qt: Add UI to display game properties and disable add-ons
2018-12-03 17:21:25 -05:00
Zach Hilman
5f0217592b
loader: Add support for reading the name of game's developer
2018-12-03 17:21:25 -05:00
Zach Hilman
51483d83bb
aoc_u: Obey disabled add-ons list when listing DLC
2018-12-03 17:21:25 -05:00
Zach Hilman
0cea05cdf7
patch_manager: Obey disabled add-ons list when patching game
2018-12-03 17:21:25 -05:00
Zach Hilman
c7b41ade74
core: Make GetGameFileFromPath function externally accessible
2018-12-03 17:20:34 -05:00
Zach Hilman
c381f46428
config: Store and load disabled add-ons list
2018-12-03 17:20:34 -05:00
Zach Hilman
282b7e902c
settings: Store list of disabled add-ons per title ID
2018-12-03 17:20:34 -05:00
Zach Hilman
3476830b26
svc: Avoid performance-degrading unnecessary reschedule
2018-12-02 00:44:40 -05:00
Zach Hilman
170d707850
hle_ipc: Refactor SleepClientThread to avoid ReadableEvent
2018-11-29 09:14:20 -05:00
Zach Hilman
a342bcc9b1
kernel/event: Reference ReadableEvent from WritableEvent
2018-11-29 08:48:40 -05:00
Zach Hilman
ff610103b5
core: Port all current usages of Event to Readable/WritableEvent
2018-11-29 08:45:41 -05:00
Zach Hilman
a56fc84e7a
hle_ipc: Use event pair for SleepClientThread
2018-11-29 08:42:26 -05:00
Zach Hilman
c61d2a2841
kernel: Add named event table
...
Used to store ReadableEvents of all events on the system.
2018-11-29 08:42:26 -05:00
Zach Hilman
c713383816
kernel: Divide Event into ReadableEvent and WritableEvent
...
More hardware accurate. On the actual system, there is a differentiation between the signaler and signalee, they form a client/server relationship much like ServerPort and ClientPort.
2018-11-29 08:42:26 -05:00
Zach Hilman
d92989e787
kernel/object: Add descriptions to ResetTypes
2018-11-29 08:42:26 -05:00
Zach Hilman
299224790c
npad: Use NPadIdToIndex to prevent invalid array access
2018-11-28 09:01:58 -05:00
Zach Hilman
6df74ff579
npad: Fix copy/paste error with LED position assignments
2018-11-27 17:23:44 -05:00
Zach Hilman
dac0c33fd2
profile_manager: Save and load ProfileData from disk
...
The ProfileData is a 0x80-sized structure that stores various pieces of miscellaneous data for the account.
2018-11-26 17:11:12 -05:00
Zach Hilman
86ad1f8db6
file_sys: Implement system archive synthesizer for NgWord (806)
2018-11-22 21:39:10 -05:00
Zach Hilman
f820e58be4
am: Return StubApplet instead of nullptr when AppletId not found
2018-11-22 15:58:11 -05:00
Zach Hilman
b358e88512
debug_pad: Avoid loading input for nonexistent buttons (Home and Screenshot)
...
Prevents memory exceptions when the debug pad is enabled.
2018-11-22 12:23:43 -05:00
Zach Hilman
820d81b9a5
scheduler: Add explanations for YieldWith and WithoutLoadBalancing
2018-11-22 00:33:53 -05:00
Zach Hilman
699900eed0
applets: Add StubApplet
...
This will log all data it receives, log all calls to its methods and push dummy data into both channels on execution.
2018-11-21 21:20:02 -05:00
Zach Hilman
54e74b3572
patch_manager: Show LayeredExeFS patch in add-ons column
...
The decision was made to name them LayeredExeFS instead of just LayeredFS to differentiate from normal RomFS-based mods. The name may be long/unweildy, but conveys the meaning well.
2018-11-20 19:22:34 -05:00
Zach Hilman
da6d4cde56
patch_manager: Apply LayeredExeFS patches
...
This will scan the <mod>/exefs dir for all files and then layer those on top of the game's exefs and use this as the new exefs. This allows for overriding of the compressed NSOs or adding new files. This does use the same dir as IPS/IPSwitch patch, but since the loader will not look for those they are ignored.
2018-11-20 17:51:00 -05:00
Zach Hilman
17d8e25cbf
settings: Add option to dump ExeFS of games upon launch
...
When enabled, all exefs(es) will be copied to yuzu/dump/<title_id>/exefs.
2018-11-20 17:49:09 -05:00
Zach Hilman
a9fa890f14
software_keyboard: Fix erroneous extra PushNormalData
2018-11-19 16:30:17 -05:00
Zach Hilman
d68795c665
software_keyboard: Return correct result code on user cancel operation
2018-11-19 15:10:01 -05:00
Zach Hilman
32775125b7
applet: Add AppletDataBroker to manage HLE to AM service interaction
...
This cleans up most of the callbacks and such in the Applets::Applet interface, while also properly implementing all four data channels.
2018-11-19 14:24:36 -05:00
Zach Hilman
96535c13a5
software_keyboard: Use correct offset for inital text string
2018-11-19 11:22:04 -05:00
Zach Hilman
409dcf0e0a
svc: Implement yield types 0 and -1
2018-11-18 23:44:19 -05:00
Zach Hilman
c3becdbca7
filesystem: Clear registered union paths on factory creation
2018-11-18 23:31:30 -05:00
Zach Hilman
aef0d88165
configure_input: Use Joycons Docked instead of Connected as label
2018-11-18 23:22:36 -05:00
Zach Hilman
312ef596a5
configure_input_player: Set minimum width on controls
2018-11-18 23:22:36 -05:00
Zach Hilman
dd92db3fb0
configure_input: Properly update UI components on removal of player
2018-11-18 23:22:36 -05:00
Zach Hilman
e58c951a59
configure_input: Make None a controller option instead of checkbox
2018-11-18 23:22:36 -05:00
Zach Hilman
3a6cd5b3c8
hid: Use player-defined controller type as PREFERRED_CONTROLLER
2018-11-18 23:22:36 -05:00
Zach Hilman
3d1a221893
qt: Move controller button config to separate dialog
...
Handles button configuration for all controller layouts and debug pads. Configurable at construction.
2018-11-18 23:22:36 -05:00
Zach Hilman
afe8df5020
qt: Add UI to configure touchscreen parameters
...
This allows adjusting the finger, diameter, and angle of the emulated touchscreen. It also provides a warning to the user about what changing these parameters can do.
2018-11-18 23:22:36 -05:00
Zach Hilman
2e1dd9c649
qt: Add UI to configure mouse buttons
...
Supports setting the five mouse buttons to any valid controller button/keyboard key (Left, Right, Middle, Foward, Back)
2018-11-18 23:22:36 -05:00
Zach Hilman
f1aec256d7
configure_input: Add support for multiplayer and controller types
...
This moves the actual button configuration to a separate dialog and only has the enabled and type controls in the tab.
2018-11-18 23:22:36 -05:00
Zach Hilman
55ded706d6
hid/npad: Update NPad to use player controller bindings and type
2018-11-18 23:22:36 -05:00
Zach Hilman
e9145c3e16
hid/touchscreen: Update Touchscreen to use advanced parameters
...
Including finger ID, diamater x/y, and angle. Additionally, checks if the touchscreen is enabled.
2018-11-18 23:22:36 -05:00
Zach Hilman
3b25426bd9
hid: Add controller bindings for Mouse controller
2018-11-18 23:22:36 -05:00
Zach Hilman
0fd45e78f4
hid: Add keyboard bindings for Keyboard controller
2018-11-18 23:22:36 -05:00
Zach Hilman
06cf050c0a
hid: Add controller bindings for DebugPad controller
...
Used by developers to test games, not present on retail systems. Some games are known to respond to DebugPad input though, for example Kirby Star Allies.
2018-11-18 23:22:36 -05:00
Zach Hilman
d1b7c65b9e
yuzu/config: Add (de-)serialization for multiplayer
...
Defaults to full keyboard for keyboard -- It did not seem to be necessary to make the keyboard configurable (besides enabled/disabled).
2018-11-18 23:22:36 -05:00
Zach Hilman
b8f7f9651e
yuzu_cmd/config: Add config deserialization for multiplayer
2018-11-18 23:22:36 -05:00