2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-03-15 17:33:03 +00:00

chore: handle flag 80 on t6 techniques

This commit is contained in:
Jan Laupetin
2026-03-01 13:31:24 +01:00
parent dcd67adad4
commit 7ab9adc17c
7 changed files with 49 additions and 10 deletions

View File

@@ -317,11 +317,12 @@ namespace
if (arg.m_type.m_value_type == CommonShaderValueType::CODE_CONST)
{
auto constSourceInfo = m_code_source_infos.GetInfoForCodeConstSource(arg.m_value.code_const_source.m_index);
const auto isMatrix = constSourceInfo && constSourceInfo->transposedMatrix.has_value();
if (isTransposed)
{
assert(constSourceInfo);
if (constSourceInfo && constSourceInfo->transposedMatrix)
assert(isMatrix);
if (isMatrix)
constSourceInfo = m_code_source_infos.GetInfoForCodeConstSource(*constSourceInfo->transposedMatrix);
}
@@ -333,6 +334,10 @@ namespace
else
codeAccessor = std::format("{}[{}]", constSourceInfo->accessor, arg.m_value.code_const_source.m_index - constSourceInfo->value);
// Assert that the value uses 4 rows when matrix and 1 otherwise.
// If this is untrue, there must be more code handling the selected rows
assert((isMatrix && arg.m_value.code_const_source.m_row_count == 4) || arg.m_value.code_const_source.m_row_count == 1);
if (codeDestAccessor != codeAccessor)
{
Indent();