diff --git a/rpcs3/Emu/SysCalls/Modules/cellSail.cpp b/rpcs3/Emu/SysCalls/Modules/cellSail.cpp index d240fd2c62..c06942ecc7 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellSail.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellSail.cpp @@ -617,28 +617,18 @@ int cellSailPlayerAddDescriptor(vm::ptr pSelf, vm::ptr pSelf, s32 streamType, vm::ptr pMediaInfo, vm::ptr pUri, vm::ptr ppDesc) +int cellSailPlayerCreateDescriptor(vm::ptr pSelf, s32 streamType, vm::ptr pMediaInfo, vm::ptr pUri, vm::ptr ppDesc) { cellSail->Todo("cellSailPlayerCreateDescriptor(pSelf_addr=0x%x, streamType=%d, pMediaInfo_addr=0x%x, pUri_addr=0x%x, ppDesc_addr=0x%x)", pSelf.addr(), streamType, pMediaInfo.addr(), pUri.addr(), ppDesc.addr()); - //cellSail->Todo("Descriptor: %i", sizeof(CellSailDescriptor)); - //cellSail->Todo("Player: %i", sizeof(CellSailPlayer)); - // TODO: Let the game allocate memory for the descriptor, setup the descriptor and pass it back to the game - //CellSailDescriptor *pDesc = new CellSailDescriptor(); - //u32 descriptorAddress = pSelf->allocator->callbacks->pAlloc(pSelf->allocator->pArg, sizeof(CellSailDescriptor), sizeof(CellSailDescriptor)); - u32 descriptorAddress = Memory.Alloc(sizeof(CellSailDescriptor), sizeof(CellSailDescriptor)); - //CellSailMemAllocatorFuncAlloc test = pSelf->allocator->callbacks->pAlloc.call(Emu.GetCPU()); - //u32 descriptorAddress2 = test(pSelf->allocator->pArg, sizeof(CellSailDescriptor), sizeof(CellSailDescriptor)); - //cellSail->Error("Address: 0x%x", pSelf->allocator->callbacks.addr()); - //cellSail->Error("Address 2: 0x%x", descriptorAddress2); - //vm::ptr descriptor = vm::ptr::make(Memory.RealToVirtualAddr(&descriptorAddress)); - ppDesc = vm::ptr::make(descriptorAddress); - //cellSail->Error("Address 2: 0x%x", ppDesc.addr()); - ppDesc->streamType = streamType; - ppDesc->registered = false; + u32 descriptorAddress = Memory.Alloc(sizeof(CellSailDescriptor), 1); + auto descriptor = vm::ptr::make(descriptorAddress); + *ppDesc = descriptorAddress; + descriptor->streamType = streamType; + descriptor->registered = false; //pSelf->descriptors = 0; pSelf->repeatMode = 0;