diff --git a/rpcs3/Emu/Cell/Modules/cellNetCtl.cpp b/rpcs3/Emu/Cell/Modules/cellNetCtl.cpp index 69e62be37f..1132707a20 100644 --- a/rpcs3/Emu/Cell/Modules/cellNetCtl.cpp +++ b/rpcs3/Emu/Cell/Modules/cellNetCtl.cpp @@ -266,35 +266,34 @@ error_code cellGameUpdateTerm() return CELL_OK; } -error_code cellGameUpdateCheckStartAsync(ppu_thread& ppu, vm::cptr param, vm::ptr cb_func, vm::ptr userdata) +error_code cellGameUpdateCheckStartAsync(vm::cptr param, vm::ptr cb_func, vm::ptr userdata) { cellNetCtl.todo("cellGameUpdateCheckStartAsync(param=*0x%x, cb_func=*0x%x, userdata=*0x%x)", param, cb_func, userdata); sysutil_register_cb([=](ppu_thread& ppu) -> s32 { - cb_func(ppu, CELL_OK, CELL_OK, userdata); + cb_func(ppu, CELL_GAMEUPDATE_RESULT_STATUS_NO_UPDATE, CELL_OK, userdata); return CELL_OK; }); return CELL_OK; } -error_code cellGameUpdateCheckFinishAsync(ppu_thread& ppu, vm::ptr cb_func, vm::ptr userdata) +error_code cellGameUpdateCheckFinishAsync(vm::ptr cb_func, vm::ptr userdata) { cellNetCtl.todo("cellGameUpdateCheckFinishAsync(cb_func=*0x%x, userdata=*0x%x)", cb_func, userdata); - const u32 PROCESSING_COMPLETE = 5; sysutil_register_cb([=](ppu_thread& ppu) -> s32 { - cb_func(ppu, PROCESSING_COMPLETE, CELL_OK, userdata); + cb_func(ppu, CELL_GAMEUPDATE_RESULT_STATUS_FINISHED, CELL_OK, userdata); return CELL_OK; }); return CELL_OK; } -error_code cellGameUpdateCheckStartWithoutDialogAsync(ppu_thread& ppu, vm::ptr cb_func, vm::ptr userdata) +error_code cellGameUpdateCheckStartWithoutDialogAsync(vm::ptr cb_func, vm::ptr userdata) { cellNetCtl.todo("cellGameUpdateCheckStartWithoutDialogAsync(cb_func=*0x%x, userdata=*0x%x)", cb_func, userdata); sysutil_register_cb([=](ppu_thread& ppu) -> s32 { - cb_func(ppu, CELL_OK, CELL_OK, userdata); + cb_func(ppu, CELL_GAMEUPDATE_RESULT_STATUS_NO_UPDATE, CELL_OK, userdata); return CELL_OK; }); return CELL_OK; @@ -306,35 +305,35 @@ error_code cellGameUpdateCheckAbort() return CELL_OK; } -error_code cellGameUpdateCheckStartAsyncEx(ppu_thread& ppu, vm::cptr param, vm::ptr cb_func, vm::ptr userdata) +error_code cellGameUpdateCheckStartAsyncEx(vm::cptr param, vm::ptr cb_func, vm::ptr userdata) { cellNetCtl.todo("cellGameUpdateCheckStartAsyncEx(param=*0x%x, cb_func=*0x%x, userdata=*0x%x)", param, cb_func, userdata); sysutil_register_cb([=](ppu_thread& ppu) -> s32 { - cb_func(ppu, vm::make_var(CellGameUpdateResult{ CELL_OK, CELL_OK, 0x0, 0x0}), userdata); + cb_func(ppu, vm::make_var(CellGameUpdateResult{ CELL_GAMEUPDATE_RESULT_STATUS_NO_UPDATE, CELL_OK, 0x0, 0x0}), userdata); return CELL_OK; }); return CELL_OK; } -error_code cellGameUpdateCheckFinishAsyncEx(ppu_thread& ppu, vm::ptr cb_func, vm::ptr userdata) +error_code cellGameUpdateCheckFinishAsyncEx(vm::ptr cb_func, vm::ptr userdata) { cellNetCtl.todo("cellGameUpdateCheckFinishAsyncEx(cb_func=*0x%x, userdata=*0x%x)", cb_func, userdata); const s32 PROCESSING_COMPLETE = 5; sysutil_register_cb([=](ppu_thread& ppu) -> s32 { - cb_func(ppu, vm::make_var(CellGameUpdateResult{ PROCESSING_COMPLETE, CELL_OK, 0x0, 0x0}), userdata); + cb_func(ppu, vm::make_var(CellGameUpdateResult{ CELL_GAMEUPDATE_RESULT_STATUS_FINISHED, CELL_OK, 0x0, 0x0}), userdata); return CELL_OK; }); return CELL_OK; } -error_code cellGameUpdateCheckStartWithoutDialogAsyncEx(ppu_thread& ppu, vm::ptr cb_func, vm::ptr userdata) +error_code cellGameUpdateCheckStartWithoutDialogAsyncEx(vm::ptr cb_func, vm::ptr userdata) { cellNetCtl.todo("cellGameUpdateCheckStartWithoutDialogAsyncEx(cb_func=*0x%x, userdata=*0x%x)", cb_func, userdata); sysutil_register_cb([=](ppu_thread& ppu) -> s32 { - cb_func(ppu, vm::make_var(CellGameUpdateResult{ CELL_OK, CELL_OK, 0x0, 0x0}), userdata); + cb_func(ppu, vm::make_var(CellGameUpdateResult{ CELL_GAMEUPDATE_RESULT_STATUS_NO_UPDATE, CELL_OK, 0x0, 0x0}), userdata); return CELL_OK; }); return CELL_OK; diff --git a/rpcs3/Emu/Cell/Modules/cellNetCtl.h b/rpcs3/Emu/Cell/Modules/cellNetCtl.h index 1ebc683efa..07d39805b8 100644 --- a/rpcs3/Emu/Cell/Modules/cellNetCtl.h +++ b/rpcs3/Emu/Cell/Modules/cellNetCtl.h @@ -303,6 +303,18 @@ static const char* InfoCodeToName(s32 code) } } +enum +{ + CELL_GAMEUPDATE_RESULT_STATUS_NO_UPDATE = 0, + CELL_GAMEUPDATE_RESULT_STATUS_UPDATE_FOUND = 1, + CELL_GAMEUPDATE_RESULT_STATUS_MAINTENANCE = 2, + CELL_GAMEUPDATE_RESULT_STATUS_ERROR = 3, + CELL_GAMEUPDATE_RESULT_STATUS_CANCELLED = 4, + CELL_GAMEUPDATE_RESULT_STATUS_FINISHED = 5, + CELL_GAMEUPDATE_RESULT_STATUS_ABORTED = 6, + CELL_GAMEUPDATE_RESULT_STATUS_SYSTEM_UPDATE_NEEDED = 7 +}; + struct CellGameUpdateResult { be_t status; // CellGameUpdateResultStatus