From f3b175ab08811865ca8a307e04b9a4782dd355c1 Mon Sep 17 00:00:00 2001 From: Jan Date: Sat, 6 Aug 2022 18:59:13 +0200 Subject: [PATCH] Handle material alphatest gt0 --- .../Game/IW4/AssetLoaders/AssetLoaderMaterial.cpp | 2 ++ .../Game/IW4/AssetDumpers/AssetDumperMaterial.cpp | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMaterial.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMaterial.cpp index a2d9de3e..e26f623b 100644 --- a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMaterial.cpp +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMaterial.cpp @@ -412,6 +412,8 @@ namespace IW4 SetAlphaTest(AlphaTest_e::ALWAYS); else if (alphaTest == GDT_ALPHA_TEST_GE128) SetAlphaTest(AlphaTest_e::GE128); + else if (alphaTest == GDT_ALPHA_TEST_GT0) // TODO: This is not available for IW3 + SetAlphaTest(AlphaTest_e::GT0); else { std::ostringstream ss; diff --git a/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperMaterial.cpp b/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperMaterial.cpp index 9ec38c23..bcd74c69 100644 --- a/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperMaterial.cpp +++ b/src/ObjWriting/Game/IW4/AssetDumpers/AssetDumperMaterial.cpp @@ -1033,11 +1033,11 @@ namespace IW4 { if (stateBits.loadBits[0] & GFXS0_ATEST_DISABLE) m_state_bits_info.m_alpha_test = AlphaTest_e::ALWAYS; - else if (stateBits.loadBits[0] & GFXS0_ATEST_GE_128) + else if ((stateBits.loadBits[0] & GFXS0_ATEST_MASK) == GFXS0_ATEST_GE_128) m_state_bits_info.m_alpha_test = AlphaTest_e::GE128; - else if (stateBits.loadBits[0] & GFXS0_ATEST_GT_0) + else if ((stateBits.loadBits[0] & GFXS0_ATEST_MASK) == GFXS0_ATEST_GT_0) m_state_bits_info.m_alpha_test = AlphaTest_e::GT0; - else if (stateBits.loadBits[0] & GFXS0_ATEST_LT_128) + else if ((stateBits.loadBits[0] & GFXS0_ATEST_MASK) == GFXS0_ATEST_LT_128) m_state_bits_info.m_alpha_test = AlphaTest_e::LT128; else assert(false);