zhupengfei
a2be49305d
yuzu, video_core: Screenshot functionality
...
Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
2018-12-18 22:54:41 +01:00
bunnei
b88430c299
Merge pull request #1902 from lioncash/audio
...
audio_core: Make g_sink_details internally linked
2018-12-14 21:48:17 -05:00
bunnei
7d39b19edc
Merge pull request #1871 from lioncash/move
...
yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText
2018-12-14 13:13:32 -05:00
Lioncash
6beb823f15
audio_core: Make g_sink_details internally linked
...
We can hide the direct array from external view and instead provide
functions to retrieve the necessary info. This has the benefit of
completely hiding the makeup of the SinkDetails structure from the rest
of the code.
Given that this makes the array hidden, we can also make the array
constexpr by altering the members slightly. This gets rid of several
static constructor calls related to std::vector and std::function.
Now we don't have heap allocations here that need to occur before the
program can even enter main(). It also has the benefit of saving a
little bit of heap space, but this doesn't matter too much, since the
savings in that regard are pretty tiny.
2018-12-13 16:44:32 -05:00
bunnei
2c45c6d234
Merge pull request #1819 from DarkLordZach/disable-addons
...
patch_manager: Add support for disabling patches
2018-12-10 21:52:19 -05:00
bunnei
f85134021f
Merge pull request #1873 from lioncash/const
...
loaders: Make GetFileType() a const qualified member function
2018-12-07 18:15:30 -05:00
Lioncash
17b4355391
yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText
...
Just a trivial modernization that potentially avoids copying strings in certain scenarios.
2018-12-05 18:34:03 -05:00
Lioncash
01bf329f63
yuzu/game_list_worker: Don't retrieve the file type twice in AddFstEntriesToGameList()
...
Similarly, here we can avoid doing unnecessary work twice by retrieving
the file type only once and comparing it against relevant operands,
avoiding potential unnecessary object construction/destruction.
2018-12-05 17:58:15 -05:00
Lioncash
de095ded5c
yuzu/game_list_worker: Don't retrieve file type and file type strings twice in MakeGameListEntry()
...
While GetFileType() is indeed a getter function, that doesn't mean it's
a trivial function, given some case require reading from the data or
constructing other objects in the background. Instead, only do necessary
work once.
2018-12-05 17:49:37 -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
Lioncash
e90fa1ac54
configuration/config: Use an intermediary variable for accessing players
...
Avoids typing the same long accessor just to retrieve player attributes.
2018-12-05 03:41:33 -05:00
bunnei
af286294f9
Merge pull request #1837 from lioncash/map
...
yuzu/game_list_worker: Minor cleanup and code deduplication
2018-12-04 19:57:41 -05:00
Lioncash
a49fd7fd57
yuzu/game_list_worker: Move std::string construction after the termination check in callbacks
...
Avoids potentially allocating a std::string instance when it isn't
needed.
2018-12-04 18:39:35 -05:00
Zach Hilman
f6f6503578
qt: Add Properties menu to game list right-click
2018-12-04 13:34:50 -05:00
Luke Street
a3d78b77f8
debugger: Set paused thread color
2018-12-04 02:25:34 -05:00
Lioncash
5eb057f422
kernel/object: Amend handle types to distinguish between readable and writable events
...
Two kernel object should absolutely never have the same handle ID type.
This can cause incorrect behavior when it comes to retrieving object
types from the handle table. In this case it allows converting a
WritableEvent into a ReadableEvent and vice-versa, which is undefined
behavior, since the object types are not the same.
This also corrects ClearEvent() to check both kernel types like the
kernel itself does.
2018-12-04 02:20:47 -05:00
Luke Street
3e75175d02
svc: Implement SetThreadActivity (thread suspension)
2018-12-04 01:23:50 -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
6deccc7e6b
qt: Register to use Qt ProfileSelector instead of default
2018-12-03 17:26:27 -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
c381f46428
config: Store and load disabled add-ons list
2018-12-03 17:20:34 -05:00
bunnei
76525013c0
Merge pull request #1842 from lioncash/slot
...
yuzu/configuration: Minor clean-up related changes
2018-12-03 17:12:01 -05:00
bunnei
f6b22d9251
Merge pull request #1835 from lioncash/cache-global
...
filesystem: De-globalize registered_cache_union
2018-12-03 17:11:26 -05:00
bunnei
ef69b4b830
Merge pull request #1803 from DarkLordZach/k-able-event
...
kernel: Divide Event into ReadableEvent and WritableEvent
2018-12-03 17:05:57 -05:00
Frederic Laing
6d7514ccec
game_list: Remove a reference of a reference
2018-12-03 19:26:36 +01:00
Lioncash
195cad9635
yuzu/configuration: Make slots private where applicable
...
These slots are only ever attached to event handling mechanisms within
the class itself, they're never used externally. Because of this, we can
make the functions private.
This also removes redundant usages of the private access specifier.
2018-12-02 14:18:36 -05:00
Lioncash
eabfb7730d
yuzu/configuration: Add missing override specifiers to configuration-related classes
...
Resolves trivial compiler warnings.
2018-12-02 14:18:36 -05:00
Lioncash
f3253d0f14
yuzu/configuration/configure_input: Default destructor in the cpp file
...
The previous code could potentially be a compilation issue waiting to
occur, given we forward declare the type for a std::unique_ptr. If the
complete definition of the forward declared type isn't visible in a
translation unit that the class is used in, then it would fail to
compile.
Defaulting the destructor in a cpp file ensures the std::unique_ptr's
destructor is only invoked where its complete type is known.
2018-12-02 14:18:26 -05:00
bunnei
a6805e58ce
Merge pull request #1795 from ReinUsesLisp/vc-cleanup
...
video_core: Minor style changes
2018-12-01 23:46:18 -05:00
Lioncash
db4523f1ec
filesystem: De-globalize registered_cache_union
...
We can just return a new instance of this when it's requested. This only
ever holds pointers to the existing registed caches, so it's not a large
object. Plus, this also gets rid of the need to keep around a separate
member function just to properly clear out the union.
Gets rid of one of five globals in the filesystem code.
2018-12-01 23:43:23 -05:00
Lioncash
8c108eaca7
yuzu/game_list_worker: Deduplicate game list entry creation
...
Avoids duplicating the same code twice verbatim.
2018-12-01 23:23:39 -05:00
Lioncash
f1ecfcb8bc
yuzu/game_list_worker: Tidy up string handling in FillControlMap()
...
We don't need to call out to our own file handling functions when we're
going to construct a QFileInfo instance right after it. We also don't
need to convert to a std::string again just to compare the file
extension.
2018-12-01 22:49:00 -05:00
Bartosz Kaszubowski
5f07ca3dce
remove border from GameList
2018-11-30 23:35:08 +01:00
Lioncash
4b950728fd
configure_input: Amend clang-format discrepancies
2018-11-30 03:31:56 -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
bunnei
7befe0134d
Merge pull request #1768 from greggameplayer/patch-2
...
Uncheck automatically joycons docked when docked mode is enable
2018-11-29 01:00:09 -05:00
ReinUsesLisp
22c7c710b4
gl_rasterizer: Remove extension booleans
2018-11-28 21:18:13 -03:00
bunnei
adb882bf90
Merge pull request #1814 from lioncash/ptr
...
file_sys/registered_cache: Use regular const references instead of std::shared_ptr for InstallEntry()
2018-11-27 19:20:12 -05:00
Lioncash
2a22c1b27e
yuzu/configure_input_player: Use std::size_t to represent the player index instead of u8
...
Prevents compiler warnings related to truncation when invoking the
dialog. It's also extremely suspect to use a u8 value here instead of a
more general type to begin with.
2018-11-27 16:37:21 -05:00
Lioncash
0782d3971b
yuzu/configure_input: Make CallConfigureDialog a non-member template function
...
This doesn't depend on any part of the private interface, so it can be
made a non-member internal function.
2018-11-27 16:37:18 -05:00
Lioncash
d72c809030
file_sys/registered_cache: Use regular const references instead of std::shared_ptr for InstallEntry()
...
These parameters don't need to utilize a shared lifecycle directly in
the interface. Instead, the caller should provide a regular reference
for the function to use. This also allows the type system to flag
attempts to pass nullptr and makes it more generic, since it can now be
used in contexts where a shared_ptr isn't being used (in other words, we
don't constrain the usage of the interface to a particular mode of
memory management).
2018-11-27 16:33:14 -05:00
Lioncash
11cf13a6e1
yuzu/configure_input_player: Use a lambda expression instead of std::bind
...
std::bind is the pre-C++11 way of doing this.
2018-11-27 05:08:13 -05:00
Lioncash
73a48d6523
yuzu/configure_input_player: Amend constructor initializer list order
...
Orders the elements the way they would actually be initialized in.
Resolves compiler warnings with gcc and clang
2018-11-27 05:04:51 -05:00
Lioncash
53bff53791
yuzu/configure_input: Remove unused function MoveGridElement
2018-11-27 05:03:26 -05:00
Lioncash
d67e88e59c
yuzu/configure_input*: Move data members after function declarations
...
The common pattern is to put the data members after the function
interface where applicable.
2018-11-27 05:02:15 -05:00
Lioncash
ec7ea4ae96
yuzu/configure_input: Remove unnecessary includes
2018-11-27 05:00:56 -05:00
bunnei
d01bf170c4
Merge pull request #1725 from FernandoS27/gl43
...
Update OpenGL's backend version from 3.3 to 4.3
2018-11-23 23:56:57 -05:00
bunnei
e65966bcfc
Merge pull request #1708 from ogniK5377/res-scale
...
Report resolution scaling support for vi and am
2018-11-23 23:32:19 -05:00
bunnei
67ff974387
Merge pull request #1747 from DarkLordZach/exefs-lfs
...
patch_manager: Add support for applying LayeredFS patches to ExeFS
2018-11-23 23:31:48 -05:00
greggameplayer
c14af2f71d
correct clang-format
2018-11-22 18:26:43 +01:00
greggameplayer
6d2adb0bc0
Automatically disable joycons docked
...
when docked mode is enable
2018-11-22 01:24:39 +01:00
FernandoS27
0368260c99
Removed pre 4.3 ARB extensions
2018-11-21 11:43:17 -04:00
FernandoS27
377c60645c
Update OpenGL's backend version from 3.3 to 4.3
2018-11-21 11:43:17 -04: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
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
Lioncash
4dcdd3a837
yuzu/applets/software_keyboard: Override accept() and reject() instead of providing own differently named member functions
...
Uses Qt's built-in interface instead of rolling our own separate one on
top of it. This also fixes a bug in reject() where we were calling
accept() instead of reject().
2018-11-20 11:36:50 -05:00
Lioncash
3fa2b218ac
yuzu/applets/software_keyboard: std::move std::function instances where applicable
...
std::function instances can potentially allocate. std::moveing them
prevents an avoidable allocation in that case.
2018-11-20 11:34:19 -05:00
Lioncash
fe2609cb77
yuzu/applets/software_keyboard: Make slots private functions
...
These aren't required to be public.
2018-11-20 11:29:22 -05:00
bunnei
b6d2c64f4d
Merge pull request #1667 from DarkLordZach/swkbd
...
am: Implement HLE software keyboard applet
2018-11-20 08:24:11 -08: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
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
bunnei
3e93c30630
Merge pull request #1640 from DarkLordZach/game-list-reload
...
game_list: Only reload game list after relevant settings changed
2018-11-18 19:24:53 -08:00
Zach Hilman
56cf5b7b17
software_keyboard: Add max and current length display to dialog
2018-11-18 10:53:47 -05:00
Zach Hilman
19b2571aec
applet: Add operation completed callback
2018-11-18 10:53:47 -05:00
Zach Hilman
8b433beff3
software_keyboard: Make GetText asynchronous
...
a
2018-11-18 10:53:47 -05:00
Zach Hilman
7cfb29de23
am: Allow applets to push multiple and different channels of data
2018-11-18 10:53:47 -05:00
Zach Hilman
fed6ab14c3
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
e696ed1f4d
am: Deglobalize software keyboard applet
2018-11-18 10:53:47 -05:00
Zach Hilman
a81645400f
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
5454494adb
qt/applets: Provide Qt frontend implementation of software keyboard
...
Implements all of the features of the keyboard, including length, default text, character validation, and UTF-16 character support.
2018-11-18 10:53:47 -05:00
bunnei
0072275d25
Merge pull request #1678 from FearlessTobi/amiibo-hotkeys
...
Port citra-emu/citra#4387 : "yuzu: Add hotkey for Amiibo loading"
2018-11-16 20:20:41 -08:00
bunnei
5b8f70ea2e
Merge pull request #1632 from DarkLordZach/keys-manager-optimizations
...
game_list: Optimize game list refresh
2018-11-16 07:02:37 -08:00
David Marcec
4476fd29d6
Fixed switching operation modes when not running a game
...
The service manager seems to be a nullptr before a game boots
2018-11-16 20:08:02 +11:00
David Marcec
9359655712
Report resolution scaling support for vi and am
...
Specifying an internal resolution in yuzu now will report the scaled changes to vi and am.
2018-11-16 18:07:42 +11:00
bunnei
97605e36f7
Merge pull request #1618 from DarkLordZach/dump-nso
...
patch_manager: Add support for dumping uncompressed NSOs
2018-11-15 14:46:10 -08:00
Lioncash
e6676afa18
yuzu/configure_system: Mark the entropy mask string as nontranslatable
...
There's no need for translators to concern themselves with the
validation mask used by the entry field.
2018-11-14 14:53:43 -05:00
bunnei
e1ea8cc721
Merge pull request #1679 from DarkLordZach/deterministic-rng-2
...
svc: Use proper random entropy generation algorithm
2018-11-14 11:52:27 -08:00
Zach Hilman
6001af2b89
qt: Move Open yuzu Folder action from Help to File
2018-11-13 17:17:47 -05:00
Zach Hilman
ab552e4a25
svc: Use proper random entropy generation algorithm
2018-11-13 12:26:03 -05:00
fearlessTobi
9ea8eb6b2e
yuzu: Add hotkey for Amiibo loading
2018-11-13 15:10:39 +01:00
bunnei
7f3c2525e6
Merge pull request #1670 from DarkLordZach/deterministic-rng
...
csrng: Add config option to set RNG seed
2018-11-12 21:10:08 -08:00
Zach Hilman
cb1e63ef09
svc: Return random seed for svcGetInfo RandomEntropy
2018-11-12 21:46:21 -05:00
bunnei
d08b876c9d
Merge pull request #1650 from FreddyFunk/cast
...
yuzu/main: Fix compiler warning
2018-11-12 18:32:54 -08:00
James Rowe
b4a6ce02ce
Merge pull request #1674 from FearlessTobi/fullscreen-fix
...
yuzu: Add a missing "!" to fix the stuck-in-fullscreen bug
2018-11-12 13:00:25 -07:00
Tobias
9333ee29ca
yuzu: Add a missing "!" to fix the stuck-in-fullscreen bug
2018-11-12 20:57:15 +01:00
Zach Hilman
2a16fd7ffc
settings: Add config option to set RNG seed
2018-11-11 23:09:46 -05:00