Zach Hilman
23a16c1720
patch_manager: Centralize Control-type NCA parsing
2018-09-04 16:25:10 -04:00
Zach Hilman
c91b60a421
game_list: Fix version display on non-NAND titles
2018-09-04 16:24:02 -04:00
Zach Hilman
2814ca3624
game_list: Use friendly game versions
...
Mainly, from control.nacp metadata instead of cnmt metadata
2018-09-04 16:24:02 -04:00
Zach Hilman
9664ce255d
bktr: Fix missing includes and optimize style
2018-09-04 16:24:02 -04:00
Zach Hilman
f92b3512e0
main: Make game updates installable
2018-09-04 16:24:02 -04:00
Zach Hilman
8e150c46b9
game_list: Display patch names and versions on list
2018-09-04 16:24:02 -04:00
Zach Hilman
d2caf4af7d
game_list: Use RegisteredCacheUnion for installed
...
Reduces code
2018-09-04 16:21:40 -04:00
Zach Hilman
87be4bc283
main: Only show DRD deprecation warning once
2018-09-04 14:44:48 -04:00
Zach Hilman
1280061725
qt: Add deprecation warnings for DRD format
2018-09-04 14:29:19 -04:00
Zach Hilman
8974771334
registration: Fix NSP installation errors
2018-09-04 14:29:19 -04:00
Zach Hilman
58473309a0
qt: Add UI support for NSP files
2018-09-04 14:28:41 -04:00
Zach Hilman
f7eaea424d
registration: Add support for installing NSP files
2018-09-04 14:28:41 -04:00
bunnei
ed37b68fb5
Merge pull request #1223 from DarkLordZach/custom-nand-sd-dirs
...
file_sys: Allow for custom NAND/SD directories
2018-09-04 11:54:22 -04:00
Lioncash
a813c10e1c
file_sys: Replace includes with forward declarations where applicable
...
Cuts down on include dependencies, resulting in less files that need to
be rebuilt when certain things are changed.
2018-09-03 22:52:24 -04:00
Zach Hilman
04397cd185
qt: Add message about not moving contents on dir change
2018-09-03 19:23:33 -04:00
Zach Hilman
1ff3318458
qt: Add UI options to change NAND/SD dirs
2018-09-03 19:23:33 -04:00
Zach Hilman
b2268f1f8d
settings: Save and load NAND/SD dirs from config
2018-09-03 19:23:33 -04:00
Lioncash
a405373144
vfs_real: Forward declare IOFile
...
Eliminates the need to rebuild some source files if the file_util header
ever changes. This also uncovered some indirect inclusions, which have
also been fixed.
2018-09-02 12:38:14 -04:00
fearlessTobi
0f453488e2
citra_qt: Display the unsupported GL extensions in the popup
2018-09-01 19:01:53 +02:00
Lioncash
4a587b81b2
core/core: Replace includes with forward declarations where applicable
...
The follow-up to e2457418da
, which
replaces most of the includes in the core header with forward declarations.
This makes it so that if any of the headers the core header was
previously including change, then no one will need to rebuild the bulk
of the core, due to core.h being quite a prevalent inclusion.
This should make turnaround for changes much faster for developers.
2018-08-31 16:30:14 -04:00
bunnei
26aaa86ece
Merge pull request #1195 from FearlessTobi/port-gamelist-compat
...
yuzu: Show game compatibility in the game list (PR ported from Citra)
2018-08-30 21:34:43 -04:00
fearlessTobi
78653f7339
Show game compatibility within yuzu
2018-08-29 15:42:53 +02:00
Lioncash
0cbcd6ec9a
kernel: Eliminate kernel global state
...
As means to pave the way for getting rid of global state within core,
This eliminates kernel global state by removing all globals. Instead
this introduces a KernelCore class which acts as a kernel instance. This
instance lives in the System class, which keeps its lifetime contained
to the lifetime of the System class.
This also forces the kernel types to actually interact with the main
kernel instance itself instead of having transient kernel state placed
all over several translation units, keeping everything together. It also
has a nice consequence of making dependencies much more explicit.
This also makes our initialization a tad bit more correct. Previously we
were creating a kernel process before the actual kernel was initialized,
which doesn't really make much sense.
The KernelCore class itself follows the PImpl idiom, which allows
keeping all the implementation details sealed away from everything else,
which forces the use of the exposed API and allows us to avoid any
unnecessary inclusions within the main kernel header.
2018-08-28 22:31:51 -04:00
bunnei
4d7e1662c8
Merge pull request #1193 from lioncash/priv
...
gpu: Make memory_manager private
2018-08-28 12:28:57 -04:00
Lioncash
45fb74d262
gpu: Make memory_manager private
...
Makes the class interface consistent and provides accessors for
obtaining a reference to the memory manager instance.
Given we also return references, this makes our more flimsy uses of
const apparent, given const doesn't propagate through pointers in the
way one would typically expect. This makes our mutable state more
apparent in some places.
2018-08-28 11:11:50 -04:00
fearlessTobi
4a56931703
Fix two stupid errors made in #1141
2018-08-28 15:16:03 +02:00
fearlessTobi
9a6bfc55f3
yuzu: Fix stick UI direction order
2018-08-28 00:59:21 +02:00
bunnei
f96ded9815
Merge pull request #1174 from lioncash/debug
...
debug_utils: Minor individual interface changes
2018-08-27 15:44:29 -04:00
Mat M
6426b0f551
Merge pull request #1094 from DarkLordZach/nax0
...
file_sys: Add support for NAX archives
2018-08-24 23:47:46 -04:00
Lioncash
c65713832c
debug_utils: Remove unused includes
...
Quite a bit of these aren't necessary directly within the debug_utils
header and can be removed or included where actually necessary.
2018-08-24 20:49:14 -04:00
Zach Hilman
f09da5d1c9
Merge pull request #1065 from DarkLordZach/window-title
...
qt: Add filename and title id to window title while running
2018-08-24 14:34:03 -04:00
Tobias
165c23c848
Port #4013 from Citra: "Init logging sooner so we dont miss some logs on startup" ( #1142 )
...
* Port #4013 from Citra: "Init logging sooner so we dont miss some logs on startup"
* Fix compilation
2018-08-23 19:52:06 -04:00
Zach Hilman
67fa51ea2f
qt: Add filename and title id to window title while running
2018-08-23 14:12:56 -04:00
Zach Hilman
60b7a3b904
game_list: Add SD registration loading to game list
2018-08-23 11:53:30 -04:00
Zach Hilman
4112dd6b4e
qt: Make default row data title name and title id
...
Helps with installed games by making the title not a hexadecimal id string, instead the name.
2018-08-23 11:53:30 -04:00
Zach Hilman
ef3768f323
filesystem: Add CreateFactories methods to fs
...
Allows frontend to create registration caches for use before a game has booted.
2018-08-23 11:52:44 -04:00
literalmente-game
74e08b4800
Swap "Plus" with "Minus" on the controller GUI ( #1150 )
...
* Swap "Plus" with "Minus" on the controller GUI
Major fix /s
2018-08-22 18:47:07 -06:00
tech4me
8ce02d85e9
config: Fixed icon size get set to 0
2018-08-21 22:36:29 -07:00
bunnei
b38d67d940
Merge pull request #1136 from tech4me/master
...
qt/main: Port part of citra(#3411 ), open savedata works
2018-08-22 01:30:08 -04:00
bunnei
cea627b0fc
Merge pull request #840 from FearlessTobi/port-3353
...
Port #3353 from Citra: "citra-qt: Add customizable speed limit target "
2018-08-22 01:19:50 -04:00
bunnei
eef0c93643
Merge pull request #1141 from FearlessTobi/port-3902
...
Port #3902 from Citra: "Add restart hotkey & menu option"
2018-08-22 01:07:59 -04:00
fearlessTobi
f2d5b100c2
Port #3902 from Citra: "Add restart hotkey & menu option"
2018-08-21 13:24:55 +02:00
fearlessTobi
6923ecee3a
Port #4056 from Citra: "Add Clear Recent Files menu action"
2018-08-21 13:12:45 +02:00
tech4me
cc71832b19
qt/main: Port part of citra( #3411 ), open savedata works
2018-08-21 02:04:33 -07:00
Lioncash
477eee3993
service/filesystem: Use forward declarations where applicable
...
Avoids the need to rebuild multiple source files if the filesystem code
headers change.
This also gets rid of a few instances of indirect inclusions being
relied upon
2018-08-20 23:28:46 -04:00
fearlessTobi
ba8ff096fd
Port #3353 from Citra
2018-08-21 01:14:06 +02:00
Lioncash
ffd60ee476
game_list: Avoid uninitialized variables when retrieving program ID
...
Avoids potentially leaving this variable uninitialized based off the
loader failing to retrieve the ID value.
2018-08-20 04:23:05 -04:00
David Marcec
706fc5d2d6
Added check to see if ARB_texture_mirror_clamp_to_edge is supported
2018-08-19 12:00:33 +10:00
Lioncash
9791f0d590
qt/main: Unindent code in OnMenuInstallToNAND()
...
We can change this into an early-return if the filename is empty.
There's no need to include all of the code within the if statement.
2018-08-16 10:37:58 -04:00
Lioncash
2a3d7128d1
qt/main: Make installation dialog text within OnMenuInstallToNAND() translatable
...
This is user-facing text, so it should be marked as translatable by Qt.
2018-08-16 10:36:42 -04:00
Lioncash
aac807fd3a
qt/main: Get rid of compilation warnings
...
Gets rid of truncation warnings about conversion to int. While we're at
it, we can also de-hardcode the buffer size being used.
2018-08-16 10:28:06 -04:00
bunnei
c594ec3417
Merge pull request #1005 from DarkLordZach/registered-fmt
...
file_sys: Add support for registration format
2018-08-15 23:11:58 -04:00
Lioncash
87d8a9c986
loader: Make ResultStatus directly compatible with fmt
...
We can make the enum class type compatible with fmt by providing an
overload of operator<<.
While we're at it, perform proper bounds checking. If something exceeds
the array, it should be a hard fail, because it's, without a doubt, a
programmer error in this case.
2018-08-15 05:52:37 -04:00
Zach Hilman
6b76b77400
registration: Add support for force overwrite of installed
2018-08-11 23:01:42 -04:00
Zach Hilman
fdf27bf390
game_list: Split game list scans to multiple functions
...
Avoids unnecessary rebuilds of control data on every layer of recursion in AddFstEntriesToGameList
2018-08-11 22:50:48 -04:00
Zach Hilman
f78a6e752f
qt: Use custom RawCopy with progress bar for installs
2018-08-11 22:50:48 -04:00
Zach Hilman
10812f8407
game_list: Populate control data from installed NAND
2018-08-11 22:50:48 -04:00
Zach Hilman
167bfddafa
file_sys: Comply to style guidelines
2018-08-11 22:50:48 -04:00
Zach Hilman
bfb945c243
qt: Add 'Install to NAND' option to menu
...
Prompts for title type on NCA files.
2018-08-11 22:50:48 -04:00
Zach Hilman
b67e751ccb
game_list: Modify game list to scan installed titles
2018-08-11 22:50:48 -04:00
Lioncash
0a93b45b6a
core: Namespace EmuWindow
...
Gets the class out of the global namespace.
2018-08-11 20:20:21 -04:00
bunnei
bc286c169f
Merge pull request #970 from DarkLordZach/loader-errors
...
loader: Add more descriptive errors
2018-08-11 19:25:30 -04:00
Lioncash
8eb97706b8
qt/game_list: Resolve truncation warning within GameListItemPath's constructor
...
Silences a warning about truncating from size_t to u32
2018-08-10 18:19:44 -04:00
Lioncash
aaf671a309
gt/game_list: Use std::array in GameListItemPath's data() function
...
We don't need to use a heap-allocated std::vector here, given we
explicitly know the bounds.
2018-08-10 18:19:40 -04:00
Lioncash
be53097577
qt/game_list: Remove redundant base class constructor from initializer list
...
This is called automatically anyways.
2018-08-10 18:17:39 -04:00
Zach Hilman
8069fbd37f
game_list: Reorder error checks
...
clang-format fix
2018-08-09 21:37:35 -04:00
Zach Hilman
ec3bef7b4c
loader: Add more descriptive errors
...
Full list of new errors and descriptions in core/loader/loader.h
2018-08-09 21:06:59 -04:00
bunnei
3a67876252
textures: Refactor out for Texture/Depth FormatFromPixelFormat.
2018-08-09 20:36:03 -04:00
Zach Hilman
668458525e
vfs: Fix documentation
2018-08-08 21:45:04 -04:00
Zach Hilman
94cf327e77
vfs: Fix typo in VfsFilesystem docs
2018-08-08 21:18:45 -04:00
Zach Hilman
2b6128fe0b
file_util: Use enum instead of bool for specifing path behavior
2018-08-08 21:18:45 -04:00
Zach Hilman
4b471f0554
core: Port core to VfsFilesystem for file access
2018-08-08 21:18:45 -04:00
bunnei
fd9da4232b
Merge pull request #850 from DarkLordZach/icon-meta
...
Add Icons and Metadata Support
2018-08-08 12:27:19 -04:00
Zach Hilman
1abfd4166e
configure_gamelist: Use explicit QVariant constructor
2018-08-07 17:10:10 -04:00
Lioncash
c8f6754417
qt/hotkey: Get rid of global hotkey map instance
...
Instead, we make a proper registry class and house it within the main
window, then pass it to whatever needs access to the loaded hotkeys.
This way, we avoid a global variable, and don't need to initialize a
std::map instance before the program can do anything.
2018-08-07 02:28:17 -04:00
Zach Hilman
91cfe70301
loader: Add icon and title support to XCI
2018-08-06 23:13:42 -04:00
Zach Hilman
5927cf0e17
Use const where applicable
2018-08-06 23:06:33 -04:00
Zach Hilman
9e88f03e75
Avoid parsing RomFS to directory in NCA
2018-08-06 23:06:33 -04:00
bunnei
0c3c91e41c
Merge pull request #947 from lioncash/encoding
...
game_list: Use QString::fromStdString() where applicable instead of c_str()
2018-08-06 22:02:01 -04:00
Hedges
e2b74f6354
GDBStub works with both Unicorn and Dynarmic now ( #941 )
...
* GDBStub works with both Unicorn and Dynarmic now
* Tidy up
2018-08-06 22:01:24 -04:00
bunnei
e218d79cc2
Merge pull request #943 from lioncash/decl
...
game_list: Join declarations and assignments in onTextChanged()
2018-08-06 22:00:49 -04:00
bunnei
75df8a3969
Merge pull request #946 from lioncash/compress
...
qt/main: Collapse if statement in UpdateRecentFiles()
2018-08-06 21:34:20 -04:00
bunnei
645d35ac32
Merge pull request #944 from lioncash/menu
...
qt: Don't show error dialog when canceling the Load Folder dialog
2018-08-06 21:33:23 -04:00
bunnei
168958f8e2
Merge pull request #942 from lioncash/default
...
qt: Minor cleanup-related changes
2018-08-06 21:32:25 -04:00
bunnei
f179e87864
Merge pull request #940 from lioncash/private
...
kernel/event: Make data members private
2018-08-06 21:31:25 -04:00
Lioncash
96b6ad11c1
qt/main: Avoid sign conversions in UpdateRecentFiles()
...
This was intermixing signed and unsigned values when they could all just
be signed.
2018-08-06 15:42:44 -04:00
Lioncash
10d693b9c2
game_list: Remove unnecessary conversion to std::string in ValidateEntry()
...
We can just use the file interfaces that Qt provides to prevent needing
to convert to std::string.
2018-08-06 15:06:29 -04:00
Lioncash
a5ac53dd4c
game_list: Use QString::fromStdString() where applicable instead of c_str()
...
The codec used by Qt for const char* and std::string don't necessarily
have to be the same depending on locale. Therefore, we should be using
the correct functions to do the conversions.
2018-08-06 15:06:30 -04:00
Lioncash
251e92513a
game_list: Join declarations and assignments in onTextChanged()
...
There's no need to keep these separate from one another.
2018-08-06 14:35:40 -04:00
Lioncash
cf983888cc
qt/main: Collapse if statement in UpdateRecentFiles()
...
Given the function accepts a boolean, we don't need to use an if
statement here and repeat ourselves.
2018-08-06 14:32:28 -04:00
Lioncash
2b2dc00bfd
qt/main: Better file-existence checking within OnMenuRecentFile() and UpdateUITheme()
...
In OnMenuRecentFile() we don't need to construct a QFileInfo instance
just to check if a file exists, we can just use the static member
function to do that (which Qt's documentation also notes as quicker than
constructing an instance).
In UpdateUITheme(), we just want to try and open the file and check the
success of that operation. Technically speaking, between the existence
check and the open call, the file can be deleted or moved, but still
appear to succeed in code. i.e.
1. Existence check -> Returns true
2. File is moved/deleted
3. Open is called, the return value of which isn't checked
4. Nonsense behavior
This way we combine the existence check and the open into one.
2018-08-06 14:17:13 -04:00
Lioncash
d33f641912
qt: Don't show error dialog when canceling the Load Folder dialog
...
Previously, when canceling out of the Load Folder dialog, a user would
get an error dialog about the selected folder not containing a main
file, however, by canceling out of the dialog, no selection was actually
made.
2018-08-06 14:02:34 -04:00
Lioncash
9764b4ec0e
qt/game_list_p: Remove redundant base class constructor invocations
...
These occur automatically without the need to call them. While we're at
it, also std::move the QString instance into its member variable.
2018-08-06 13:42:12 -04:00
Lioncash
7846295a8f
qt: Add missing override specifiers where applicable
2018-08-06 13:29:14 -04:00
Lioncash
00a68c5eea
qt: Default destructors where applicable
...
Makes code consistent with our style of defaulting special member
functions where applicable.
2018-08-06 13:27:08 -04:00
Lioncash
2feb1a8ba6
kernel/event: Make data members private
...
Instead we can simply provide accessors to the required data instead of
giving external read/write access to the variables directly.
2018-08-06 12:53:02 -04:00
bunnei
c0af42d6eb
Merge pull request #912 from lioncash/global-var
...
video_core: Eliminate the g_renderer global variable
2018-08-05 16:37:39 -04:00
bunnei
2b06301dbf
Merge pull request #849 from DarkLordZach/xci
...
XCI and Encrypted NCA Support
2018-08-04 14:33:11 -04:00
Lioncash
6030c5ce41
video_core: Eliminate the g_renderer global variable
...
We move the initialization of the renderer to the core class, while
keeping the creation of it and any other specifics in video_core. This
way we can ensure that the renderer is initialized and doesn't give
unfettered access to the renderer. This also makes dependencies on types
more explicit.
For example, the GPU class doesn't need to depend on the
existence of a renderer, it only needs to care about whether or not it
has a rasterizer, but since it was accessing the global variable, it was
also making the renderer a part of its dependency chain. By adjusting
the interface, we can get rid of this dependency.
2018-08-04 02:36:57 -04:00
David
c1d54f4aea
Added ability to change username & language code in the settings ui. Added IProfile::Get and SET::GetLanguageCode for libnx tests ( #851 )
2018-08-03 11:02:55 -04:00