diff --git a/premake5.lua b/premake5.lua index 3c2e1059..7a20bd50 100644 --- a/premake5.lua +++ b/premake5.lua @@ -16,7 +16,7 @@ workspace "OpenAssetTools" objdir "%{wks.location}/obj" symbols "On" systemversion "latest" - cppdialect "C++20" + cppdialect "C++23" largeaddressaware "on" flags { @@ -54,6 +54,10 @@ workspace "OpenAssetTools" symbols "On" filter {} + filter {"system:windows", "configurations:Debug" } + buildoptions { "/bigobj" } + filter {} + filter "configurations:Release" defines "NDEBUG" optimize "Full" diff --git a/scripts/make-clean.sh b/scripts/make-clean.sh index 040538a1..67e54365 100755 --- a/scripts/make-clean.sh +++ b/scripts/make-clean.sh @@ -4,4 +4,6 @@ cd "$(dirname "$0")/.." || exit 2 make -C build -j$(nproc) config=debug_x86 clean -make -C build -j$(nproc) config=release_x86 clean \ No newline at end of file +make -C build -j$(nproc) config=release_x86 clean +make -C build -j$(nproc) config=debug_x64 clean +make -C build -j$(nproc) config=release_x64 clean diff --git a/scripts/make-debug-x64.sh b/scripts/make-debug-x64.sh new file mode 100755 index 00000000..d0cfe098 --- /dev/null +++ b/scripts/make-debug-x64.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Go to repository root +cd "$(dirname "$0")/.." || exit 2 + +make -C build -j$(nproc) config=debug_x64 all diff --git a/scripts/make-debug.sh b/scripts/make-debug.sh index 39c6944c..866d89b8 100755 --- a/scripts/make-debug.sh +++ b/scripts/make-debug.sh @@ -3,4 +3,4 @@ # Go to repository root cd "$(dirname "$0")/.." || exit 2 -make -C build -j$(nproc) config=debug_x86 all \ No newline at end of file +make -C build -j$(nproc) config=debug_x86 all diff --git a/scripts/make-release-x64.sh b/scripts/make-release-x64.sh new file mode 100755 index 00000000..46e8d4c3 --- /dev/null +++ b/scripts/make-release-x64.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +# Go to repository root +cd "$(dirname "$0")/.." || exit 2 + +echo "Start building with $(nproc) threads" +make -C build -j$(nproc) config=release_x64 all diff --git a/scripts/make-release.sh b/scripts/make-release.sh index 16f19c47..0f78879c 100755 --- a/scripts/make-release.sh +++ b/scripts/make-release.sh @@ -4,4 +4,4 @@ cd "$(dirname "$0")/.." || exit 2 echo "Start building with $(nproc) threads" -make -C build -j$(nproc) config=release_x86 all \ No newline at end of file +make -C build -j$(nproc) config=release_x86 all diff --git a/src/Common/Zone/ZoneTypes.h b/src/Common/Zone/ZoneTypes.h index 3b922260..64ca10e9 100644 --- a/src/Common/Zone/ZoneTypes.h +++ b/src/Common/Zone/ZoneTypes.h @@ -1,5 +1,6 @@ #pragma once #include +#include struct ZoneHeader { @@ -7,21 +8,11 @@ struct ZoneHeader uint32_t m_version; }; -#ifdef ARCH_x64 -typedef uint32_t scr_string_t; -typedef uint64_t xchunk_size_t; -typedef uint64_t xblock_size_t; -typedef uint64_t zone_pointer_t; - -constexpr uint16_t SCR_STRING_MAX = UINT32_MAX; -#elif ARCH_x86 typedef uint16_t scr_string_t; typedef uint32_t xchunk_size_t; typedef uint32_t xblock_size_t; -typedef uint32_t zone_pointer_t; -constexpr uint16_t SCR_STRING_MAX = UINT16_MAX; -#endif +constexpr uint16_t SCR_STRING_MAX = std::numeric_limits::max(); typedef int block_t; typedef int asset_type_t; diff --git a/src/ObjCommon/ObjContainer/IPak/IPakTypes.h b/src/ObjCommon/ObjContainer/IPak/IPakTypes.h index bc3232bf..93f489a1 100644 --- a/src/ObjCommon/ObjContainer/IPak/IPakTypes.h +++ b/src/ObjCommon/ObjContainer/IPak/IPakTypes.h @@ -16,7 +16,7 @@ namespace ipak_consts static constexpr size_t IPAK_CHUNK_SIZE = 0x8000; static constexpr size_t IPAK_CHUNK_COUNT_PER_READ = 0x8; - static constexpr uint32_t IPAK_COMMAND_DEFAULT_SIZE = 0x7F00; + static constexpr size_t IPAK_COMMAND_DEFAULT_SIZE = 0x7F00; static constexpr uint32_t IPAK_COMMAND_UNCOMPRESSED = 0; static constexpr uint32_t IPAK_COMMAND_COMPRESSED = 1; static constexpr uint32_t IPAK_COMMAND_SKIP = 0xCF; diff --git a/src/ObjCommon/Sound/FlacDecoder.cpp b/src/ObjCommon/Sound/FlacDecoder.cpp index b709029f..3ef8008c 100644 --- a/src/ObjCommon/Sound/FlacDecoder.cpp +++ b/src/ObjCommon/Sound/FlacDecoder.cpp @@ -68,7 +68,7 @@ namespace T result; } data{}; - const auto byteCount = utils::Align(bitCount, 8u) / 8u; + const auto byteCount = utils::Align(bitCount, 8uz) / 8uz; assert(byteCount <= sizeof(T)); const auto shiftCount = (8u - bitCount % 8) % 8; @@ -83,7 +83,7 @@ namespace while (remainingBits > 0) { - const auto curBits = static_cast(std::min(remainingBits, 8u)); + const auto curBits = static_cast(std::min(remainingBits, 8uz)); if (m_remaining_bits_last_byte > 0) { diff --git a/src/ObjCommon/StructuredDataDef/CommonStructuredDataTypes.cpp b/src/ObjCommon/StructuredDataDef/CommonStructuredDataTypes.cpp index 2c3234af..8602a7ce 100644 --- a/src/ObjCommon/StructuredDataDef/CommonStructuredDataTypes.cpp +++ b/src/ObjCommon/StructuredDataDef/CommonStructuredDataTypes.cpp @@ -59,7 +59,7 @@ size_t CommonStructuredDataType::GetSizeInBits(const CommonStructuredDataDef& de return 0u; } const auto& indexedArray = def.m_indexed_arrays[m_info.type_index]; - return utils::Align(indexedArray.m_element_size_in_bits * indexedArray.m_element_count, 8u); + return utils::Align(indexedArray.m_element_size_in_bits * indexedArray.m_element_count, 8uz); } case CommonStructuredDataTypeCategory::ENUM_ARRAY: { @@ -69,7 +69,7 @@ size_t CommonStructuredDataType::GetSizeInBits(const CommonStructuredDataDef& de return 0u; } const auto& enumedArray = def.m_enumed_arrays[m_info.type_index]; - return utils::Align(enumedArray.m_element_size_in_bits * enumedArray.m_element_count, 8u); + return utils::Align(enumedArray.m_element_size_in_bits * enumedArray.m_element_count, 8uz); } case CommonStructuredDataTypeCategory::UNKNOWN: diff --git a/src/ObjCompiling/Image/IPak/IPakCreator.cpp b/src/ObjCompiling/Image/IPak/IPakCreator.cpp index b91abb58..365edd51 100644 --- a/src/ObjCompiling/Image/IPak/IPakCreator.cpp +++ b/src/ObjCompiling/Image/IPak/IPakCreator.cpp @@ -216,7 +216,7 @@ namespace const auto remainingSize = dataSize - dataOffset; const auto remainingChunkBufferWindowSize = std::max((ipak_consts::IPAK_CHUNK_COUNT_PER_READ * ipak_consts::IPAK_CHUNK_SIZE) - static_cast(m_current_offset - m_chunk_buffer_window_start), - 0u); + 0uz); if (remainingChunkBufferWindowSize == 0) { diff --git a/src/ObjLoading/Game/IW4/StructuredDataDef/LoaderStructuredDataDefIW4.cpp b/src/ObjLoading/Game/IW4/StructuredDataDef/LoaderStructuredDataDefIW4.cpp index 1e74175c..b0ec0c79 100644 --- a/src/ObjLoading/Game/IW4/StructuredDataDef/LoaderStructuredDataDefIW4.cpp +++ b/src/ObjLoading/Game/IW4/StructuredDataDef/LoaderStructuredDataDefIW4.cpp @@ -53,15 +53,15 @@ namespace case CommonStructuredDataTypeCategory::SHORT: return {DATA_SHORT, {0}}; case CommonStructuredDataTypeCategory::STRING: - return {DATA_STRING, {inputType.m_info.string_length}}; + return {DATA_STRING, {static_cast(inputType.m_info.string_length)}}; case CommonStructuredDataTypeCategory::ENUM: - return {DATA_ENUM, {inputType.m_info.type_index}}; + return {DATA_ENUM, {static_cast(inputType.m_info.type_index)}}; case CommonStructuredDataTypeCategory::STRUCT: - return {DATA_STRUCT, {inputType.m_info.type_index}}; + return {DATA_STRUCT, {static_cast(inputType.m_info.type_index)}}; case CommonStructuredDataTypeCategory::INDEXED_ARRAY: - return {DATA_INDEXED_ARRAY, {inputType.m_info.type_index}}; + return {DATA_INDEXED_ARRAY, {static_cast(inputType.m_info.type_index)}}; case CommonStructuredDataTypeCategory::ENUM_ARRAY: - return {DATA_ENUM_ARRAY, {inputType.m_info.type_index}}; + return {DATA_ENUM_ARRAY, {static_cast(inputType.m_info.type_index)}}; case CommonStructuredDataTypeCategory::UNKNOWN: default: assert(false); @@ -129,14 +129,14 @@ namespace { outputIndexedArray.arraySize = static_cast(inputIndexedArray.m_element_count); outputIndexedArray.elementType = ConvertType(inputIndexedArray.m_array_type); - outputIndexedArray.elementSize = utils::Align(inputIndexedArray.m_element_size_in_bits, 8u) / 8u; + outputIndexedArray.elementSize = utils::Align(inputIndexedArray.m_element_size_in_bits, 8uz) / 8uz; } void ConvertEnumedArray(const CommonStructuredDataEnumedArray& inputEnumedArray, StructuredDataEnumedArray& outputEnumedArray) { outputEnumedArray.enumIndex = static_cast(inputEnumedArray.m_enum_index); outputEnumedArray.elementType = ConvertType(inputEnumedArray.m_array_type); - outputEnumedArray.elementSize = utils::Align(inputEnumedArray.m_element_size_in_bits, 8u) / 8u; + outputEnumedArray.elementSize = utils::Align(inputEnumedArray.m_element_size_in_bits, 8uz) / 8uz; } void ConvertDef(const CommonStructuredDataDef& inputDef, StructuredDataDef& outputDef) diff --git a/src/ObjLoading/ObjContainer/SoundBank/SoundBankWriter.cpp b/src/ObjLoading/ObjContainer/SoundBank/SoundBankWriter.cpp index 878b9a61..4910f628 100644 --- a/src/ObjLoading/ObjContainer/SoundBank/SoundBankWriter.cpp +++ b/src/ObjLoading/ObjContainer/SoundBank/SoundBankWriter.cpp @@ -131,7 +131,7 @@ public: sizeof(SoundAssetBankEntry), sizeof(SoundAssetBankChecksum), 0x40, - m_entries.size(), + static_cast(m_entries.size()), 0, 0, m_total_size, @@ -157,9 +157,9 @@ public: SoundAssetBankEntry entry{ sound.m_sound_id, - soundSize, - static_cast(m_current_offset), - frameCount, + static_cast(soundSize), + static_cast(m_current_offset), + static_cast(frameCount), frameRateIndex, static_cast(header.formatChunk.nChannels), sound.m_looping, @@ -188,8 +188,8 @@ public: const auto frameRateIndex = INDEX_FOR_FRAMERATE[metaData.m_sample_rate]; SoundAssetBankEntry entry{ sound.m_sound_id, - soundSize, - static_cast(m_current_offset), + static_cast(soundSize), + static_cast(m_current_offset), static_cast(metaData.m_total_samples), frameRateIndex, metaData.m_number_of_channels, diff --git a/src/ObjLoading/StructuredDataDef/Parsing/Sequence/StructuredDataStructScopeSequences.cpp b/src/ObjLoading/StructuredDataDef/Parsing/Sequence/StructuredDataStructScopeSequences.cpp index bde662ec..fb6ce4ea 100644 --- a/src/ObjLoading/StructuredDataDef/Parsing/Sequence/StructuredDataStructScopeSequences.cpp +++ b/src/ObjLoading/StructuredDataDef/Parsing/Sequence/StructuredDataStructScopeSequences.cpp @@ -240,7 +240,7 @@ namespace sdd::struct_scope_sequences if (state->m_current_struct_is_root && state->m_current_struct->m_properties.empty()) state->m_current_struct_padding_offset -= 64u; - state->m_current_struct->m_size_in_byte = utils::Align(state->m_current_struct_padding_offset, 8u) / 8; + state->m_current_struct->m_size_in_byte = utils::Align(state->m_current_struct_padding_offset, 8uz) / 8; state->m_current_struct_padding_offset = 0u; state->m_current_struct_is_root = false; state->m_current_struct = nullptr; diff --git a/src/ObjLoading/StructuredDataDef/Parsing/StructuredDataDefSizeCalculator.cpp b/src/ObjLoading/StructuredDataDef/Parsing/StructuredDataDefSizeCalculator.cpp index 67ba6c24..0c589711 100644 --- a/src/ObjLoading/StructuredDataDef/Parsing/StructuredDataDefSizeCalculator.cpp +++ b/src/ObjLoading/StructuredDataDef/Parsing/StructuredDataDefSizeCalculator.cpp @@ -74,7 +74,7 @@ class StructuredDataDefSizeCalculatorInternal m_type_stack.emplace_back(CommonStructuredDataTypeCategory::STRUCT, index); - auto currentOffset = 0u; + auto currentOffset = 0uz; for (auto& property : _struct.m_properties) { CalculateForType(property.m_type); @@ -85,7 +85,7 @@ class StructuredDataDefSizeCalculatorInternal currentOffset += property.m_type.GetSizeInBits(m_def); } - currentOffset = utils::Align(currentOffset, 8u); + currentOffset = utils::Align(currentOffset, 8uz); _struct.m_size_in_byte += currentOffset / 8; m_struct_calculated[index] = true; diff --git a/src/ObjLoading/XModel/Gltf/GltfLoader.cpp b/src/ObjLoading/XModel/Gltf/GltfLoader.cpp index 56d0f8b1..1c355eff 100644 --- a/src/ObjLoading/XModel/Gltf/GltfLoader.cpp +++ b/src/ObjLoading/XModel/Gltf/GltfLoader.cpp @@ -286,7 +286,7 @@ namespace common.m_vertices.emplace_back(vertex); - XModelVertexBoneWeights vertexWeights{.weightOffset = common.m_bone_weight_data.weights.size(), .weightCount = 0u}; + XModelVertexBoneWeights vertexWeights{.weightOffset = static_cast(common.m_bone_weight_data.weights.size()), .weightCount = 0u}; for (auto i = 0u; i < std::extent_v; i++) { if (std::abs(weights[i]) < std::numeric_limits::epsilon()) diff --git a/src/ObjWriting/Game/IW3/AssetDumpers/AssetDumperXModel.cpp b/src/ObjWriting/Game/IW3/AssetDumpers/AssetDumperXModel.cpp index f4893477..cd6789e1 100644 --- a/src/ObjWriting/Game/IW3/AssetDumpers/AssetDumperXModel.cpp +++ b/src/ObjWriting/Game/IW3/AssetDumpers/AssetDumperXModel.cpp @@ -284,7 +284,7 @@ namespace const auto& vertList = surface.vertList[vertListIndex]; const auto boneWeightOffset = weightOffset; - weightCollection.weights[weightOffset++] = XModelBoneWeight{vertList.boneOffset / sizeof(DObjSkelMat), 1.0f}; + weightCollection.weights[weightOffset++] = XModelBoneWeight{static_cast(vertList.boneOffset / sizeof(DObjSkelMat)), 1.0f}; for (auto vertListVertexOffset = 0u; vertListVertexOffset < vertList.vertCount; vertListVertexOffset++) { @@ -301,7 +301,7 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[0]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); weightCollection.weights[weightOffset++] = XModelBoneWeight{boneIndex0, 1.0f}; vertsBlendOffset += 1; @@ -313,8 +313,8 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[1]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); - const auto boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); const auto boneWeight1 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 2]); const auto boneWeight0 = 1.0f - boneWeight1; @@ -330,10 +330,10 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[2]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); - const auto boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); const auto boneWeight1 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 2]); - const auto boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); + const unsigned boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); const auto boneWeight2 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 4]); const auto boneWeight0 = 1.0f - boneWeight1 - boneWeight2; @@ -350,12 +350,12 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[3]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); - const auto boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); const auto boneWeight1 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 2]); - const auto boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); + const unsigned boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); const auto boneWeight2 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 4]); - const auto boneIndex3 = surface.vertInfo.vertsBlend[vertsBlendOffset + 5] / sizeof(DObjSkelMat); + const unsigned boneIndex3 = surface.vertInfo.vertsBlend[vertsBlendOffset + 5] / sizeof(DObjSkelMat); const auto boneWeight3 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 6]); const auto boneWeight0 = 1.0f - boneWeight1 - boneWeight2 - boneWeight3; diff --git a/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperStructuredDataDefSet.cpp b/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperStructuredDataDefSet.cpp index 0a21cf96..f25c6bf4 100644 --- a/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperStructuredDataDefSet.cpp +++ b/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperStructuredDataDefSet.cpp @@ -37,22 +37,22 @@ CommonStructuredDataType AssetDumperStructuredDataDefSet::ConvertType(const Comm case DATA_ENUM: assert(!def->m_enums.empty()); out.m_category = CommonStructuredDataTypeCategory::ENUM; - out.m_info.type_index = std::max(std::min(static_cast(in.u.enumIndex), def->m_enums.size() - 1u), 0u); + out.m_info.type_index = std::max(std::min(static_cast(in.u.enumIndex), def->m_enums.size() - 1uz), 0uz); break; case DATA_STRUCT: assert(!def->m_structs.empty()); out.m_category = CommonStructuredDataTypeCategory::STRUCT; - out.m_info.type_index = std::max(std::min(static_cast(in.u.structIndex), def->m_structs.size() - 1u), 0u); + out.m_info.type_index = std::max(std::min(static_cast(in.u.structIndex), def->m_structs.size() - 1uz), 0uz); break; case DATA_INDEXED_ARRAY: assert(!def->m_indexed_arrays.empty()); out.m_category = CommonStructuredDataTypeCategory::INDEXED_ARRAY; - out.m_info.type_index = std::max(std::min(static_cast(in.u.indexedArrayIndex), def->m_indexed_arrays.size() - 1u), 0u); + out.m_info.type_index = std::max(std::min(static_cast(in.u.indexedArrayIndex), def->m_indexed_arrays.size() - 1uz), 0uz); break; case DATA_ENUM_ARRAY: assert(!def->m_enumed_arrays.empty()); out.m_category = CommonStructuredDataTypeCategory::ENUM_ARRAY; - out.m_info.type_index = std::max(std::min(static_cast(in.u.enumedArrayIndex), def->m_enumed_arrays.size() - 1u), 0u); + out.m_info.type_index = std::max(std::min(static_cast(in.u.enumedArrayIndex), def->m_enumed_arrays.size() - 1uz), 0uz); break; case DATA_COUNT: default: @@ -138,7 +138,7 @@ void AssetDumperStructuredDataDefSet::ConvertEnumedArray(const CommonStructuredD assert(!def->m_enums.empty()); out->m_element_size_in_bits = in->elementType.type == DATA_BOOL ? 1 : in->elementSize * 8; out->m_array_type = ConvertType(def, in->elementType); - out->m_enum_index = std::max(std::min(static_cast(in->enumIndex), def->m_enums.size() - 1u), 0u); + out->m_enum_index = std::max(std::min(static_cast(in->enumIndex), def->m_enums.size() - 1uz), 0uz); if (def->m_enums.empty()) { diff --git a/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperXModel.cpp b/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperXModel.cpp index f7491941..19d5ec79 100644 --- a/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperXModel.cpp +++ b/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperXModel.cpp @@ -267,7 +267,7 @@ namespace const auto& vertList = surface.vertList[vertListIndex]; const auto boneWeightOffset = weightOffset; - weightCollection.weights[weightOffset++] = XModelBoneWeight{vertList.boneOffset / sizeof(DObjSkelMat), 1.0f}; + weightCollection.weights[weightOffset++] = XModelBoneWeight{static_cast(vertList.boneOffset / sizeof(DObjSkelMat)), 1.0f}; for (auto vertListVertexOffset = 0u; vertListVertexOffset < vertList.vertCount; vertListVertexOffset++) { @@ -284,7 +284,7 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[0]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); weightCollection.weights[weightOffset++] = XModelBoneWeight{boneIndex0, 1.0f}; vertsBlendOffset += 1; @@ -296,8 +296,8 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[1]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); - const auto boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); const auto boneWeight1 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 2]); const auto boneWeight0 = 1.0f - boneWeight1; @@ -313,10 +313,10 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[2]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); - const auto boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); const auto boneWeight1 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 2]); - const auto boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); + const unsigned boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); const auto boneWeight2 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 4]); const auto boneWeight0 = 1.0f - boneWeight1 - boneWeight2; @@ -333,12 +333,12 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[3]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); - const auto boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); const auto boneWeight1 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 2]); - const auto boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); + const unsigned boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); const auto boneWeight2 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 4]); - const auto boneIndex3 = surface.vertInfo.vertsBlend[vertsBlendOffset + 5] / sizeof(DObjSkelMat); + const unsigned boneIndex3 = surface.vertInfo.vertsBlend[vertsBlendOffset + 5] / sizeof(DObjSkelMat); const auto boneWeight3 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 6]); const auto boneWeight0 = 1.0f - boneWeight1 - boneWeight2 - boneWeight3; diff --git a/src/ObjWriting/Game/T6/AssetDumpers/AssetDumperSndBank.cpp b/src/ObjWriting/Game/T6/AssetDumpers/AssetDumperSndBank.cpp index a1d47041..5d407b86 100644 --- a/src/ObjWriting/Game/T6/AssetDumpers/AssetDumperSndBank.cpp +++ b/src/ObjWriting/Game/T6/AssetDumpers/AssetDumperSndBank.cpp @@ -110,7 +110,7 @@ namespace "devraw/", }; - constexpr size_t FRAME_RATE_FOR_INDEX[]{ + constexpr unsigned FRAME_RATE_FOR_INDEX[]{ 8000, 12000, 16000, diff --git a/src/ObjWriting/Sound/WavWriter.cpp b/src/ObjWriting/Sound/WavWriter.cpp index 32b3e489..0cb51016 100644 --- a/src/ObjWriting/Sound/WavWriter.cpp +++ b/src/ObjWriting/Sound/WavWriter.cpp @@ -27,7 +27,7 @@ void WavWriter::WritePcmHeader(const WavMetaData& metaData, const size_t dataLen }; m_stream.write(reinterpret_cast(&formatChunk), sizeof(formatChunk)); - const WavChunkHeader dataChunkHeader{WAV_CHUNK_ID_DATA, dataLen}; + const WavChunkHeader dataChunkHeader{WAV_CHUNK_ID_DATA, static_cast(dataLen)}; m_stream.write(reinterpret_cast(&dataChunkHeader), sizeof(dataChunkHeader)); } diff --git a/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.cpp b/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.cpp index 9aea7629..93869d4a 100644 --- a/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.cpp +++ b/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.cpp @@ -139,7 +139,7 @@ void StructuredDataDefDumper::DumpType(const CommonStructuredDataDef& def, void StructuredDataDefDumper::DumpProperty(const CommonStructuredDataDef& def, const CommonStructuredDataStructProperty& property, - unsigned& currentOffsetInBit) const + size_t& currentOffsetInBit) const { std::string typeName; std::vector arraySpecifiers; @@ -205,11 +205,11 @@ void StructuredDataDefDumper::DumpStruct(const CommonStructuredDataDef& def, con IncIndent(); auto currentOffsetInBit = - def.m_root_type.m_category == CommonStructuredDataTypeCategory::STRUCT && def.m_root_type.m_info.type_index == structIndex ? 64u : 0u; + def.m_root_type.m_category == CommonStructuredDataTypeCategory::STRUCT && def.m_root_type.m_info.type_index == structIndex ? 64uz : 0uz; for (const auto& property : _struct.m_properties) DumpProperty(def, property, currentOffsetInBit); - currentOffsetInBit = utils::Align(currentOffsetInBit, 8u); + currentOffsetInBit = utils::Align(currentOffsetInBit, 8uz); if ((currentOffsetInBit / 8) < _struct.m_size_in_byte) { Indent(); diff --git a/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.h b/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.h index 64b69f20..94d21e28 100644 --- a/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.h +++ b/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.h @@ -17,7 +17,7 @@ class StructuredDataDefDumper : AbstractTextDumper void DumpEnum(const CommonStructuredDataEnum& _enum); void DumpType(const CommonStructuredDataDef& def, CommonStructuredDataType type, std::string& typeName, std::vector& arraySpecifiers) const; - void DumpProperty(const CommonStructuredDataDef& def, const CommonStructuredDataStructProperty& property, unsigned& currentOffsetInBit) const; + void DumpProperty(const CommonStructuredDataDef& def, const CommonStructuredDataStructProperty& property, size_t& currentOffsetInBit) const; void DumpStruct(const CommonStructuredDataDef& def, const CommonStructuredDataStruct& _struct, size_t structIndex); public: diff --git a/src/ObjWriting/XModel/XModelDumper.cpp.template b/src/ObjWriting/XModel/XModelDumper.cpp.template index a60db804..f0e1cb26 100644 --- a/src/ObjWriting/XModel/XModelDumper.cpp.template +++ b/src/ObjWriting/XModel/XModelDumper.cpp.template @@ -393,7 +393,8 @@ namespace const auto& vertList = surface.vertList[vertListIndex]; const auto boneWeightOffset = weightOffset; - weightCollection.weights[weightOffset++] = XModelBoneWeight{.boneIndex = vertList.boneOffset / sizeof(DObjSkelMat), .weight = 1.0f}; + weightCollection.weights[weightOffset++] = + XModelBoneWeight{.boneIndex = static_cast(vertList.boneOffset / sizeof(DObjSkelMat)), .weight = 1.0f}; for (auto vertListVertexOffset = 0u; vertListVertexOffset < vertList.vertCount; vertListVertexOffset++) { @@ -410,7 +411,7 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[0]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); weightCollection.weights[weightOffset++] = XModelBoneWeight{.boneIndex = boneIndex0, .weight = 1.0f}; vertsBlendOffset += 1; @@ -422,8 +423,8 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[1]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); - const auto boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); const auto boneWeight1 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 2]); const auto boneWeight0 = 1.0f - boneWeight1; @@ -439,10 +440,10 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[2]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); - const auto boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); const auto boneWeight1 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 2]); - const auto boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); + const unsigned boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); const auto boneWeight2 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 4]); const auto boneWeight0 = 1.0f - boneWeight1 - boneWeight2; @@ -459,12 +460,12 @@ namespace for (auto vertIndex = 0; vertIndex < surface.vertInfo.vertCount[3]; vertIndex++) { const auto boneWeightOffset = weightOffset; - const auto boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); - const auto boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); + const unsigned boneIndex0 = surface.vertInfo.vertsBlend[vertsBlendOffset + 0] / sizeof(DObjSkelMat); + const unsigned boneIndex1 = surface.vertInfo.vertsBlend[vertsBlendOffset + 1] / sizeof(DObjSkelMat); const auto boneWeight1 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 2]); - const auto boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); + const unsigned boneIndex2 = surface.vertInfo.vertsBlend[vertsBlendOffset + 3] / sizeof(DObjSkelMat); const auto boneWeight2 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 4]); - const auto boneIndex3 = surface.vertInfo.vertsBlend[vertsBlendOffset + 5] / sizeof(DObjSkelMat); + const unsigned boneIndex3 = surface.vertInfo.vertsBlend[vertsBlendOffset + 5] / sizeof(DObjSkelMat); const auto boneWeight3 = BoneWeight16(surface.vertInfo.vertsBlend[vertsBlendOffset + 6]); const auto boneWeight0 = 1.0f - boneWeight1 - boneWeight2 - boneWeight3; diff --git a/src/Parser/Parsing/Impl/AbstractDirectiveStreamProxy.cpp b/src/Parser/Parsing/Impl/AbstractDirectiveStreamProxy.cpp index a6c32192..24a94717 100644 --- a/src/Parser/Parsing/Impl/AbstractDirectiveStreamProxy.cpp +++ b/src/Parser/Parsing/Impl/AbstractDirectiveStreamProxy.cpp @@ -1,11 +1,11 @@ #include "AbstractDirectiveStreamProxy.h" -TokenPos AbstractDirectiveStreamProxy::CreatePos(const ParserLine& line, const unsigned position) +TokenPos AbstractDirectiveStreamProxy::CreatePos(const ParserLine& line, const size_t position) { return TokenPos(*line.m_filename, line.m_line_number, static_cast(position + 1)); } -bool AbstractDirectiveStreamProxy::SkipWhitespace(const ParserLine& line, unsigned& position) +bool AbstractDirectiveStreamProxy::SkipWhitespace(const ParserLine& line, size_t& position) { while (true) { @@ -21,7 +21,7 @@ bool AbstractDirectiveStreamProxy::SkipWhitespace(const ParserLine& line, unsign return true; } -bool AbstractDirectiveStreamProxy::ExtractInteger(const ParserLine& line, unsigned& position, int& value) +bool AbstractDirectiveStreamProxy::ExtractInteger(const ParserLine& line, size_t& position, int& value) { if (position >= line.m_line.size()) return false; @@ -40,7 +40,7 @@ bool AbstractDirectiveStreamProxy::ExtractInteger(const ParserLine& line, unsign return false; } -bool AbstractDirectiveStreamProxy::ExtractIdentifier(const ParserLine& line, unsigned& position) +bool AbstractDirectiveStreamProxy::ExtractIdentifier(const ParserLine& line, size_t& position) { auto firstChar = true; while (true) @@ -60,7 +60,7 @@ bool AbstractDirectiveStreamProxy::ExtractIdentifier(const ParserLine& line, uns } } -bool AbstractDirectiveStreamProxy::MatchCharacter(const ParserLine& line, unsigned& position, char c) +bool AbstractDirectiveStreamProxy::MatchCharacter(const ParserLine& line, size_t& position, char c) { if (position < line.m_line.size() && line.m_line[position] == c) { @@ -71,12 +71,12 @@ bool AbstractDirectiveStreamProxy::MatchCharacter(const ParserLine& line, unsign return false; } -bool AbstractDirectiveStreamProxy::MatchNextCharacter(const ParserLine& line, unsigned& position, char c) +bool AbstractDirectiveStreamProxy::MatchNextCharacter(const ParserLine& line, size_t& position, char c) { return SkipWhitespace(line, position) && MatchCharacter(line, position, c); } -bool AbstractDirectiveStreamProxy::MatchString(const ParserLine& line, unsigned& position, const char* str, unsigned len) +bool AbstractDirectiveStreamProxy::MatchString(const ParserLine& line, size_t& position, const char* str, size_t len) { if (line.m_line.compare(position, len, str) == 0) { @@ -87,12 +87,12 @@ bool AbstractDirectiveStreamProxy::MatchString(const ParserLine& line, unsigned& return false; } -bool AbstractDirectiveStreamProxy::MatchNextString(const ParserLine& line, unsigned& position, const char* str, unsigned len) +bool AbstractDirectiveStreamProxy::MatchNextString(const ParserLine& line, size_t& position, const char* str, size_t len) { return SkipWhitespace(line, position) && MatchString(line, position, str, len); } -bool AbstractDirectiveStreamProxy::FindDirective(const ParserLine& line, unsigned& directiveStartPosition, unsigned& directiveEndPos) +bool AbstractDirectiveStreamProxy::FindDirective(const ParserLine& line, size_t& directiveStartPosition, size_t& directiveEndPos) { directiveStartPosition = 0; for (; directiveStartPosition < line.m_line.size(); directiveStartPosition++) diff --git a/src/Parser/Parsing/Impl/AbstractDirectiveStreamProxy.h b/src/Parser/Parsing/Impl/AbstractDirectiveStreamProxy.h index 513f2f06..391491f8 100644 --- a/src/Parser/Parsing/Impl/AbstractDirectiveStreamProxy.h +++ b/src/Parser/Parsing/Impl/AbstractDirectiveStreamProxy.h @@ -3,20 +3,22 @@ #include "Parsing/IParserLineStream.h" #include "Parsing/TokenPos.h" +#include + class AbstractDirectiveStreamProxy : public IParserLineStream { protected: AbstractDirectiveStreamProxy() = default; - static TokenPos CreatePos(const ParserLine& line, unsigned position); + static TokenPos CreatePos(const ParserLine& line, size_t position); - static bool SkipWhitespace(const ParserLine& line, unsigned& position); - static bool ExtractInteger(const ParserLine& line, unsigned& position, int& value); - static bool ExtractIdentifier(const ParserLine& line, unsigned& position); - static bool MatchCharacter(const ParserLine& line, unsigned& position, char c); - static bool MatchNextCharacter(const ParserLine& line, unsigned& position, char c); - static bool MatchString(const ParserLine& line, unsigned& position, const char* str, unsigned len); - static bool MatchNextString(const ParserLine& line, unsigned& position, const char* str, unsigned len); + static bool SkipWhitespace(const ParserLine& line, size_t& position); + static bool ExtractInteger(const ParserLine& line, size_t& position, int& value); + static bool ExtractIdentifier(const ParserLine& line, size_t& position); + static bool MatchCharacter(const ParserLine& line, size_t& position, char c); + static bool MatchNextCharacter(const ParserLine& line, size_t& position, char c); + static bool MatchString(const ParserLine& line, size_t& position, const char* str, size_t len); + static bool MatchNextString(const ParserLine& line, size_t& position, const char* str, size_t len); - static bool FindDirective(const ParserLine& line, unsigned& directiveStartPosition, unsigned& directiveEndPos); + static bool FindDirective(const ParserLine& line, size_t& directiveStartPosition, size_t& directiveEndPos); }; diff --git a/src/Parser/Parsing/Impl/DefinesStreamProxy.cpp b/src/Parser/Parsing/Impl/DefinesStreamProxy.cpp index dd683eb7..38e80040 100644 --- a/src/Parser/Parsing/Impl/DefinesStreamProxy.cpp +++ b/src/Parser/Parsing/Impl/DefinesStreamProxy.cpp @@ -14,12 +14,12 @@ namespace { - bool IsStringizeParameterForwardLookup(const std::string& value, unsigned pos) + bool IsStringizeParameterForwardLookup(const std::string& value, size_t pos) { return pos + 1 && (isalpha(value[pos + 1]) || value[pos + 1] == '_'); } - bool IsTokenPastingOperatorForwardLookup(const std::string& value, unsigned pos) + bool IsTokenPastingOperatorForwardLookup(const std::string& value, size_t pos) { return pos + 1 < value.size() && value[pos + 1] == '#'; } @@ -32,7 +32,7 @@ DefinesStreamProxy::DefineParameterPosition::DefineParameterPosition() { } -DefinesStreamProxy::DefineParameterPosition::DefineParameterPosition(const unsigned index, const unsigned position, const bool stringize) +DefinesStreamProxy::DefineParameterPosition::DefineParameterPosition(const unsigned index, const size_t position, const bool stringize) : m_parameter_index(index), m_parameter_position(position), m_stringize(stringize) @@ -175,7 +175,7 @@ int DefinesStreamProxy::GetLineEndEscapePos(const ParserLine& line) return -1; } -void DefinesStreamProxy::ContinueDefine(const ParserLine& line, const unsigned currentPos) +void DefinesStreamProxy::ContinueDefine(const ParserLine& line, const size_t currentPos) { const auto lineEndEscapePos = GetLineEndEscapePos(line); if (lineEndEscapePos < 0) @@ -204,7 +204,7 @@ void DefinesStreamProxy::ContinueDefine(const ParserLine& line, const unsigned c } } -void DefinesStreamProxy::ContinueParameters(const ParserLine& line, unsigned& currentPos) +void DefinesStreamProxy::ContinueParameters(const ParserLine& line, size_t& currentPos) { const auto lineEndEscapePos = GetLineEndEscapePos(line); while (true) @@ -241,7 +241,7 @@ void DefinesStreamProxy::ContinueParameters(const ParserLine& line, unsigned& cu } } -void DefinesStreamProxy::MatchDefineParameters(const ParserLine& line, unsigned& currentPos) +void DefinesStreamProxy::MatchDefineParameters(const ParserLine& line, size_t& currentPos) { m_current_define_parameters = std::vector(); if (line.m_line[currentPos] != '(') @@ -253,7 +253,7 @@ void DefinesStreamProxy::MatchDefineParameters(const ParserLine& line, unsigned& ContinueParameters(line, currentPos); } -bool DefinesStreamProxy::MatchDefineDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) +bool DefinesStreamProxy::MatchDefineDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) { auto currentPos = directiveStartPosition; @@ -284,7 +284,7 @@ bool DefinesStreamProxy::MatchDefineDirective(const ParserLine& line, const unsi return true; } -bool DefinesStreamProxy::MatchUndefDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) +bool DefinesStreamProxy::MatchUndefDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) { auto currentPos = directiveStartPosition; @@ -323,7 +323,7 @@ std::unique_ptr DefinesStreamProxy::ParseExpression(std::shar return expressionInterpreter.Evaluate(); } -bool DefinesStreamProxy::MatchIfDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) +bool DefinesStreamProxy::MatchIfDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) { auto currentPos = directiveStartPosition; @@ -356,7 +356,7 @@ bool DefinesStreamProxy::MatchIfDirective(const ParserLine& line, const unsigned return true; } -bool DefinesStreamProxy::MatchElIfDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) +bool DefinesStreamProxy::MatchElIfDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) { auto currentPos = directiveStartPosition; @@ -398,7 +398,7 @@ bool DefinesStreamProxy::MatchElIfDirective(const ParserLine& line, const unsign return true; } -bool DefinesStreamProxy::MatchIfdefDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) +bool DefinesStreamProxy::MatchIfdefDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) { auto currentPos = directiveStartPosition; @@ -439,7 +439,7 @@ bool DefinesStreamProxy::MatchIfdefDirective(const ParserLine& line, const unsig return true; } -bool DefinesStreamProxy::MatchElseDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) +bool DefinesStreamProxy::MatchElseDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) { auto currentPos = directiveStartPosition; @@ -460,7 +460,7 @@ bool DefinesStreamProxy::MatchElseDirective(const ParserLine& line, const unsign return true; } -bool DefinesStreamProxy::MatchEndifDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) +bool DefinesStreamProxy::MatchEndifDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) { auto currentPos = directiveStartPosition; @@ -486,8 +486,8 @@ bool DefinesStreamProxy::MatchEndifDirective(const ParserLine& line, const unsig bool DefinesStreamProxy::MatchDirectives(ParserLine& line) { - unsigned directiveStartPos; - unsigned directiveEndPos; + size_t directiveStartPos; + size_t directiveEndPos; if (!FindDirective(line, directiveStartPos, directiveEndPos)) return false; @@ -537,9 +537,9 @@ void DefinesStreamProxy::ExtractParametersFromMacroUsage( ContinueMacroParameters(line, linePos, state, input, inputPos); } -bool DefinesStreamProxy::MatchDefinedExpression(const ParserLine& line, unsigned& pos, std::string& definitionName) +bool DefinesStreamProxy::MatchDefinedExpression(const ParserLine& line, size_t& pos, std::string& definitionName) { - unsigned currentPos = pos; + auto currentPos = pos; if (!MatchNextCharacter(line, currentPos, '(')) return false; @@ -559,7 +559,7 @@ bool DefinesStreamProxy::MatchDefinedExpression(const ParserLine& line, unsigned void DefinesStreamProxy::ExpandDefinedExpressions(ParserLine& line) const { - auto currentPos = 0u; + auto currentPos = 0uz; while (true) { @@ -1094,7 +1094,7 @@ ParserLine DefinesStreamProxy::NextLine() { if (m_in_define) { - unsigned currentPos = 0u; + auto currentPos = 0uz; if (m_parameter_state != ParameterState::NOT_IN_PARAMETERS) { diff --git a/src/Parser/Parsing/Impl/DefinesStreamProxy.h b/src/Parser/Parsing/Impl/DefinesStreamProxy.h index 21ff4fad..28d8564a 100644 --- a/src/Parser/Parsing/Impl/DefinesStreamProxy.h +++ b/src/Parser/Parsing/Impl/DefinesStreamProxy.h @@ -4,6 +4,7 @@ #include "Parsing/IParserLineStream.h" #include "Parsing/Simple/Expression/ISimpleExpression.h" +#include #include #include #include @@ -29,11 +30,11 @@ public: { public: unsigned m_parameter_index; - unsigned m_parameter_position; + size_t m_parameter_position; bool m_stringize; DefineParameterPosition(); - DefineParameterPosition(unsigned index, unsigned position, bool stringize); + DefineParameterPosition(unsigned index, size_t position, bool stringize); }; class Define @@ -96,22 +97,22 @@ private: MacroParameterState m_multi_line_macro_parameters; static int GetLineEndEscapePos(const ParserLine& line); - void MatchDefineParameters(const ParserLine& line, unsigned& currentPos); - void ContinueDefine(const ParserLine& line, unsigned currentPos); - void ContinueParameters(const ParserLine& line, unsigned& currentPos); - _NODISCARD bool MatchDefineDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition); - _NODISCARD bool MatchUndefDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition); - _NODISCARD bool MatchIfDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition); - _NODISCARD bool MatchElIfDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition); - _NODISCARD bool MatchIfdefDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition); - _NODISCARD bool MatchElseDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition); - _NODISCARD bool MatchEndifDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition); + void MatchDefineParameters(const ParserLine& line, size_t& currentPos); + void ContinueDefine(const ParserLine& line, size_t currentPos); + void ContinueParameters(const ParserLine& line, size_t& currentPos); + _NODISCARD bool MatchDefineDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition); + _NODISCARD bool MatchUndefDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition); + _NODISCARD bool MatchIfDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition); + _NODISCARD bool MatchElIfDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition); + _NODISCARD bool MatchIfdefDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition); + _NODISCARD bool MatchElseDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition); + _NODISCARD bool MatchEndifDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition); _NODISCARD bool MatchDirectives(ParserLine& line); void ExtractParametersFromMacroUsage(const ParserLine& line, unsigned& linePos, MacroParameterState& state, const std::string& input, unsigned& inputPos); bool FindMacroForIdentifier(const std::string& input, unsigned wordStart, unsigned wordEnd, const Define*& value) const; - static bool MatchDefinedExpression(const ParserLine& line, unsigned& pos, std::string& definitionName); + static bool MatchDefinedExpression(const ParserLine& line, size_t& pos, std::string& definitionName); void ExpandDefinedExpressions(ParserLine& line) const; bool FindNextMacro(const std::string& input, unsigned& inputPos, unsigned& defineStart, const DefinesStreamProxy::Define*& define); diff --git a/src/Parser/Parsing/Impl/IncludingStreamProxy.cpp b/src/Parser/Parsing/Impl/IncludingStreamProxy.cpp index f2a96101..329e47af 100644 --- a/src/Parser/Parsing/Impl/IncludingStreamProxy.cpp +++ b/src/Parser/Parsing/Impl/IncludingStreamProxy.cpp @@ -13,9 +13,9 @@ IncludingStreamProxy::IncludingStreamProxy(IParserLineStream* stream) } bool IncludingStreamProxy::ExtractIncludeFilename(const ParserLine& line, - const unsigned includeDirectivePosition, - unsigned& filenameStartPosition, - unsigned& filenameEndPosition) + const size_t includeDirectivePosition, + size_t& filenameStartPosition, + size_t& filenameEndPosition) { auto currentPos = includeDirectivePosition; bool isDoubleQuotes; @@ -60,7 +60,7 @@ bool IncludingStreamProxy::ExtractIncludeFilename(const ParserLine& line, return false; } -bool IncludingStreamProxy::MatchIncludeDirective(const ParserLine& line, const unsigned directiveStartPos, const unsigned directiveEndPos) const +bool IncludingStreamProxy::MatchIncludeDirective(const ParserLine& line, const size_t directiveStartPos, const size_t directiveEndPos) const { auto currentPos = directiveStartPos; @@ -70,7 +70,7 @@ bool IncludingStreamProxy::MatchIncludeDirective(const ParserLine& line, const u return false; } - unsigned filenameStart, filenameEnd; + size_t filenameStart, filenameEnd; if (!ExtractIncludeFilename(line, currentPos, filenameStart, filenameEnd)) throw ParsingException(TokenPos(*line.m_filename, line.m_line_number, static_cast(currentPos)), INCLUDE_QUOTES_ERROR); @@ -86,7 +86,7 @@ bool IncludingStreamProxy::MatchIncludeDirective(const ParserLine& line, const u return true; } -bool IncludingStreamProxy::MatchPragmaOnceDirective(const ParserLine& line, const unsigned directiveStartPos, const unsigned directiveEndPos) +bool IncludingStreamProxy::MatchPragmaOnceDirective(const ParserLine& line, const size_t directiveStartPos, const size_t directiveEndPos) { auto currentPos = directiveStartPos; @@ -116,7 +116,7 @@ bool IncludingStreamProxy::MatchPragmaOnceDirective(const ParserLine& line, cons bool IncludingStreamProxy::MatchDirectives(const ParserLine& line) { - unsigned directiveStartPos, directiveEndPos; + size_t directiveStartPos, directiveEndPos; if (!FindDirective(line, directiveStartPos, directiveEndPos)) return false; diff --git a/src/Parser/Parsing/Impl/IncludingStreamProxy.h b/src/Parser/Parsing/Impl/IncludingStreamProxy.h index dd201cfa..2213c273 100644 --- a/src/Parser/Parsing/Impl/IncludingStreamProxy.h +++ b/src/Parser/Parsing/Impl/IncludingStreamProxy.h @@ -16,9 +16,9 @@ class IncludingStreamProxy final : public AbstractDirectiveStreamProxy std::set m_included_files; _NODISCARD static bool - ExtractIncludeFilename(const ParserLine& line, unsigned includeDirectivePosition, unsigned& filenameStartPosition, unsigned& filenameEndPosition); - _NODISCARD bool MatchIncludeDirective(const ParserLine& line, unsigned directiveStartPos, unsigned directiveEndPos) const; - _NODISCARD bool MatchPragmaOnceDirective(const ParserLine& line, unsigned directiveStartPos, unsigned directiveEndPos); + ExtractIncludeFilename(const ParserLine& line, size_t includeDirectivePosition, size_t& filenameStartPosition, size_t& filenameEndPosition); + _NODISCARD bool MatchIncludeDirective(const ParserLine& line, size_t directiveStartPos, size_t directiveEndPos) const; + _NODISCARD bool MatchPragmaOnceDirective(const ParserLine& line, size_t directiveStartPos, size_t directiveEndPos); _NODISCARD bool MatchDirectives(const ParserLine& line); public: diff --git a/src/Parser/Parsing/Impl/PackDefinitionStreamProxy.cpp b/src/Parser/Parsing/Impl/PackDefinitionStreamProxy.cpp index 85bfc424..eef2730d 100644 --- a/src/Parser/Parsing/Impl/PackDefinitionStreamProxy.cpp +++ b/src/Parser/Parsing/Impl/PackDefinitionStreamProxy.cpp @@ -7,7 +7,7 @@ PackDefinitionStreamProxy::PackDefinitionStreamProxy(IParserLineStream* stream) { } -bool PackDefinitionStreamProxy::MatchPackDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) +bool PackDefinitionStreamProxy::MatchPackDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) { auto packValue = 0; auto currentPosition = directiveStartPosition; @@ -60,7 +60,7 @@ bool PackDefinitionStreamProxy::MatchPackDirective(const ParserLine& line, const bool PackDefinitionStreamProxy::MatchDirectives(const ParserLine& line) { - unsigned directiveStartPos, directiveEndPos; + size_t directiveStartPos, directiveEndPos; if (!FindDirective(line, directiveStartPos, directiveEndPos)) return false; diff --git a/src/Parser/Parsing/Impl/PackDefinitionStreamProxy.h b/src/Parser/Parsing/Impl/PackDefinitionStreamProxy.h index 73730ff6..4feb73a6 100644 --- a/src/Parser/Parsing/Impl/PackDefinitionStreamProxy.h +++ b/src/Parser/Parsing/Impl/PackDefinitionStreamProxy.h @@ -21,7 +21,7 @@ private: IParserLineStream* const m_stream; std::stack m_current_pack; - _NODISCARD bool MatchPackDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition); + _NODISCARD bool MatchPackDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition); _NODISCARD bool MatchDirectives(const ParserLine& line); public: diff --git a/src/RawTemplater/Templating/SetDefineStreamProxy.cpp b/src/RawTemplater/Templating/SetDefineStreamProxy.cpp index 5c459e0f..44792a12 100644 --- a/src/RawTemplater/Templating/SetDefineStreamProxy.cpp +++ b/src/RawTemplater/Templating/SetDefineStreamProxy.cpp @@ -15,7 +15,7 @@ void SetDefineStreamProxy::SetDefinesProxy(DefinesStreamProxy* definesProxy) m_defines_proxy = definesProxy; } -bool SetDefineStreamProxy::MatchSetDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) const +bool SetDefineStreamProxy::MatchSetDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) const { auto currentPosition = directiveStartPosition; @@ -59,7 +59,7 @@ bool SetDefineStreamProxy::MatchSetDirective(const ParserLine& line, const unsig bool SetDefineStreamProxy::MatchDirectives(const ParserLine& line) const { - unsigned directiveStartPos, directiveEndPos; + size_t directiveStartPos, directiveEndPos; if (!FindDirective(line, directiveStartPos, directiveEndPos)) return false; diff --git a/src/RawTemplater/Templating/SetDefineStreamProxy.h b/src/RawTemplater/Templating/SetDefineStreamProxy.h index 03bbb448..9051ceee 100644 --- a/src/RawTemplater/Templating/SetDefineStreamProxy.h +++ b/src/RawTemplater/Templating/SetDefineStreamProxy.h @@ -22,7 +22,7 @@ namespace templating private: static constexpr const char* SET_DIRECTIVE = "set"; - _NODISCARD bool MatchSetDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition) const; + _NODISCARD bool MatchSetDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition) const; _NODISCARD bool MatchDirectives(const ParserLine& line) const; IParserLineStream* const m_stream; diff --git a/src/RawTemplater/Templating/TemplatingStreamProxy.cpp b/src/RawTemplater/Templating/TemplatingStreamProxy.cpp index 63fe872c..9000308b 100644 --- a/src/RawTemplater/Templating/TemplatingStreamProxy.cpp +++ b/src/RawTemplater/Templating/TemplatingStreamProxy.cpp @@ -18,7 +18,7 @@ void TemplatingStreamProxy::SetDefinesProxy(DefinesStreamProxy* definesProxy) m_defines_proxy = definesProxy; } -bool TemplatingStreamProxy::MatchSwitchDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) const +bool TemplatingStreamProxy::MatchSwitchDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) const { auto currentPosition = directiveStartPosition; @@ -43,7 +43,7 @@ bool TemplatingStreamProxy::MatchSwitchDirective(const ParserLine& line, const u return true; } -bool TemplatingStreamProxy::MatchOptionsDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) const +bool TemplatingStreamProxy::MatchOptionsDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) const { auto currentPosition = directiveStartPosition; @@ -93,7 +93,7 @@ bool TemplatingStreamProxy::MatchOptionsDirective(const ParserLine& line, const return true; } -bool TemplatingStreamProxy::MatchFilenameDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) const +bool TemplatingStreamProxy::MatchFilenameDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) const { auto currentPosition = directiveStartPosition; @@ -128,7 +128,7 @@ bool TemplatingStreamProxy::MatchFilenameDirective(const ParserLine& line, const return true; } -bool TemplatingStreamProxy::MatchSkipDirective(const ParserLine& line, const unsigned directiveStartPosition, const unsigned directiveEndPosition) const +bool TemplatingStreamProxy::MatchSkipDirective(const ParserLine& line, const size_t directiveStartPosition, const size_t directiveEndPosition) const { auto currentPosition = directiveStartPosition; @@ -146,7 +146,7 @@ bool TemplatingStreamProxy::MatchSkipDirective(const ParserLine& line, const uns bool TemplatingStreamProxy::MatchDirectives(const ParserLine& line) const { - unsigned directiveStartPos, directiveEndPos; + size_t directiveStartPos, directiveEndPos; if (!FindDirective(line, directiveStartPos, directiveEndPos)) return false; diff --git a/src/RawTemplater/Templating/TemplatingStreamProxy.h b/src/RawTemplater/Templating/TemplatingStreamProxy.h index 81afe1f9..7856abec 100644 --- a/src/RawTemplater/Templating/TemplatingStreamProxy.h +++ b/src/RawTemplater/Templating/TemplatingStreamProxy.h @@ -43,10 +43,10 @@ namespace templating static constexpr const char* FILENAME_DIRECTIVE = "filename"; static constexpr const char* SKIP_DIRECTIVE = "skip"; - _NODISCARD bool MatchSwitchDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition) const; - _NODISCARD bool MatchOptionsDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition) const; - _NODISCARD bool MatchFilenameDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition) const; - _NODISCARD bool MatchSkipDirective(const ParserLine& line, unsigned directiveStartPosition, unsigned directiveEndPosition) const; + _NODISCARD bool MatchSwitchDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition) const; + _NODISCARD bool MatchOptionsDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition) const; + _NODISCARD bool MatchFilenameDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition) const; + _NODISCARD bool MatchSkipDirective(const ParserLine& line, size_t directiveStartPosition, size_t directiveEndPosition) const; _NODISCARD bool MatchDirectives(const ParserLine& line) const; IParserLineStream* const m_stream; diff --git a/src/ZoneCommon/Zone/XChunk/AbstractSalsa20Processor.cpp b/src/ZoneCommon/Zone/XChunk/AbstractSalsa20Processor.cpp index 60451a69..a89f6bc7 100644 --- a/src/ZoneCommon/Zone/XChunk/AbstractSalsa20Processor.cpp +++ b/src/ZoneCommon/Zone/XChunk/AbstractSalsa20Processor.cpp @@ -22,7 +22,7 @@ uint8_t* AbstractSalsa20Processor::GetHashBlock(const int streamNumber) const void AbstractSalsa20Processor::InitStreams(const std::string& zoneName, const uint8_t* salsa20Key, const size_t keySize) const { // Original buffer must have been 32 bytes because the zoneName can at most be 31 characters be long before being cut off - const auto zoneNameLength = std::min(zoneName.length(), 31u); + const auto zoneNameLength = std::min(zoneName.length(), 31uz); const size_t blockHashBufferSize = BLOCK_HASHES_COUNT * m_stream_count * SHA1_HASH_SIZE; diff --git a/test/ObjCommonTestUtils/SearchPath/MockSearchPath.cpp b/test/ObjCommonTestUtils/SearchPath/MockSearchPath.cpp index e34dff34..8df20c3c 100644 --- a/test/ObjCommonTestUtils/SearchPath/MockSearchPath.cpp +++ b/test/ObjCommonTestUtils/SearchPath/MockSearchPath.cpp @@ -14,7 +14,7 @@ SearchPathOpenFile MockSearchPath::Open(const std::string& fileName) if (foundFileData == m_file_data_map.end()) return {}; - return {std::make_unique(foundFileData->second), foundFileData->second.size()}; + return {std::make_unique(foundFileData->second), static_cast(foundFileData->second.size())}; } const std::string& MockSearchPath::GetPath()