| Age | Commit message (Collapse) | Author |
|
|
|
|
|
If subdirectories exist in the given path parameter and don't exist in the real filesystem create them prior to creating the files within.
This fixes the softlocks upon save creation in The Legend of Zelda: Breath of the Wild
|
|
|
|
Closes #3533
Turns out the functions were already implemented but just never added
|
|
Keeps the service function tables up to date.
Updated based off information on SwitchBrew.
|
|
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.
We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).
While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
|
|
|
|
core/memory: Deglobalize memory management code
|
|
This can trivially be an enum class rather than a regular enum, making
it more strongly typed.
|
|
Amends a few interfaces to be able to handle the migration over to the
new Memory class by passing the class by reference as a function
parameter where necessary.
Notably, within the filesystem services, this eliminates two ReadBlock()
calls by using the helper functions of HLERequestContext to do that for
us.
|
|
service: Update function tables
|
|
Keeps the function tables up to date.
Updated based off information from Switchbrew.
|
|
These are fairly trivial to resolve and most of the changes entail
using RESULT_UNKNOWN over ResultCode(-1).
|
|
Migrates the HLE service code off the use of directly accessing the
global system instance where trivially able to do so.
This removes all usages of Core::CurrentProcess from the service code,
only 8 occurrences of this function exist elsewhere. There's still quite
a bit of "System::GetInstance()" being used, however this was able to
replace a few instances.
|
|
|
|
Ports BCAT to use FSC interface
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Returns some misc. data about logging to help the game determine if it should log.
|
|
Allows games to log data to the SD.
|
|
service: Update service function tables
|
|
Updates function tables based off information from SwitchBrew.
|
|
IDirectory's Read() function doesn't take any input parameters. It only
uses the output parameters that we already provide.
|
|
These indicate options that alter how a read/write is performed.
Currently we don't need to handle these, as the only one that seems to
be used is for writes, but all the custom options ever seem to do is
immediate flushing, which we already do by default.
|
|
file_sys: Provide generic interface for accessing game data
|
|
service/fsp_srv: Update SaveDataInfo and SaveDataDescriptor structs
|
|
Passing around a 64 byte data struct by value is kind of wasteful,
instead pass a reference to the struct.
|
|
The unknown member here is actually padding due to being passed as a
struct. We can do the same, and remove the need to pop a padding word.
|
|
I realized that I updated the documentation on SwitchBrew a while ago,
but never actually updated the structs within yuzu.
|
|
filesystem: Use a std::string_view in OpenFile()
|
|
Rather than make a full copy of the path, we can just use a string view
and truncate the viewed portion of the string instead of creating a totally
new truncated string.
|
|
In several places, we have request parsers where there's nothing to
really parse, simply because the HLE function in question operates on
buffers. In these cases we can just remove these instances altogether.
In the other cases, we can retrieve the relevant members from the parser
and at least log them out, giving them some use.
|
|
|
|
This just acts as a basic setter for a given PID value and performs no
further checking, so we can just store the passed in value.
|
|
Updates function tables based off information provided by SwitchBrew.
|
|
|
|
fsp_srv: Implement IStorage::GetSize
|
|
Takes no input and returns the size as a u64. Needed by Katamari Damacy Reroll to boot.
|
|
Based off RE, the backing code only ever seems to use 0-2 as the range
of values 1 being a generic log enable, with 2 indicating logging should
go to the SD card. These are used as a set of flags internally.
Given we only care about receiving the log in general, we can just
always signify that we want logging in general.
|
|
file_sys: Implement open source system archives
|
|
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.
|
|
This is the same behavior-wise as DeleteDirectoryRecursively, with the
only difference being that it doesn't delete the top level directory in
the hierarchy, so given:
root_dir/
- some_dir/
- File.txt
- OtherFile.txt
The end result is just:
root_dir/
|
|
|
|
services should now log on some level
|