diff --git a/rpcs3/Emu/ARMv7/Modules/sceFios.cpp b/rpcs3/Emu/ARMv7/Modules/sceFios.cpp index d542e97549..71dab26ea1 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceFios.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceFios.cpp @@ -677,12 +677,12 @@ SceFiosDate sceFiosDateGetCurrent() throw __FUNCTION__; } -SceFiosDate sceFiosDateFromComponents(const struct vm::psv::ptr pComponents) +SceFiosDate sceFiosDateFromComponents(vm::psv::ptr pComponents) { throw __FUNCTION__; } -struct vm::psv::ptr sceFiosDateToComponents(SceFiosDate date, struct vm::psv::ptr pOutComponents) +vm::psv::ptr sceFiosDateToComponents(SceFiosDate date, vm::psv::ptr pOutComponents) { throw __FUNCTION__; } diff --git a/rpcs3/Emu/ARMv7/Modules/sceNpMatching.cpp b/rpcs3/Emu/ARMv7/Modules/sceNpMatching.cpp index cdb9f5aa8e..31c0d665f3 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceNpMatching.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceNpMatching.cpp @@ -287,7 +287,7 @@ struct SceNpMatching2RoomGroup struct SceNpMatching2RoomMemberDataExternal { - struct vm::psv::ptr next; + vm::psv::ptr next; SceNpId npId; u64 joinDate; SceNpMatching2Role role; @@ -297,7 +297,7 @@ struct SceNpMatching2RoomMemberDataExternal struct SceNpMatching2RoomMemberDataInternal { - struct vm::psv::ptr next; + vm::psv::ptr next; SceNpId npId; u64 joinDate; diff --git a/rpcs3/Emu/Memory/atomic.h b/rpcs3/Emu/Memory/atomic.h index 7e0261b6e7..a97f40db30 100644 --- a/rpcs3/Emu/Memory/atomic.h +++ b/rpcs3/Emu/Memory/atomic.h @@ -195,29 +195,20 @@ public: const atomic_type res = InterlockedXor(&data, (atomic_type&)(right)) ^ (atomic_type&)(right); return (T&)res; } - }; -template struct atomic_le_t : public _atomic_base -{ -}; +template using atomic_le_t = _atomic_base; -template struct atomic_be_t : public _atomic_base::type> -{ -}; +template using atomic_be_t = _atomic_base::type>; namespace ps3 { - template struct atomic_t : public atomic_be_t - { - }; + template using atomic_t = atomic_be_t; } namespace psv { - template struct atomic_t : public atomic_le_t - { - }; + template using atomic_t = atomic_le_t; } using namespace ps3; diff --git a/rpcs3/Emu/Memory/vm_ptr.h b/rpcs3/Emu/Memory/vm_ptr.h index be49e8a42d..4301dc4dc1 100644 --- a/rpcs3/Emu/Memory/vm_ptr.h +++ b/rpcs3/Emu/Memory/vm_ptr.h @@ -411,106 +411,30 @@ namespace vm }; //BE pointer to LE data - template struct bptrl : public _ptr_base::type> - { - static const bptrl make(AT addr) - { - auto res = _ptr_base::type>::make(convert_le_be::type>(addr)); - return static_cast(res); - } - - using _ptr_base::type>::operator=; - }; + template using bptrl = _ptr_base::type>; //BE pointer to BE data - template struct bptrb : public _ptr_base::type, lvl, typename to_be_t::type> - { - static const bptrb make(AT addr) - { - auto res = _ptr_base::type, lvl, typename to_be_t::type>::make(convert_le_be::type>(addr)); - return static_cast(res); - } - - using _ptr_base::type, lvl, typename to_be_t::type>::operator=; - }; + template using bptrb = _ptr_base::type, lvl, typename to_be_t::type>; //LE pointer to BE data - template struct lptrb : public _ptr_base::type, lvl, AT> - { - static const lptrb make(AT addr) - { - auto res = _ptr_base::type, lvl, AT>::make(addr); - return static_cast(res); - } - - using _ptr_base::type, lvl, AT>::operator=; - }; + template using lptrb = _ptr_base::type, lvl, AT>; //LE pointer to LE data - template struct lptrl : public _ptr_base - { - static const lptrl make(AT addr) - { - auto res = _ptr_base::make(addr); - return static_cast(res); - } - - using _ptr_base::operator=; - }; + template using lptrl = _ptr_base; namespace ps3 { - template struct ptr; - template struct bptr; - //default pointer for HLE functions (LE pointer to BE data) - template struct ptr : public lptrb - { - static const ptr make(AT addr) - { - auto res = lptrb::make(addr); - return static_cast(res); - } - - vm::ps3::bptr to_be() const - { - return vm::ps3::bptr::make(this->addr()); - } - - using lptrb::operator=; - }; + template using ptr = lptrb; //default pointer for HLE structures (BE pointer to BE data) - template struct bptr : public bptrb - { - static const bptr make(AT addr) - { - auto res = bptrb::make(addr); - return static_cast(res); - } - - vm::ps3::ptr to_le() const - { - return vm::ps3::ptr::make(this->addr()); - } - - using bptrb::operator=; - }; + template using bptr = bptrb; } namespace psv { //default pointer for HLE functions & structures (LE pointer to LE data) - template struct ptr : public lptrl - { - static const ptr make(AT addr) - { - auto res = lptrl::make(addr); - return static_cast(res); - } - - using lptrl::operator=; - }; + template using ptr = lptrl; } //PS3 emulation is main now, so lets it be as default @@ -519,36 +443,14 @@ namespace vm namespace fmt { - // external specializations for fmt::format function + // external specialization for fmt::format function template - struct unveil, false> + struct unveil, false> { typedef typename unveil::result_type result_type; - __forceinline static result_type get_value(const vm::ps3::ptr& arg) - { - return unveil::get_value(arg.addr()); - } - }; - - template - struct unveil, false> - { - typedef typename unveil::result_type result_type; - - __forceinline static result_type get_value(const vm::ps3::bptr& arg) - { - return unveil::get_value(arg.addr()); - } - }; - - template - struct unveil, false> - { - typedef typename unveil::result_type result_type; - - __forceinline static result_type get_value(const vm::psv::ptr& arg) + __forceinline static result_type get_value(const vm::_ptr_base& arg) { return unveil::get_value(arg.addr()); } @@ -561,16 +463,16 @@ template struct cast_ppu_gpr; template -struct cast_ppu_gpr, false> +struct cast_ppu_gpr, false> { - __forceinline static u64 to_gpr(const vm::ps3::ptr& value) + __forceinline static u64 to_gpr(const vm::_ptr_base& value) { return value.addr(); } - __forceinline static vm::ps3::ptr from_gpr(const u64 reg) + __forceinline static vm::_ptr_base from_gpr(const u64 reg) { - return vm::ps3::ptr::make(cast_ppu_gpr::value>::from_gpr(reg)); + return vm::_ptr_base::make(cast_ppu_gpr::value>::from_gpr(reg)); } }; @@ -580,15 +482,15 @@ template struct cast_armv7_gpr; template -struct cast_armv7_gpr, false> +struct cast_armv7_gpr, false> { - __forceinline static u32 to_gpr(const vm::psv::ptr& value) + __forceinline static u32 to_gpr(const vm::_ptr_base& value) { return value.addr(); } - __forceinline static vm::psv::ptr from_gpr(const u32 reg) + __forceinline static vm::_ptr_base from_gpr(const u32 reg) { - return vm::psv::ptr::make(cast_armv7_gpr::value>::from_gpr(reg)); + return vm::_ptr_base::make(cast_armv7_gpr::value>::from_gpr(reg)); } }; diff --git a/rpcs3/Emu/Memory/vm_ref.h b/rpcs3/Emu/Memory/vm_ref.h index f7256cedff..c13d3a502a 100644 --- a/rpcs3/Emu/Memory/vm_ref.h +++ b/rpcs3/Emu/Memory/vm_ref.h @@ -61,51 +61,30 @@ namespace vm }; //BE reference to LE data - template struct brefl : public _ref_base::type> - { - using _ref_base::type>::operator=; - }; + template using brefl = _ref_base::type>; //BE reference to BE data - template struct brefb : public _ref_base::type, typename to_be_t::type> - { - using _ref_base::type, typename to_be_t::type>::operator=; - }; + template using brefb = _ref_base::type, typename to_be_t::type>; //LE reference to BE data - template struct lrefb : public _ref_base::type, AT> - { - using _ref_base::type, AT>::operator=; - }; + template using lrefb = _ref_base::type, AT>; //LE reference to LE data - template struct lrefl : public _ref_base - { - using _ref_base::operator=; - }; + template using lrefl = _ref_base; namespace ps3 { //default reference for HLE functions (LE reference to BE data) - template struct ref : public lrefb - { - using lrefb::operator=; - }; + template using ref = lrefb; //default reference for HLE structures (BE reference to BE data) - template struct bref : public brefb - { - using brefb::operator=; - }; + template using bref = brefb; } namespace psv { //default reference for HLE functions & structures (LE reference to LE data) - template struct ref : public lrefl - { - using lrefl::operator=; - }; + template using ref = lrefl; } //PS3 emulation is main now, so lets it be as default @@ -114,36 +93,14 @@ namespace vm namespace fmt { - // external specializations for fmt::format function + // external specialization for fmt::format function template - struct unveil, false> + struct unveil, false> { typedef typename unveil::result_type result_type; - __forceinline static result_type get_value(const vm::ps3::ref& arg) - { - return unveil::get_value(arg.addr()); - } - }; - - template - struct unveil, false> - { - typedef typename unveil::result_type result_type; - - __forceinline static result_type get_value(const vm::ps3::bref& arg) - { - return unveil::get_value(arg.addr()); - } - }; - - template - struct unveil, false> - { - typedef typename unveil::result_type result_type; - - __forceinline static result_type get_value(const vm::psv::ref& arg) + __forceinline static result_type get_value(const vm::_ref_base& arg) { return unveil::get_value(arg.addr()); } @@ -156,16 +113,16 @@ template struct cast_ppu_gpr; template -struct cast_ppu_gpr, false> +struct cast_ppu_gpr, false> { - __forceinline static u64 to_gpr(const vm::ps3::ref& value) + __forceinline static u64 to_gpr(const vm::_ref_base& value) { return value.addr(); } - __forceinline static vm::ps3::ref from_gpr(const u64 reg) + __forceinline static vm::_ref_base from_gpr(const u64 reg) { - return vm::ps3::ref::make(cast_ppu_gpr::value>::from_gpr(reg)); + return vm::_ref_base::make(cast_ppu_gpr::value>::from_gpr(reg)); } }; @@ -175,15 +132,15 @@ template struct cast_armv7_gpr; template -struct cast_armv7_gpr, false> +struct cast_armv7_gpr, false> { - __forceinline static u32 to_gpr(const vm::psv::ref& value) + __forceinline static u32 to_gpr(const vm::_ref_base& value) { return value.addr(); } - __forceinline static vm::psv::ref from_gpr(const u32 reg) + __forceinline static vm::_ref_base from_gpr(const u32 reg) { - return vm::psv::ref::make(cast_armv7_gpr::value>::from_gpr(reg)); + return vm::_ref_base::make(cast_armv7_gpr::value>::from_gpr(reg)); } }; diff --git a/rpcs3/Emu/SysCalls/Modules/cellAdec.cpp b/rpcs3/Emu/SysCalls/Modules/cellAdec.cpp index fbc4769c7b..f2c2216316 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellAdec.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellAdec.cpp @@ -530,7 +530,7 @@ int cellAdecOpen(vm::ptr type, vm::ptr res, vm:: if (!adecCheckType(type->audioCodecType)) return CELL_ADEC_ERROR_ARG; - *handle = adecOpen(new AudioDecoder(type->audioCodecType, res->startAddr, res->totalMemSize, cb->cbFunc.to_le(), cb->cbArg)); + *handle = adecOpen(new AudioDecoder(type->audioCodecType, res->startAddr, res->totalMemSize, cb->cbFunc, cb->cbArg)); return CELL_OK; } @@ -542,7 +542,7 @@ int cellAdecOpenEx(vm::ptr type, vm::ptr res, if (!adecCheckType(type->audioCodecType)) return CELL_ADEC_ERROR_ARG; - *handle = adecOpen(new AudioDecoder(type->audioCodecType, res->startAddr, res->totalMemSize, cb->cbFunc.to_le(), cb->cbArg)); + *handle = adecOpen(new AudioDecoder(type->audioCodecType, res->startAddr, res->totalMemSize, cb->cbFunc, cb->cbArg)); return CELL_OK; } diff --git a/rpcs3/Emu/SysCalls/Modules/cellDmux.cpp b/rpcs3/Emu/SysCalls/Modules/cellDmux.cpp index f5fc056ef9..dcf6008181 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellDmux.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellDmux.cpp @@ -814,7 +814,7 @@ int cellDmuxOpen(vm::ptr demuxerType, vm::ptrmemAddr, demuxerResource->memSize, demuxerCb->cbMsgFunc.to_le(), demuxerCb->cbArg)); + *demuxerHandle = dmuxOpen(new Demuxer(demuxerResource->memAddr, demuxerResource->memSize, demuxerCb->cbMsgFunc, demuxerCb->cbArg)); return CELL_OK; } @@ -832,7 +832,7 @@ int cellDmuxOpenEx(vm::ptr demuxerType, vm::ptrmemAddr, demuxerResourceEx->memSize, demuxerCb->cbMsgFunc.to_le(), demuxerCb->cbArg)); + *demuxerHandle = dmuxOpen(new Demuxer(demuxerResourceEx->memAddr, demuxerResourceEx->memSize, demuxerCb->cbMsgFunc, demuxerCb->cbArg)); return CELL_OK; } @@ -850,7 +850,7 @@ int cellDmuxOpen2(vm::ptr demuxerType2, vm::ptrmemAddr, demuxerResource2->memSize, demuxerCb->cbMsgFunc.to_le(), demuxerCb->cbArg)); + *demuxerHandle = dmuxOpen(new Demuxer(demuxerResource2->memAddr, demuxerResource2->memSize, demuxerCb->cbMsgFunc, demuxerCb->cbArg)); return CELL_OK; } @@ -1008,7 +1008,7 @@ int cellDmuxEnableEs(u32 demuxerHandle, vm::ptr esFil std::shared_ptr es(new ElementaryStream(dmux.get(), esResourceInfo->memAddr, esResourceInfo->memSize, esFilterId->filterIdMajor, esFilterId->filterIdMinor, esFilterId->supplementalInfo1, esFilterId->supplementalInfo2, - esCb->cbEsMsgFunc.to_le(), esCb->cbArg, esSpecificInfo_addr)); + esCb->cbEsMsgFunc, esCb->cbArg, esSpecificInfo_addr)); u32 id = Emu.GetIdManager().GetNewID(es); es->id = id; diff --git a/rpcs3/Emu/SysCalls/Modules/cellGifDec.cpp b/rpcs3/Emu/SysCalls/Modules/cellGifDec.cpp index a51e75af76..6f26cea6c3 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellGifDec.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellGifDec.cpp @@ -41,7 +41,7 @@ int cellGifDecOpen(u32 mainHandle, vm::ptr subHandle, vm::ptr> fd; - int ret = cellFsOpen(src->fileName.to_le(), 0, fd, vm::ptr::make(0), 0); + int ret = cellFsOpen(src->fileName, 0, fd, vm::ptr::make(0), 0); current_subHandle->fd = fd.value(); if (ret != CELL_OK) return CELL_GIFDEC_ERROR_OPEN_FILE; diff --git a/rpcs3/Emu/SysCalls/Modules/cellJpgDec.cpp b/rpcs3/Emu/SysCalls/Modules/cellJpgDec.cpp index bbb007588a..a88cbd8921 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellJpgDec.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellJpgDec.cpp @@ -47,7 +47,7 @@ int cellJpgDecOpen(u32 mainHandle, vm::ptr subHandle, vm::ptr> fd; - int ret = cellFsOpen(src->fileName.to_le(), 0, fd, vm::ptr::make(0), 0); + int ret = cellFsOpen(src->fileName, 0, fd, vm::ptr::make(0), 0); current_subHandle->fd = fd.value(); if (ret != CELL_OK) return CELL_JPGDEC_ERROR_OPEN_FILE; diff --git a/rpcs3/Emu/SysCalls/Modules/cellPngDec.cpp b/rpcs3/Emu/SysCalls/Modules/cellPngDec.cpp index 539161c412..9e10fdf8dc 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellPngDec.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellPngDec.cpp @@ -78,7 +78,7 @@ s32 pngDecOpen( case se32(CELL_PNGDEC_FILE): // Get file descriptor vm::var> fd; - int ret = cellFsOpen(src->fileName.to_le(), 0, fd, vm::ptr::make(0), 0); + int ret = cellFsOpen(src->fileName, 0, fd, vm::ptr::make(0), 0); stream->fd = fd.value(); if (ret != CELL_OK) return CELL_PNGDEC_ERROR_OPEN_FILE; diff --git a/rpcs3/Emu/SysCalls/Modules/cellSaveData.cpp b/rpcs3/Emu/SysCalls/Modules/cellSaveData.cpp index db244d22f2..5ca28a0f6c 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellSaveData.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellSaveData.cpp @@ -382,9 +382,9 @@ s32 cellSaveDataListSave2( return CELL_SAVEDATA_ERROR_CBRESULT; } - setSaveDataList(saveEntries, listSet->fixedList.to_le(), listSet->fixedListNum); + setSaveDataList(saveEntries, listSet->fixedList, listSet->fixedListNum); if (listSet->newData) - addNewSaveDataEntry(saveEntries, listSet->newData.to_le()); + addNewSaveDataEntry(saveEntries, listSet->newData); if (saveEntries.size() == 0) { cellSysutil.Error("cellSaveDataListSave2: No save entries found!"); // TODO: Find a better way to handle this error return CELL_OK; @@ -474,9 +474,9 @@ s32 cellSaveDataListLoad2( return CELL_SAVEDATA_ERROR_CBRESULT; } - setSaveDataList(saveEntries, listSet->fixedList.to_le(), listSet->fixedListNum); + setSaveDataList(saveEntries, listSet->fixedList, listSet->fixedListNum); if (listSet->newData) - addNewSaveDataEntry(saveEntries, listSet->newData.to_le()); + addNewSaveDataEntry(saveEntries, listSet->newData); if (saveEntries.size() == 0) { cellSysutil.Error("cellSaveDataListLoad2: No save entries found!"); // TODO: Find a better way to handle this error return CELL_OK; diff --git a/rpcs3/Emu/SysCalls/Modules/cellVdec.cpp b/rpcs3/Emu/SysCalls/Modules/cellVdec.cpp index 26447c0c72..712eb75e50 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellVdec.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellVdec.cpp @@ -576,7 +576,7 @@ int cellVdecOpen(vm::ptr type, vm::ptrcodecType, type->profileLevel, res->memAddr, res->memSize, cb->cbFunc.to_le(), cb->cbArg)); + *handle = vdecOpen(new VideoDecoder(type->codecType, type->profileLevel, res->memAddr, res->memSize, cb->cbFunc, cb->cbArg)); return CELL_OK; } @@ -586,7 +586,7 @@ int cellVdecOpenEx(vm::ptr type, vm::ptrcodecType, type->profileLevel, res->memAddr, res->memSize, cb->cbFunc.to_le(), cb->cbArg)); + *handle = vdecOpen(new VideoDecoder(type->codecType, type->profileLevel, res->memAddr, res->memSize, cb->cbFunc, cb->cbArg)); return CELL_OK; } diff --git a/rpcs3/Emu/SysCalls/lv2/sys_lwcond.cpp b/rpcs3/Emu/SysCalls/lv2/sys_lwcond.cpp index 5ee5c0c34e..5d7d86e196 100644 --- a/rpcs3/Emu/SysCalls/lv2/sys_lwcond.cpp +++ b/rpcs3/Emu/SysCalls/lv2/sys_lwcond.cpp @@ -68,7 +68,7 @@ s32 sys_lwcond_signal(vm::ptr lwcond) return CELL_ESRCH; } - auto mutex = lwcond->lwmutex.to_le(); + auto mutex = lwcond->lwmutex; if (u32 target = lw->queue.signal(mutex->attribute)) { @@ -92,7 +92,7 @@ s32 sys_lwcond_signal_all(vm::ptr lwcond) return CELL_ESRCH; } - auto mutex = lwcond->lwmutex.to_le(); + auto mutex = lwcond->lwmutex; while (u32 target = lw->queue.signal(mutex->attribute)) { @@ -141,7 +141,7 @@ s32 sys_lwcond_wait(PPUThread& CPU, vm::ptr lwcond, u64 timeout) return CELL_ESRCH; } - auto mutex = lwcond->lwmutex.to_le(); + auto mutex = lwcond->lwmutex; u32 tid_le = CPU.GetId(); auto tid = be_t::make(tid_le);