diff --git a/Utilities/BEType.h b/Utilities/BEType.h index 293909ce79..5fa1f94611 100644 --- a/Utilities/BEType.h +++ b/Utilities/BEType.h @@ -307,7 +307,7 @@ struct offset32_array> template static inline u32 index32(const Arg& arg) { - return SIZE_32(T) * (static_cast(arg) ^ static_cast(M)); + return u32{sizeof(T)} * (static_cast(arg) ^ static_cast(M)); } }; diff --git a/Utilities/types.h b/Utilities/types.h index 3d3394c285..ba6a8a7563 100644 --- a/Utilities/types.h +++ b/Utilities/types.h @@ -40,9 +40,6 @@ #define CHECK_MAX_SIZE(type, size) static_assert(sizeof(type) <= size, #type " type size is too big") #define CHECK_SIZE_ALIGN(type, size, align) CHECK_SIZE(type, size); CHECK_ALIGN(type, align) -// Return 32 bit sizeof() to avoid widening/narrowing conversions with size_t -#define SIZE_32(...) static_cast(sizeof(__VA_ARGS__)) - // Variant pattern matching helper #define MATCH(arg, ...) constexpr(std::is_same_v, __VA_ARGS__>) @@ -421,7 +418,7 @@ struct offset32_array template static inline u32 index32(const Arg& arg) { - return SIZE_32(std::remove_extent_t) * static_cast(arg); + return u32{sizeof(std::remove_extent_t)} * static_cast(arg); } }; @@ -431,7 +428,7 @@ struct offset32_array> template static inline u32 index32(const Arg& arg) { - return SIZE_32(T) * static_cast(arg); + return u32{sizeof(T)} * static_cast(arg); } }; diff --git a/rpcs3/Crypto/unself.cpp b/rpcs3/Crypto/unself.cpp index fe4f89b121..38ac1dbde7 100644 --- a/rpcs3/Crypto/unself.cpp +++ b/rpcs3/Crypto/unself.cpp @@ -674,17 +674,16 @@ bool SCEDecrypter::LoadHeaders() bool SCEDecrypter::LoadMetadata(const u8 erk[32], const u8 riv[16]) { aes_context aes; - u32 metadata_info_size = SIZE_32(meta_info); - auto metadata_info = std::make_unique(metadata_info_size); - u32 metadata_headers_size = sce_hdr.se_hsize - (SIZE_32(sce_hdr) + sce_hdr.se_meta + SIZE_32(meta_info)); - auto metadata_headers = std::make_unique(metadata_headers_size); + const auto metadata_info = std::make_unique(sizeof(meta_info)); + const auto metadata_headers_size = sce_hdr.se_hsize - (sizeof(sce_hdr) + sce_hdr.se_meta + sizeof(meta_info)); + const auto metadata_headers = std::make_unique(metadata_headers_size); // Locate and read the encrypted metadata info. sce_f.seek(sce_hdr.se_meta + sizeof(sce_hdr)); - sce_f.read(metadata_info.get(), metadata_info_size); + sce_f.read(metadata_info.get(), sizeof(meta_info)); // Locate and read the encrypted metadata header and section header. - sce_f.seek(sce_hdr.se_meta + sizeof(sce_hdr) + metadata_info_size); + sce_f.seek(sce_hdr.se_meta + sizeof(sce_hdr) + sizeof(meta_info)); sce_f.read(metadata_headers.get(), metadata_headers_size); // Copy the necessary parameters. @@ -698,7 +697,7 @@ bool SCEDecrypter::LoadMetadata(const u8 erk[32], const u8 riv[16]) { // Decrypt the metadata info. aes_setkey_dec(&aes, metadata_key, 256); // AES-256 - aes_crypt_cbc(&aes, AES_DECRYPT, metadata_info_size, metadata_iv, metadata_info.get(), metadata_info.get()); + aes_crypt_cbc(&aes, AES_DECRYPT, sizeof(meta_info), metadata_iv, metadata_info.get(), metadata_info.get()); } // Load the metadata info. @@ -1105,7 +1104,7 @@ bool SELFDecrypter::DecryptNPDRM(u8 *metadata, u32 metadata_size) // Use klicensee if available. if (key_v.GetKlicenseeKey() != nullptr) memcpy(npdrm_key, key_v.GetKlicenseeKey(), 0x10); - else + else memcpy(npdrm_key, NP_KLIC_FREE, 0x10); } else @@ -1131,17 +1130,16 @@ bool SELFDecrypter::DecryptNPDRM(u8 *metadata, u32 metadata_size) bool SELFDecrypter::LoadMetadata(u8* klic_key) { aes_context aes; - u32 metadata_info_size = SIZE_32(meta_info); - auto metadata_info = std::make_unique(metadata_info_size); - u32 metadata_headers_size = sce_hdr.se_hsize - (SIZE_32(sce_hdr) + sce_hdr.se_meta + SIZE_32(meta_info)); - auto metadata_headers = std::make_unique(metadata_headers_size); + const auto metadata_info = std::make_unique(sizeof(meta_info)); + const auto metadata_headers_size = sce_hdr.se_hsize - (sizeof(sce_hdr) + sce_hdr.se_meta + sizeof(meta_info)); + const auto metadata_headers = std::make_unique(metadata_headers_size); // Locate and read the encrypted metadata info. self_f.seek(sce_hdr.se_meta + sizeof(sce_hdr)); - self_f.read(metadata_info.get(), metadata_info_size); + self_f.read(metadata_info.get(), sizeof(meta_info)); // Locate and read the encrypted metadata header and section header. - self_f.seek(sce_hdr.se_meta + sizeof(sce_hdr) + metadata_info_size); + self_f.seek(sce_hdr.se_meta + sizeof(sce_hdr) + sizeof(meta_info)); self_f.read(metadata_headers.get(), metadata_headers_size); // Find the right keyset from the key vault. @@ -1161,12 +1159,12 @@ bool SELFDecrypter::LoadMetadata(u8* klic_key) if ((sce_hdr.se_flags & 0x8000) != 0x8000) { // Decrypt the NPDRM layer. - if (!DecryptNPDRM(metadata_info.get(), metadata_info_size)) + if (!DecryptNPDRM(metadata_info.get(), sizeof(meta_info))) return false; // Decrypt the metadata info. aes_setkey_dec(&aes, metadata_key, 256); // AES-256 - aes_crypt_cbc(&aes, AES_DECRYPT, metadata_info_size, metadata_iv, metadata_info.get(), metadata_info.get()); + aes_crypt_cbc(&aes, AES_DECRYPT, sizeof(meta_info), metadata_iv, metadata_info.get(), metadata_info.get()); } // Load the metadata info. @@ -1325,7 +1323,7 @@ static bool IsSelfElf32(const fs::file& f) SelfHeader sh; hdr.Load(f); sh.Load(f); - + // Locate the class byte and check it. u8 elf_class[0x8]; @@ -1377,12 +1375,12 @@ static bool CheckDebugSelf(fs::file& s) } extern fs::file decrypt_self(fs::file elf_or_self, u8* klic_key) -{ - if (!elf_or_self) +{ + if (!elf_or_self) { return fs::file{}; } - + elf_or_self.seek(0); // Check SELF header first. Check for a debug SELF. @@ -1400,21 +1398,21 @@ extern fs::file decrypt_self(fs::file elf_or_self, u8* klic_key) LOG_ERROR(LOADER, "SELF: Failed to load SELF file headers!"); return fs::file{}; } - + // Load and decrypt the SELF file metadata. if (!self_dec.LoadMetadata(klic_key)) { LOG_ERROR(LOADER, "SELF: Failed to load SELF file metadata!"); return fs::file{}; } - + // Decrypt the SELF file data. if (!self_dec.DecryptData()) { LOG_ERROR(LOADER, "SELF: Failed to decrypt SELF file data!"); return fs::file{}; } - + // Make a new ELF file from this SELF. return self_dec.MakeElf(isElf32); } diff --git a/rpcs3/Emu/Cell/Modules/cellAdec.cpp b/rpcs3/Emu/Cell/Modules/cellAdec.cpp index bb9fee400b..1214181709 100644 --- a/rpcs3/Emu/Cell/Modules/cellAdec.cpp +++ b/rpcs3/Emu/Cell/Modules/cellAdec.cpp @@ -857,7 +857,7 @@ s32 cellAdecGetPcmItem(u32 handle, vm::pptr pcmItem) } pcm->pcmHandle = 0; // ??? - pcm->pcmAttr.bsiInfo_addr = pcm.addr() + SIZE_32(CellAdecPcmItem); + pcm->pcmAttr.bsiInfo_addr = pcm.addr() + u32{sizeof(CellAdecPcmItem)}; pcm->startAddr = 0x00000312; // invalid address (no output) pcm->size = af.size; pcm->status = CELL_OK; @@ -869,10 +869,10 @@ s32 cellAdecGetPcmItem(u32 handle, vm::pptr pcmItem) if (adecIsAtracX(adec->type)) { - auto atx = vm::ptr::make(pcm.addr() + SIZE_32(CellAdecPcmItem)); + auto atx = vm::ptr::make(pcm.addr() + u32{sizeof(CellAdecPcmItem)}); atx->samplingFreq = frame->sample_rate; - atx->nbytes = frame->nb_samples * SIZE_32(float); + atx->nbytes = frame->nb_samples * u32{sizeof(float)}; if (frame->channels == 1) { atx->channelConfigIndex = 1; @@ -897,7 +897,7 @@ s32 cellAdecGetPcmItem(u32 handle, vm::pptr pcmItem) } else if (adec->type == CELL_ADEC_TYPE_MP3) { - auto mp3 = vm::ptr::make(pcm.addr() + SIZE_32(CellAdecPcmItem)); + auto mp3 = vm::ptr::make(pcm.addr() + u32{sizeof(CellAdecPcmItem)}); // TODO memset(mp3.get_ptr(), 0, sizeof(CellAdecMP3Info)); diff --git a/rpcs3/Emu/Cell/Modules/cellAudio.cpp b/rpcs3/Emu/Cell/Modules/cellAudio.cpp index 2355c1c60a..0135cebe4c 100644 --- a/rpcs3/Emu/Cell/Modules/cellAudio.cpp +++ b/rpcs3/Emu/Cell/Modules/cellAudio.cpp @@ -832,7 +832,7 @@ error_code cellAudioAddData(u32 portNum, vm::ptr src, u32 samples, float const audio_port& port = g_audio->ports[portNum]; - const auto dst = vm::ptr::make(port.addr.addr() + u32(port.tag % port.block) * port.channel * 256 * SIZE_32(float)); + const auto dst = vm::ptr::make(port.addr.addr() + u32(port.tag % port.block) * port.channel * 256 * u32{sizeof(float)}); for (u32 i = 0; i < samples * port.channel; i++) { @@ -867,7 +867,7 @@ error_code cellAudioAdd2chData(u32 portNum, vm::ptr src, u32 samples, flo const audio_port& port = g_audio->ports[portNum]; - const auto dst = vm::ptr::make(port.addr.addr() + s32(port.tag % port.block) * port.channel * 256 * SIZE_32(float)); + const auto dst = vm::ptr::make(port.addr.addr() + s32(port.tag % port.block) * port.channel * 256 * u32{sizeof(float)}); if (port.channel == 2) { @@ -929,7 +929,7 @@ error_code cellAudioAdd6chData(u32 portNum, vm::ptr src, float volume) const audio_port& port = g_audio->ports[portNum]; - const auto dst = vm::ptr::make(port.addr.addr() + s32(port.tag % port.block) * port.channel * 256 * SIZE_32(float)); + const auto dst = vm::ptr::make(port.addr.addr() + s32(port.tag % port.block) * port.channel * 256 * u32{sizeof(float)}); if (port.channel == 6) { diff --git a/rpcs3/Emu/Cell/Modules/cellDmux.cpp b/rpcs3/Emu/Cell/Modules/cellDmux.cpp index 6898fe6b68..958b600dbd 100644 --- a/rpcs3/Emu/Cell/Modules/cellDmux.cpp +++ b/rpcs3/Emu/Cell/Modules/cellDmux.cpp @@ -824,7 +824,7 @@ void ElementaryStream::push_au(u32 size, u64 dts, u64 pts, u64 userdata, bool ra info->reserved = 0; info->userData = userdata; - auto spec = vm::ptr::make(put + SIZE_32(CellDmuxAuInfoEx)); + auto spec = vm::ptr::make(put + u32{sizeof(CellDmuxAuInfoEx)}); *spec = specific; auto inf = vm::ptr::make(put + 64); diff --git a/rpcs3/Emu/Cell/Modules/cellGifDec.cpp b/rpcs3/Emu/Cell/Modules/cellGifDec.cpp index 6adf24ed09..4a660e71b9 100644 --- a/rpcs3/Emu/Cell/Modules/cellGifDec.cpp +++ b/rpcs3/Emu/Cell/Modules/cellGifDec.cpp @@ -66,7 +66,7 @@ s32 cellGifDecOpen(PMainHandle mainHandle, PPSubHandle subHandle, PSrc src, POpe } } - subHandle->set(vm::alloc(SIZE_32(GifStream), vm::main)); + subHandle->set(vm::alloc(sizeof(GifStream), vm::main)); **subHandle = current_subHandle; diff --git a/rpcs3/Emu/Cell/Modules/cellSpurs.cpp b/rpcs3/Emu/Cell/Modules/cellSpurs.cpp index b5c78614e3..8fb3a96cff 100644 --- a/rpcs3/Emu/Cell/Modules/cellSpurs.cpp +++ b/rpcs3/Emu/Cell/Modules/cellSpurs.cpp @@ -1845,7 +1845,7 @@ s32 _spurs::trace_initialize(ppu_thread& ppu, vm::ptr spurs, vm::ptr< return CELL_SPURS_CORE_ERROR_ALIGN; } - if (size < SIZE_32(CellSpursTraceInfo) || mode & ~(CELL_SPURS_TRACE_MODE_FLAG_MASK)) + if (size < sizeof(CellSpursTraceInfo) || mode & ~(CELL_SPURS_TRACE_MODE_FLAG_MASK)) { return CELL_SPURS_CORE_ERROR_INVAL; } @@ -1855,7 +1855,7 @@ s32 _spurs::trace_initialize(ppu_thread& ppu, vm::ptr spurs, vm::ptr< return CELL_SPURS_CORE_ERROR_STAT; } - spurs->traceDataSize = size - SIZE_32(CellSpursTraceInfo); + spurs->traceDataSize = size - u32{sizeof(CellSpursTraceInfo)}; for (u32 i = 0; i < 8; i++) { buffer->spuThread[i] = spurs->spus[i]; @@ -1867,7 +1867,7 @@ s32 _spurs::trace_initialize(ppu_thread& ppu, vm::ptr spurs, vm::ptr< spurs->traceBuffer.set(buffer.addr() | (mode & CELL_SPURS_TRACE_MODE_FLAG_WRAP_BUFFER ? 1 : 0)); spurs->traceMode = mode; - u32 spuTraceDataCount = (u32)((spurs->traceDataSize / SIZE_32(CellSpursTracePacket)) / spurs->nSpus); + u32 spuTraceDataCount = ::narrow((spurs->traceDataSize / sizeof(CellSpursTracePacket)) / spurs->nSpus, HERE); for (u32 i = 0, j = 8; i < 6; i++) { spurs->traceStartIndex[i] = j; @@ -3372,7 +3372,7 @@ s32 cellSpursCreateTasksetWithAttribute(ppu_thread& ppu, vm::ptr spur auto rc = _spurs::create_taskset(ppu, spurs, taskset, attr->args, attr.ptr(&CellSpursTasksetAttribute::priority), attr->max_contention, attr->name, attr->taskset_size, attr->enable_clear_ls); - if (attr->taskset_size >= SIZE_32(CellSpursTaskset2)) + if (attr->taskset_size >= sizeof(CellSpursTaskset2)) { // TODO: Implement this } @@ -3384,7 +3384,7 @@ s32 cellSpursCreateTaskset(ppu_thread& ppu, vm::ptr spurs, vm::ptr taskset) @@ -3658,7 +3658,7 @@ s32 cellSpursTasksetAttributeSetTasksetSize(vm::ptr a return CELL_SPURS_TASK_ERROR_ALIGN; } - if (size != SIZE_32(CellSpursTaskset) && size != SIZE_32(CellSpursTaskset2)) + if (size != sizeof(CellSpursTaskset) && size != sizeof(CellSpursTaskset2)) { return CELL_SPURS_TASK_ERROR_INVAL; } @@ -3789,7 +3789,7 @@ s32 cellSpursCreateTaskset2(ppu_thread& ppu, vm::ptr spurs, vm::ptrargs, attr.ptr(&CellSpursTasksetAttribute2::priority), attr->max_contention, attr->name, SIZE_32(CellSpursTaskset2), attr->enable_clear_ls)) + if (s32 rc = _spurs::create_taskset(ppu, spurs, taskset, attr->args, attr.ptr(&CellSpursTasksetAttribute2::priority), attr->max_contention, attr->name, sizeof(CellSpursTaskset2), attr->enable_clear_ls)) { return rc; } diff --git a/rpcs3/Emu/Cell/Modules/cellVdec.cpp b/rpcs3/Emu/Cell/Modules/cellVdec.cpp index e030bd3dd9..0ab6b53b7e 100644 --- a/rpcs3/Emu/Cell/Modules/cellVdec.cpp +++ b/rpcs3/Emu/Cell/Modules/cellVdec.cpp @@ -751,11 +751,11 @@ s32 cellVdecGetPicItem(u32 handle, vm::pptr picItem) info->auUserData[1] = 0; info->status = CELL_OK; info->attr = CELL_VDEC_PICITEM_ATTR_NORMAL; - info->picInfo_addr = info.addr() + SIZE_32(CellVdecPicItem); + info->picInfo_addr = info.addr() + u32{sizeof(CellVdecPicItem)}; if (vdec->type == CELL_VDEC_CODEC_TYPE_AVC) { - const vm::ptr avc = vm::cast(info.addr() + SIZE_32(CellVdecPicItem)); + const vm::ptr avc = vm::cast(info.addr() + u32{sizeof(CellVdecPicItem)}); avc->horizontalSize = frame->width; avc->verticalSize = frame->height; @@ -811,7 +811,7 @@ s32 cellVdecGetPicItem(u32 handle, vm::pptr picItem) } else if (vdec->type == CELL_VDEC_CODEC_TYPE_DIVX) { - const vm::ptr dvx = vm::cast(info.addr() + SIZE_32(CellVdecPicItem)); + const vm::ptr dvx = vm::cast(info.addr() + u32{sizeof(CellVdecPicItem)}); switch (s32 pct = frame->pict_type) { @@ -847,7 +847,7 @@ s32 cellVdecGetPicItem(u32 handle, vm::pptr picItem) } else if (vdec->type == CELL_VDEC_CODEC_TYPE_MPEG2) { - const vm::ptr mp2 = vm::cast(info.addr() + SIZE_32(CellVdecPicItem)); + const vm::ptr mp2 = vm::cast(info.addr() + u32{sizeof(CellVdecPicItem)}); std::memset(mp2.get_ptr(), 0, sizeof(CellVdecMpeg2Info)); mp2->horizontal_size = frame->width; diff --git a/rpcs3/Emu/Cell/PPUModule.cpp b/rpcs3/Emu/Cell/PPUModule.cpp index 317f163969..b7986b0179 100644 --- a/rpcs3/Emu/Cell/PPUModule.cpp +++ b/rpcs3/Emu/Cell/PPUModule.cpp @@ -1436,7 +1436,7 @@ void ppu_load_exec(const ppu_exec_object& elf) g_ps3_sdk_version = sdk_version; // Initialize process arguments - auto args = vm::ptr::make(vm::alloc(SIZE_32(u64) * (::size32(Emu.argv) + ::size32(Emu.envp) + 2), vm::main)); + auto args = vm::ptr::make(vm::alloc(u32{sizeof(u64)} * (::size32(Emu.argv) + ::size32(Emu.envp) + 2), vm::main)); auto argv = args; for (const auto& arg : Emu.argv) diff --git a/rpcs3/Emu/Memory/vm_ptr.h b/rpcs3/Emu/Memory/vm_ptr.h index 976238e1b6..8426622123 100644 --- a/rpcs3/Emu/Memory/vm_ptr.h +++ b/rpcs3/Emu/Memory/vm_ptr.h @@ -69,7 +69,7 @@ namespace vm template , typename = if_comparable_t> _ptr_base ptr(MT T2::*const mptr, u32 index) const { - return vm::cast(vm::cast(m_addr, HERE) + offset32(mptr) + SIZE_32(ET) * index); + return vm::cast(vm::cast(m_addr, HERE) + offset32(mptr) + u32{sizeof(ET)} * index); } // Get vm reference to a struct member @@ -83,7 +83,7 @@ namespace vm template , typename = if_comparable_t> _ref_base ref(MT T2::*const mptr, u32 index) const { - return vm::cast(vm::cast(m_addr, HERE) + offset32(mptr) + SIZE_32(ET) * index); + return vm::cast(vm::cast(m_addr, HERE) + offset32(mptr) + u32{sizeof(ET)} * index); } // Get vm reference @@ -109,7 +109,7 @@ namespace vm std::add_lvalue_reference_t operator [](u32 index) const { - return *static_cast(vm::base(vm::cast(m_addr, HERE) + SIZE_32(T) * index)); + return *static_cast(vm::base(vm::cast(m_addr, HERE) + u32{sizeof(T)} * index)); } // Test address for arbitrary alignment: (addr & (align - 1)) == 0 @@ -127,7 +127,7 @@ namespace vm // Get type size static constexpr u32 size() { - return SIZE_32(T); + return sizeof(T); } // Get type alignment @@ -149,61 +149,61 @@ namespace vm _ptr_base operator +(u32 count) const { - return vm::cast(vm::cast(m_addr, HERE) + count * SIZE_32(T)); + return vm::cast(vm::cast(m_addr, HERE) + count * size()); } _ptr_base operator -(u32 count) const { - return vm::cast(vm::cast(m_addr, HERE) - count * SIZE_32(T)); + return vm::cast(vm::cast(m_addr, HERE) - count * size()); } friend _ptr_base operator +(u32 count, const _ptr_base& ptr) { - return vm::cast(vm::cast(ptr.m_addr, HERE) + count * SIZE_32(T)); + return vm::cast(vm::cast(ptr.m_addr, HERE) + count * size()); } // Pointer difference operator template std::enable_if_t::value && std::is_same, std::decay_t>::value, s32> operator -(const _ptr_base& right) const { - return static_cast(vm::cast(m_addr, HERE) - vm::cast(right.m_addr, HERE)) / SIZE_32(T); + return static_cast(vm::cast(m_addr, HERE) - vm::cast(right.m_addr, HERE)) / size(); } _ptr_base operator ++(int) { _ptr_base result = *this; - m_addr = vm::cast(m_addr, HERE) + SIZE_32(T); + m_addr = vm::cast(m_addr, HERE) + size(); return result; } _ptr_base& operator ++() { - m_addr = vm::cast(m_addr, HERE) + SIZE_32(T); + m_addr = vm::cast(m_addr, HERE) + size(); return *this; } _ptr_base operator --(int) { _ptr_base result = *this; - m_addr = vm::cast(m_addr, HERE) - SIZE_32(T); + m_addr = vm::cast(m_addr, HERE) - size(); return result; } _ptr_base& operator --() { - m_addr = vm::cast(m_addr, HERE) - SIZE_32(T); + m_addr = vm::cast(m_addr, HERE) - size(); return *this; } _ptr_base& operator +=(s32 count) { - m_addr = vm::cast(m_addr, HERE) + count * SIZE_32(T); + m_addr = vm::cast(m_addr, HERE) + count * size(); return *this; } _ptr_base& operator -=(s32 count) { - m_addr = vm::cast(m_addr, HERE) - count * SIZE_32(T); + m_addr = vm::cast(m_addr, HERE) - count * size(); return *this; } }; diff --git a/rpcs3/Emu/Memory/vm_var.h b/rpcs3/Emu/Memory/vm_var.h index 5c216f53dc..5fa1f611de 100644 --- a/rpcs3/Emu/Memory/vm_var.h +++ b/rpcs3/Emu/Memory/vm_var.h @@ -43,7 +43,7 @@ namespace vm _var_base(const _var_base&) = delete; _var_base() - : pointer(A::alloc(SIZE_32(T), alignof(T))) + : pointer(A::alloc(sizeof(T), alignof(T))) { } @@ -57,7 +57,7 @@ namespace vm { if (pointer::addr()) { - A::dealloc(pointer::addr(), SIZE_32(T)); + A::dealloc(pointer::addr(), sizeof(T)); } } }; @@ -75,8 +75,8 @@ namespace vm _var_base(const _var_base&) = delete; _var_base(u32 count) - : pointer(A::alloc(SIZE_32(T) * count, alignof(T))) - , m_size(SIZE_32(T) * count) + : pointer(A::alloc(u32{sizeof(T)} * count, alignof(T))) + , m_size(u32{sizeof(T)} * count) { } @@ -101,7 +101,7 @@ namespace vm u32 get_count() const { - return m_size / SIZE_32(T); + return m_size / u32{sizeof(T)}; } auto begin() const diff --git a/rpcs3/Emu/RSX/CgBinaryProgram.h b/rpcs3/Emu/RSX/CgBinaryProgram.h index 0bf39197fa..aa5578e92d 100644 --- a/rpcs3/Emu/RSX/CgBinaryProgram.h +++ b/rpcs3/Emu/RSX/CgBinaryProgram.h @@ -309,7 +309,7 @@ public: m_arb_shader += fmt::format("#%d ", i) + param_type + param_name + param_semantic + param_const + "\n"; - offset += SIZE_32(CgBinaryParameter); + offset += sizeof(CgBinaryParameter); } m_arb_shader += "\n"; @@ -366,7 +366,7 @@ public: m_arb_shader += fmt::format("#%d ", i) + param_type + param_name + param_semantic + param_const + "\n"; - offset += SIZE_32(CgBinaryParameter); + offset += sizeof(CgBinaryParameter); } m_arb_shader += "\n"; diff --git a/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.cpp b/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.cpp index 26f7392fdc..fb54423711 100644 --- a/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.cpp +++ b/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.cpp @@ -183,7 +183,7 @@ std::string FragmentProgramDecompiler::AddConst() return name; } - auto data = (be_t*) ((char*)m_prog.addr + m_size + 4 * SIZE_32(u32)); + auto data = (be_t*) ((char*)m_prog.addr + m_size + 4 * u32{sizeof(u32)}); m_offset = 2 * 4 * sizeof(u32); u32 x = GetData(data[0]); @@ -264,7 +264,7 @@ std::string FragmentProgramDecompiler::ClampValue(const std::string& code, u32 p bool FragmentProgramDecompiler::DstExpectsSca() { int writes = 0; - + if (dst.mask_x) writes++; if (dst.mask_y) writes++; if (dst.mask_z) writes++; diff --git a/rpcs3/Emu/RSX/GCM.h b/rpcs3/Emu/RSX/GCM.h index 75a78a575e..9cda1c22d7 100644 --- a/rpcs3/Emu/RSX/GCM.h +++ b/rpcs3/Emu/RSX/GCM.h @@ -173,7 +173,7 @@ namespace rsx *dst++ = cmd.as(); } - return SIZE_32(u32) * (static_cast(values.size()) + 1); + return u32{sizeof(u32)} * (static_cast(values.size()) + 1); } template @@ -181,6 +181,6 @@ namespace rsx { *dst++ = RSX_METHOD_OLD_JUMP_CMD | offset; - return SIZE_32(u32); + return sizeof(u32); } } diff --git a/rpcs3/Loader/ELF.h b/rpcs3/Loader/ELF.h index 11de860f87..746727d9ef 100644 --- a/rpcs3/Loader/ELF.h +++ b/rpcs3/Loader/ELF.h @@ -297,18 +297,18 @@ public: header.e_machine = Machine; header.e_version = 1; header.e_entry = this->header.e_entry; - header.e_phoff = SIZE_32(ehdr_t); - header.e_shoff = SIZE_32(ehdr_t) + SIZE_32(phdr_t) * ::size32(progs); + header.e_phoff = u32{sizeof(ehdr_t)}; + header.e_shoff = u32{sizeof(ehdr_t)} + u32{sizeof(phdr_t)} * ::size32(progs); header.e_flags = this->header.e_flags; - header.e_ehsize = SIZE_32(ehdr_t); - header.e_phentsize = SIZE_32(phdr_t); + header.e_ehsize = u32{sizeof(ehdr_t)}; + header.e_phentsize = u32{sizeof(phdr_t)}; header.e_phnum = ::size32(progs); - header.e_shentsize = SIZE_32(shdr_t); + header.e_shentsize = u32{sizeof(shdr_t)}; header.e_shnum = ::size32(shdrs); header.e_shstrndx = this->header.e_shstrndx; stream.write(header); - sz_t off = header.e_shoff + SIZE_32(shdr_t) * ::size32(shdrs); + sz_t off = header.e_shoff + u32{sizeof(shdr_t)} * ::size32(shdrs); for (phdr_t phdr : progs) { diff --git a/rpcs3/Loader/PSF.cpp b/rpcs3/Loader/PSF.cpp index b0788efe3a..3f9f6ff3d1 100644 --- a/rpcs3/Loader/PSF.cpp +++ b/rpcs3/Loader/PSF.cpp @@ -92,7 +92,7 @@ namespace psf return std::min(m_max_size, ::narrow(m_value_string.size() + (m_type == format::string))); case format::integer: - return SIZE_32(u32); + return sizeof(u32); } fmt::throw_exception("Invalid format (0x%x)" HERE, m_type); diff --git a/rpcs3/Loader/TROPUSR.cpp b/rpcs3/Loader/TROPUSR.cpp index 37be06bb3e..ba209a884a 100644 --- a/rpcs3/Loader/TROPUSR.cpp +++ b/rpcs3/Loader/TROPUSR.cpp @@ -169,8 +169,8 @@ bool TROPUSRLoader::Generate(const std::string& filepath, const std::string& con default: trophy_grade = 0; } - TROPUSREntry4 entry4 = { 4, SIZE_32(TROPUSREntry4) - 0x10, (u32)m_table4.size(), 0, trophy_id, trophy_grade, 0xFFFFFFFF }; - TROPUSREntry6 entry6 = { 6, SIZE_32(TROPUSREntry6) - 0x10, (u32)m_table6.size(), 0, trophy_id }; + TROPUSREntry4 entry4 = { 4, u32{sizeof(TROPUSREntry4)} - 0x10, (u32)m_table4.size(), 0, trophy_id, trophy_grade, 0xFFFFFFFF }; + TROPUSREntry6 entry6 = { 6, u32{sizeof(TROPUSREntry6)} - 0x10, (u32)m_table6.size(), 0, trophy_id }; m_table4.push_back(entry4); m_table6.push_back(entry6); @@ -178,9 +178,9 @@ bool TROPUSRLoader::Generate(const std::string& filepath, const std::string& con } u64 offset = sizeof(TROPUSRHeader) + 2 * sizeof(TROPUSRTableHeader); - TROPUSRTableHeader table4header = { 4, SIZE_32(TROPUSREntry4) - 0x10, 1, (u32)m_table4.size(), offset }; + TROPUSRTableHeader table4header = { 4, u32{sizeof(TROPUSREntry4)} - 0x10, 1, (u32)m_table4.size(), offset }; offset += m_table4.size() * sizeof(TROPUSREntry4); - TROPUSRTableHeader table6header = { 6, SIZE_32(TROPUSREntry6) - 0x10, 1, (u32)m_table6.size(), offset }; + TROPUSRTableHeader table6header = { 6, u32{sizeof(TROPUSREntry6)} - 0x10, 1, (u32)m_table6.size(), offset }; offset += m_table6.size() * sizeof(TROPUSREntry6); m_tableHeaders.clear(); @@ -234,7 +234,7 @@ u64 TROPUSRLoader::GetTrophyTimestamp(u32 id) return 0; } - // TODO: What timestamp does sceNpTrophyGetTrophyInfo want, timestamp1 or timestamp2? + // TODO: What timestamp does sceNpTrophyGetTrophyInfo want, timestamp1 or timestamp2? return m_table6[id].timestamp2; // Let's assume the trophies are stored ordered }