From 05354698f00abf993ee5b92396d3e05f21259cd3 Mon Sep 17 00:00:00 2001 From: scribam Date: Mon, 26 Feb 2018 22:54:47 +0100 Subject: [PATCH] Add callbacks for cellStorage --- rpcs3/Emu/Cell/Modules/cellStorage.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/Cell/Modules/cellStorage.cpp b/rpcs3/Emu/Cell/Modules/cellStorage.cpp index e7b29b026d..eea3280730 100644 --- a/rpcs3/Emu/Cell/Modules/cellStorage.cpp +++ b/rpcs3/Emu/Cell/Modules/cellStorage.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "Emu/Cell/PPUModule.h" - +#include "cellSysutil.h" extern logs::channel cellSysutil; @@ -44,18 +44,39 @@ void fmt_class_string::format(std::string& out, u64 arg) error_code cellStorageDataImportMove(u32 version, vm::ptr srcMediaFile, vm::ptr dstHddDir, vm::ptr param, vm::ptr funcFinish, u32 container, vm::ptr userdata) { cellSysutil.todo("cellStorageDataImportMove(version=0x%x, srcMediaFile=%s, dstHddDir=%s, param=*0x%x, funcFinish=*0x%x, container=0x%x, userdata=*0x%x)", version, srcMediaFile, dstHddDir, param, funcFinish, container, userdata); + + sysutil_register_cb([=](ppu_thread& ppu) -> s32 + { + funcFinish(ppu, CELL_OK, userdata); + return CELL_OK; + }); + return CELL_OK; } error_code cellStorageDataImport(u32 version, vm::ptr srcMediaFile, vm::ptr dstHddDir, vm::ptr param, vm::ptr funcFinish, u32 container, vm::ptr userdata) { cellSysutil.todo("cellStorageDataImport(version=0x%x, srcMediaFile=%s, dstHddDir=%s, param=*0x%x, funcFinish=*0x%x, container=0x%x, userdata=*0x%x)", version, srcMediaFile, dstHddDir, param, funcFinish, container, userdata); + + sysutil_register_cb([=](ppu_thread& ppu) -> s32 + { + funcFinish(ppu, CELL_OK, userdata); + return CELL_OK; + }); + return CELL_OK; } error_code cellStorageDataExport(u32 version, vm::ptr srcHddFile, vm::ptr dstMediaDir, vm::ptr param, vm::ptr funcFinish, u32 container, vm::ptr userdata) { cellSysutil.todo("cellStorageDataExport(version=0x%x, srcHddFile=%s, dstMediaDir=%s, param=*0x%x, funcFinish=*0x%x, container=0x%x, userdata=*0x%x)", version, srcHddFile, dstMediaDir, param, funcFinish, container, userdata); + + sysutil_register_cb([=](ppu_thread& ppu) -> s32 + { + funcFinish(ppu, CELL_OK, userdata); + return CELL_OK; + }); + return CELL_OK; }