From e62e4c873eeae6f6ae32050aa23a2e8b70b4045d Mon Sep 17 00:00:00 2001 From: Jan Date: Sun, 24 Mar 2024 16:57:47 +0100 Subject: [PATCH] fix: not loading t6 weapon camo shader consts from json --- src/ObjCommon/Game/T6/Json/JsonWeaponCamo.h | 6 +++++- src/ObjLoading/Game/T6/WeaponCamo/JsonWeaponCamoLoader.cpp | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ObjCommon/Game/T6/Json/JsonWeaponCamo.h b/src/ObjCommon/Game/T6/Json/JsonWeaponCamo.h index d8d89f53..eb9f72af 100644 --- a/src/ObjCommon/Game/T6/Json/JsonWeaponCamo.h +++ b/src/ObjCommon/Game/T6/Json/JsonWeaponCamo.h @@ -32,6 +32,8 @@ namespace T6 NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(JsonWeaponCamoMaterialOverride, baseMaterial, camoMaterial); + constexpr auto SHADER_CONST_COUNT = 8; + class JsonWeaponCamoMaterial { public: @@ -39,9 +41,11 @@ namespace T6 bool useNormalMap; bool useSpecularMap; std::vector materialOverrides; - std::array shaderConsts; + std::array shaderConsts; }; + static_assert(SHADER_CONST_COUNT == std::extent_v); + NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(JsonWeaponCamoMaterial, useColorMap, useNormalMap, useSpecularMap, materialOverrides, shaderConsts); class JsonWeaponCamoMaterialSet diff --git a/src/ObjLoading/Game/T6/WeaponCamo/JsonWeaponCamoLoader.cpp b/src/ObjLoading/Game/T6/WeaponCamo/JsonWeaponCamoLoader.cpp index f929540f..a455fc54 100644 --- a/src/ObjLoading/Game/T6/WeaponCamo/JsonWeaponCamoLoader.cpp +++ b/src/ObjLoading/Game/T6/WeaponCamo/JsonWeaponCamoLoader.cpp @@ -132,6 +132,9 @@ namespace weaponCamoMaterial.camoMaterials = nullptr; } + for (auto i = 0u; i < std::extent_v; i++) + weaponCamoMaterial.shaderConsts[i] = jWeaponCamoMaterial.shaderConsts[i]; + return true; }