mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-09-26 19:11:00 +00:00
[hle] Firmware 23.0.0 (#4390)
Preparing when something inevitably requires *at least* this reporting of version/etc. Authored-by: @Maufeat Signed-off-by: lizzie <lizzie@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Co-authored-by: Maufeat <sahyno1996@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4390 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
This commit is contained in:
@@ -54,7 +54,7 @@ FSP_SRV::FSP_SRV(Core::System& system_)
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, nullptr, "OpenFileSystem"},
|
||||
{1, D<&FSP_SRV::SetCurrentProcess>, "SetCurrentProcess"},
|
||||
{2, nullptr, "OpenDataFileSystemByCurrentProcess"},
|
||||
{2, D<&FSP_SRV::OpenDataFileSystemByCurrentProcess>, "OpenDataFileSystemByCurrentProcess"},
|
||||
{7, D<&FSP_SRV::OpenFileSystemWithPatch>, "OpenFileSystemWithPatch"},
|
||||
{8, nullptr, "OpenFileSystemWithId"},
|
||||
{9, nullptr, "OpenDataFileSystemByApplicationId"},
|
||||
@@ -118,6 +118,7 @@ FSP_SRV::FSP_SRV(Core::System& system_)
|
||||
{204, nullptr, "OpenDataFileSystemByProgramIndex"},
|
||||
{205, D<&FSP_SRV::OpenDataStorageWithProgramIndex>, "OpenDataStorageWithProgramIndex"},
|
||||
{206, nullptr, "OpenDataStorageByPath"},
|
||||
{210, D<&FSP_SRV::SetCurrentProcess>, "SetCurrentProcess"},
|
||||
{400, nullptr, "OpenDeviceOperator"},
|
||||
{500, nullptr, "OpenSdCardDetectionEventNotifier"},
|
||||
{501, nullptr, "OpenGameCardDetectionEventNotifier"},
|
||||
@@ -460,6 +461,31 @@ Result FSP_SRV::OpenSaveDataTransferProhibiter(
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result FSP_SRV::OpenDataFileSystemByCurrentProcess(OutInterface<IFileSystem> out_interface) {
|
||||
LOG_DEBUG(Service_FS, "called");
|
||||
|
||||
if (!romfs) {
|
||||
auto current_romfs = romfs_controller->OpenRomFSCurrentProcess();
|
||||
if (!current_romfs) {
|
||||
LOG_CRITICAL(Service_FS, "No file system interface available!");
|
||||
R_RETURN(ResultUnknown);
|
||||
}
|
||||
|
||||
romfs = current_romfs;
|
||||
}
|
||||
|
||||
auto extracted_romfs = FileSys::ExtractRomFS(romfs);
|
||||
if (!extracted_romfs) {
|
||||
LOG_CRITICAL(Service_FS, "Failed to extract RomFS for the current process!");
|
||||
R_RETURN(ResultUnknown);
|
||||
}
|
||||
|
||||
*out_interface = std::make_shared<IFileSystem>(
|
||||
system, extracted_romfs, SizeGetter::FromStorageId(fsc, FileSys::StorageId::NandUser));
|
||||
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result FSP_SRV::OpenDataStorageByCurrentProcess(OutInterface<IStorage> out_interface) {
|
||||
LOG_DEBUG(Service_FS, "called");
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@ public:
|
||||
|
||||
private:
|
||||
Result SetCurrentProcess(ClientProcessId pid);
|
||||
Result OpenDataFileSystemByCurrentProcess(OutInterface<IFileSystem> out_interface);
|
||||
Result OpenFileSystemWithPatch(OutInterface<IFileSystem> out_interface,
|
||||
FileSystemProxyType type, u64 open_program_id);
|
||||
Result OpenSdCardFileSystem(OutInterface<IFileSystem> out_interface);
|
||||
|
||||
Reference in New Issue
Block a user