diff --git a/rpcs3/Emu/Cell/Modules/cellAudio.cpp b/rpcs3/Emu/Cell/Modules/cellAudio.cpp index caad402194..b28809ef03 100644 --- a/rpcs3/Emu/Cell/Modules/cellAudio.cpp +++ b/rpcs3/Emu/Cell/Modules/cellAudio.cpp @@ -398,7 +398,7 @@ cell_audio_thread::cell_audio_thread(utils::serial& ar) ar(key_count, event_period); - keys.resize(ar); + keys.resize(ar.pop()); for (key_info& k : keys) { @@ -421,7 +421,7 @@ void cell_audio_thread::save(utils::serial& ar) USING_SERIALIZATION_VERSION(cellAudio); ar(key_count, event_period); - ar(keys.size()); + ar(static_cast(keys.size())); for (const key_info& k : keys) { diff --git a/rpcs3/Emu/Cell/Modules/cellPad.cpp b/rpcs3/Emu/Cell/Modules/cellPad.cpp index b2fbe187f9..da69da4343 100644 --- a/rpcs3/Emu/Cell/Modules/cellPad.cpp +++ b/rpcs3/Emu/Cell/Modules/cellPad.cpp @@ -56,9 +56,9 @@ void fmt_class_string::format(std::string& out, u64 arg) extern void sys_io_serialize(utils::serial& ar); pad_info::pad_info(utils::serial& ar) - : max_connect(ar) - , port_setting(ar) - , reported_info(ar) + : max_connect(ar.pop()) + , port_setting(ar.pop()) + , reported_info(ar.pop()) { //reported_info = {}; sys_io_serialize(ar); diff --git a/rpcs3/Emu/Cell/Modules/sceNpTrophy.cpp b/rpcs3/Emu/Cell/Modules/sceNpTrophy.cpp index 866db860ec..dc6add3ebf 100644 --- a/rpcs3/Emu/Cell/Modules/sceNpTrophy.cpp +++ b/rpcs3/Emu/Cell/Modules/sceNpTrophy.cpp @@ -166,7 +166,7 @@ struct sce_np_trophy_manager sce_np_trophy_manager() = default; sce_np_trophy_manager(utils::serial& ar) - : is_initialized(ar) + : is_initialized(ar.pop()) { } diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index f5d91cc519..3813b28952 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -161,7 +161,7 @@ bool serialize(utils::serial& ar, typename ppu_thread::cr_b } else { - o.unpack(ar); + o.unpack(ar.pop()); } return true; @@ -2529,7 +2529,7 @@ ppu_thread::ppu_thread(utils::serial& ar) , stack_size(ar) , stack_addr(ar) , joiner(ar.pop()) - , entry_func(std::bit_cast(ar)) + , entry_func(std::bit_cast(ar.pop())) , is_interrupt_thread(ar) { [[maybe_unused]] const s32 version = GET_SERIALIZATION_VERSION(ppu); diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index f3994858d4..431a385b86 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -1812,7 +1812,7 @@ void spu_thread::serialize_common(utils::serial& ar) } else { - const u8 count = ar; + const u8 count{ar}; ar(std::span(vals, count)); ch_in_mbox.set_values(count, vals[0], vals[1], vals[2], vals[3]); } diff --git a/rpcs3/Emu/Cell/lv2/sys_fs.cpp b/rpcs3/Emu/Cell/lv2/sys_fs.cpp index 082a1ae1f6..79bd85206d 100644 --- a/rpcs3/Emu/Cell/lv2/sys_fs.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_fs.cpp @@ -465,7 +465,7 @@ lv2_fs_object::lv2_fs_object(std::string_view filename) } lv2_fs_object::lv2_fs_object(utils::serial& ar, bool) - : name(ar) + : name(ar.pop()) , mp(g_fxo->get().lookup(name.data())) { } @@ -569,7 +569,7 @@ lv2_file::lv2_file(utils::serial& ar) if (ar.pop()) // see lv2_file::save in_mem { - const fs::stat_t stat = ar; + const fs::stat_t stat = ar.pop(); std::vector buf(stat.size); ar(std::span(buf.data(), buf.size())); @@ -589,7 +589,7 @@ lv2_file::lv2_file(utils::serial& ar) sys_fs.success("Loaded file descriptor \'%s\' file for savestates (vpath=\'%s\', type=%s, flags=0x%x, id=%d)", name.data(), retrieve_real, type, flags, idm::last_id()); } - file.seek(ar); + file.seek(ar.pop()); } void lv2_file::save(utils::serial& ar) @@ -682,7 +682,7 @@ lv2_dir::lv2_dir(utils::serial& ar) return entries; }()) - , pos(ar) + , pos(ar.pop()) { } diff --git a/rpcs3/Emu/Cell/lv2/sys_interrupt.cpp b/rpcs3/Emu/Cell/lv2/sys_interrupt.cpp index 3109f042f9..4ac829d4bb 100644 --- a/rpcs3/Emu/Cell/lv2/sys_interrupt.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_interrupt.cpp @@ -22,7 +22,7 @@ lv2_int_tag::lv2_int_tag(utils::serial& ar) noexcept , id(idm::last_id()) , handler([&]() { - const u32 id = ar; + const u32 id{ar}; auto ptr = idm::get_unlocked(id); @@ -56,7 +56,7 @@ lv2_int_serv::lv2_int_serv(shared_ptr> thread, u64 arg1 lv2_int_serv::lv2_int_serv(utils::serial& ar) noexcept : lv2_obj(1) , id(idm::last_id()) - , thread(idm::get_unlocked>(ar)) + , thread(idm::get_unlocked>(ar.pop())) , arg1(ar) , arg2(ar) { diff --git a/rpcs3/Emu/Cell/lv2/sys_memory.cpp b/rpcs3/Emu/Cell/lv2/sys_memory.cpp index 0f6fb09865..01b36d8eed 100644 --- a/rpcs3/Emu/Cell/lv2/sys_memory.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_memory.cpp @@ -36,7 +36,7 @@ lv2_memory_container::lv2_memory_container(u32 size, bool from_idm) noexcept lv2_memory_container::lv2_memory_container(utils::serial& ar, bool from_idm) noexcept : size(ar) , id{from_idm ? idm::last_id() : SYS_MEMORY_CONTAINER_ID_INVALID} - , used(ar) + , used(ar.pop()) { } diff --git a/rpcs3/Emu/Cell/lv2/sys_mmapper.cpp b/rpcs3/Emu/Cell/lv2/sys_mmapper.cpp index 0723564a5e..b9d414a0dc 100644 --- a/rpcs3/Emu/Cell/lv2/sys_mmapper.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_mmapper.cpp @@ -56,7 +56,7 @@ lv2_memory::lv2_memory(utils::serial& ar) return null_ptr; }(ar.pop())) - , counter(ar) + , counter(ar.pop()) { } diff --git a/rpcs3/Emu/Cell/lv2/sys_prx.cpp b/rpcs3/Emu/Cell/lv2/sys_prx.cpp index 6f930e79dd..d24bb54004 100644 --- a/rpcs3/Emu/Cell/lv2/sys_prx.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_prx.cpp @@ -310,8 +310,8 @@ std::function lv2_prx::load(utils::serial& ar) [[maybe_unused]] const s32 version = GET_SERIALIZATION_VERSION(lv2_prx_overlay); const std::string path = vfs::get(ar.pop()); - const s64 offset = ar; - const u32 state = ar; + const s64 offset{ar}; + const u32 state{ar}; usz seg_count = 0; ar.deserialize_vle(seg_count); @@ -358,7 +358,7 @@ std::function lv2_prx::load(utils::serial& ar) for (usz i = 0; i < seg_count; i++) { auto& seg = prx->segs.emplace_back(); - seg.addr = ar; + ar(seg.addr); seg.size = 1; // TODO } } diff --git a/rpcs3/Emu/Cell/lv2/sys_spu.cpp b/rpcs3/Emu/Cell/lv2/sys_spu.cpp index 263d871206..13733965a3 100644 --- a/rpcs3/Emu/Cell/lv2/sys_spu.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_spu.cpp @@ -233,10 +233,10 @@ lv2_spu_group::lv2_spu_group(utils::serial& ar) noexcept , max_num(ar) , mem_size(ar) , type(ar) // SPU Thread Group Type - , ct(lv2_memory_container::search(ar)) + , ct(lv2_memory_container::search(ar.pop())) , has_scheduler_context(ar.pop()) , max_run(ar) - , init(ar) + , init(ar.pop()) , prio([&ar]() { std::common_type_t prio{}; @@ -246,7 +246,7 @@ lv2_spu_group::lv2_spu_group(utils::serial& ar) noexcept return prio; }()) , run_state(ar.pop()) - , exit_status(ar) + , exit_status(ar.pop()) { for (auto& thread : threads) { diff --git a/rpcs3/Emu/Cell/lv2/sys_timer.cpp b/rpcs3/Emu/Cell/lv2/sys_timer.cpp index 5e6c3d20cb..8a2419097d 100644 --- a/rpcs3/Emu/Cell/lv2/sys_timer.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_timer.cpp @@ -32,13 +32,13 @@ struct lv2_timer_thread lv2_timer::lv2_timer(utils::serial& ar) : lv2_obj(1) - , state(ar) + , state(ar.pop()) , port(lv2_event_queue::load_ptr(ar, port, "timer")) , source(ar) , data1(ar) , data2(ar) - , expire(ar) - , period(ar) + , expire(ar.pop()) + , period(ar.pop()) { } diff --git a/rpcs3/Emu/Cell/lv2/sys_vm.cpp b/rpcs3/Emu/Cell/lv2/sys_vm.cpp index 49337cf223..ddb72a311c 100644 --- a/rpcs3/Emu/Cell/lv2/sys_vm.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_vm.cpp @@ -37,10 +37,10 @@ struct sys_vm_global_t }; sys_vm_t::sys_vm_t(utils::serial& ar) - : ct(lv2_memory_container::search(ar)) + : ct(lv2_memory_container::search(ar.pop())) , addr(ar) , size(ar) - , psize(ar) + , psize(ar.pop()) { g_ids[addr >> 28].release(idm::last_id()); g_fxo->need(); diff --git a/rpcs3/Emu/Memory/vm.cpp b/rpcs3/Emu/Memory/vm.cpp index 266da6a1df..9e460a7aa2 100644 --- a/rpcs3/Emu/Memory/vm.cpp +++ b/rpcs3/Emu/Memory/vm.cpp @@ -1811,7 +1811,7 @@ namespace vm while (true) { - const u8 flags0 = ar; + const u8 flags0{ar}; if (!(flags0 & page_allocated)) { @@ -1819,8 +1819,8 @@ namespace vm break; } - const u32 addr0 = ar; - const u32 size0 = ar; + const u32 addr0{ar}; + const u32 size0{ar}; u64 pflags = 0; diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index ce54444ccd..714ec14863 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -680,7 +680,7 @@ namespace rsx ar(u32{0}); } } - else if (u32 count = ar) + else if (u32 count{ar}) { restore_fifo_count = count; ar(restore_fifo_cmd); diff --git a/rpcs3/util/serialization.hpp b/rpcs3/util/serialization.hpp index 41f6e560af..49ee3d8858 100644 --- a/rpcs3/util/serialization.hpp +++ b/rpcs3/util/serialization.hpp @@ -551,7 +551,7 @@ public: template requires (std::is_copy_constructible_v>) && (std::is_constructible_v> || Bitcopy> || std::is_constructible_v, stx::exact_t> || TupleAlike>) - operator T() noexcept + explicit operator T() noexcept { AUDIT(!is_writing());