Browse Source

[ns, olsc] stubs for qlaunch fw23 (#4427)

- [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.

-------------------
These two stubs fix freezes, in the description and when closing the game.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4427
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: lizzie <lizzie@eden-emu.dev>
pull/4430/head
PavelBARABANOV 5 days ago
committed by crueter
parent
commit
bfba95fd60
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 6
      src/core/hle/service/ns/application_manager_interface.cpp
  2. 1
      src/core/hle/service/ns/application_manager_interface.h
  3. 2
      src/core/hle/service/ns/read_only_application_control_data_interface.cpp
  4. 7
      src/core/hle/service/olsc/transfer_task_list_controller.cpp
  5. 1
      src/core/hle/service/olsc/transfer_task_list_controller.h

6
src/core/hle/service/ns/application_manager_interface.cpp

@ -476,6 +476,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{4096, nullptr, "Unknown4096"}, //20.0.0+ {4096, nullptr, "Unknown4096"}, //20.0.0+
{4097, nullptr, "Unknown4097"}, //20.0.0+ {4097, nullptr, "Unknown4097"}, //20.0.0+
{4099, nullptr, "Unknown4099"}, //21.0.0+ {4099, nullptr, "Unknown4099"}, //21.0.0+
{4105, D<&IApplicationManagerInterface::Unknown4105>, "Unknown4105"}, //23.0.0+
{5000, nullptr, "Unknown5000"}, //18.0.0+ {5000, nullptr, "Unknown5000"}, //18.0.0+
{5001, nullptr, "Unknown5001"}, //18.0.0+ {5001, nullptr, "Unknown5001"}, //18.0.0+
{9999, nullptr, "GetApplicationCertificate"}, //10.0.0-10.2.0 {9999, nullptr, "GetApplicationCertificate"}, //10.0.0-10.2.0
@ -866,6 +867,11 @@ Result IApplicationManagerInterface::Unknown4053() {
R_SUCCEED(); R_SUCCEED();
} }
Result IApplicationManagerInterface::Unknown4105() {
LOG_WARNING(Service_NS, "(STUBBED) called.");
R_SUCCEED();
}
void IApplicationManagerInterface::PushApplicationRecord(HLERequestContext& ctx) { void IApplicationManagerInterface::PushApplicationRecord(HLERequestContext& ctx) {
const auto record = ctx.ReadBuffer(); const auto record = ctx.ReadBuffer();
u64 application_id{}; u64 application_id{};

1
src/core/hle/service/ns/application_manager_interface.h

@ -72,6 +72,7 @@ public:
Result Unknown4022(OutCopyHandle<Kernel::KReadableEvent> out_event); Result Unknown4022(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result Unknown4023(Out<u64> out_result); Result Unknown4023(Out<u64> out_result);
Result Unknown4053(); Result Unknown4053();
Result Unknown4105();
Result RequestDownloadApplicationControlDataInBackground(u64 control_source, Result RequestDownloadApplicationControlDataInBackground(u64 control_source,
u64 application_id); u64 application_id);

2
src/core/hle/service/ns/read_only_application_control_data_interface.cpp

@ -142,7 +142,7 @@ IReadOnlyApplicationControlDataInterface::IReadOnlyApplicationControlDataInterfa
{10, &IReadOnlyApplicationControlDataInterface::ListApplicationIcon, "ListApplicationIcon"}, {10, &IReadOnlyApplicationControlDataInterface::ListApplicationIcon, "ListApplicationIcon"},
{13, &IReadOnlyApplicationControlDataInterface::ListApplicationTitle, "ListApplicationTitle"}, {13, &IReadOnlyApplicationControlDataInterface::ListApplicationTitle, "ListApplicationTitle"},
{19, D<&IReadOnlyApplicationControlDataInterface::GetApplicationControlData3>, "GetApplicationControlData"}, {19, D<&IReadOnlyApplicationControlDataInterface::GetApplicationControlData3>, "GetApplicationControlData"},
{23, D<&IReadOnlyApplicationControlDataInterface::GetApplicationControlData3>, "GetApplicationControlData"},
{23, D<&IReadOnlyApplicationControlDataInterface::GetApplicationControlData3>, "GetApplicationControlData"}, //23.0.0+
}; };
// clang-format on // clang-format on

7
src/core/hle/service/olsc/transfer_task_list_controller.cpp

@ -36,7 +36,7 @@ ITransferTaskListController::ITransferTaskListController(Core::System& system_)
{18, nullptr, "ListTransferTaskInfo"}, {18, nullptr, "ListTransferTaskInfo"},
{19, nullptr, "DeleteTransferTask"}, {19, nullptr, "DeleteTransferTask"},
{20, nullptr, "RaiseTransferTaskPriority"}, {20, nullptr, "RaiseTransferTaskPriority"},
{21, nullptr, "GetTransferTaskProgress"},
{21, D<&ITransferTaskListController::GetTransferTaskProgress>, "GetTransferTaskProgress"}, //10.1.0+
{22, nullptr, "GetTransferTaskLastResult"}, {22, nullptr, "GetTransferTaskLastResult"},
{23, nullptr, "SuspendTransferTask"}, {23, nullptr, "SuspendTransferTask"},
{24, D<&ITransferTaskListController::GetCurrentTransferTaskInfo>, "GetCurrentTransferTaskInfo"}, {24, D<&ITransferTaskListController::GetCurrentTransferTaskInfo>, "GetCurrentTransferTaskInfo"},
@ -82,6 +82,11 @@ Result ITransferTaskListController::GetCurrentTransferTaskInfo(Out<std::array<u8
R_SUCCEED(); R_SUCCEED();
} }
Result ITransferTaskListController::GetTransferTaskProgress() {
LOG_WARNING(Service_OLSC, "(STUBBED) called.");
R_SUCCEED();
}
Result ITransferTaskListController::FindTransferTaskInfo(Out<std::array<u8, 0x30>> out_info, Result ITransferTaskListController::FindTransferTaskInfo(Out<std::array<u8, 0x30>> out_info,
InBuffer<BufferAttr_HipcAutoSelect> in) { InBuffer<BufferAttr_HipcAutoSelect> in) {
LOG_WARNING(Service_OLSC, "(STUBBED) called, in_size={}", in.size()); LOG_WARNING(Service_OLSC, "(STUBBED) called, in_size={}", in.size());

1
src/core/hle/service/olsc/transfer_task_list_controller.h

@ -24,6 +24,7 @@ private:
Result GetTransferTaskStartEventNativeHandleHolder(Out<SharedPointer<INativeHandleHolder>> out_holder); Result GetTransferTaskStartEventNativeHandleHolder(Out<SharedPointer<INativeHandleHolder>> out_holder);
Result StopNextTransferTaskExecution(Out<SharedPointer<IStopperObject>> out_stopper); Result StopNextTransferTaskExecution(Out<SharedPointer<IStopperObject>> out_stopper);
Result GetTransferTaskCount(Out<u32> out_count, u8 unknown); Result GetTransferTaskCount(Out<u32> out_count, u8 unknown);
Result GetTransferTaskProgress();
Result GetCurrentTransferTaskInfo(Out<std::array<u8, 0x30>> out_info, u8 unknown); Result GetCurrentTransferTaskInfo(Out<std::array<u8, 0x30>> out_info, u8 unknown);
Result FindTransferTaskInfo(Out<std::array<u8, 0x30>> out_info, InBuffer<BufferAttr_HipcAutoSelect> in); Result FindTransferTaskInfo(Out<std::array<u8, 0x30>> out_info, InBuffer<BufferAttr_HipcAutoSelect> in);
}; };

Loading…
Cancel
Save