diff --git a/rpcs3/Emu/Cell/Modules/cellCrossController.cpp b/rpcs3/Emu/Cell/Modules/cellCrossController.cpp index 0ff42f5b09..3f27a864d6 100644 --- a/rpcs3/Emu/Cell/Modules/cellCrossController.cpp +++ b/rpcs3/Emu/Cell/Modules/cellCrossController.cpp @@ -1,11 +1,18 @@ #include "stdafx.h" #include "Emu/System.h" #include "Emu/Cell/PPUModule.h" +#include "cellSysutil.h" logs::channel cellCrossController("cellCrossController"); +enum +{ + CELL_CROSS_CONTROLLER_STATUS_INITIALIZED = 1, + CELL_CROSS_CONTROLLER_STATUS_FINALIZED = 2 +}; + struct CellCrossControllerParam { vm::bcptr pPackageFileName; @@ -26,6 +33,15 @@ using CellCrossControllerCallback = void(s32 status, s32 errorCode, vm::ptr pParam, vm::cptr pPkgInfo, vm::ptr cb, vm::ptr userdata) // LittleBigPlanet 2 and 3 { cellCrossController.todo("cellCrossControllerInitialize(pParam=*0x%x, pPkgInfo=*0x%x, cb=*0x%x, userdata=*0x%x)", pParam, pPkgInfo, cb, userdata); + + sysutil_register_cb([=](ppu_thread& ppu) -> s32 + { + cb(ppu, CELL_CROSS_CONTROLLER_STATUS_INITIALIZED, CELL_OK, vm::null, userdata); + cb(ppu, CELL_CROSS_CONTROLLER_STATUS_FINALIZED, CELL_OK, vm::null, userdata); + + return CELL_OK; + }); + return CELL_OK; }