diff --git a/src/games/tekken8/addon.cpp b/src/games/tekken8/addon.cpp index 0d8cf8e5..b9b19ed1 100644 --- a/src/games/tekken8/addon.cpp +++ b/src/games/tekken8/addon.cpp @@ -216,12 +216,13 @@ BOOL APIENTRY DllMain(HMODULE h_module, DWORD fdw_reason, LPVOID lpv_reserved) { return device->get_api() == reshade::api::device_api::d3d12; }; renodx::mods::swapchain::SetUseHDR10(true); - renodx::mods::shader::force_pipeline_cloning = true; renodx::mods::shader::expected_constant_buffer_space = 50; + renodx::mods::shader::expected_constant_buffer_index = 13; + // renodx::mods::shader::allow_multiple_push_constants = true; /* renodx::mods::swapchain::use_resize_buffer = true; - renodx::mods::swapchain::use_resize_buffer_on_demand = true; - renodx::mods::swapchain::force_borderless = false; - renodx::mods::swapchain::prevent_full_screen = false; */ + renodx::mods::swapchain::use_resize_buffer_on_demand = true; */ + renodx::mods::swapchain::force_borderless = true; + renodx::mods::swapchain::prevent_full_screen = true; /* renodx::mods::swapchain::swap_chain_upgrade_targets.push_back({ .old_format = reshade::api::format::r8g8b8a8_unorm, diff --git a/src/games/tekken8/lutbuilder_0x3028EBE7.ps_6_6.hlsl b/src/games/tekken8/lutbuilder_0x3028EBE7.ps_6_6.hlsl index 8eef7839..c961b243 100644 --- a/src/games/tekken8/lutbuilder_0x3028EBE7.ps_6_6.hlsl +++ b/src/games/tekken8/lutbuilder_0x3028EBE7.ps_6_6.hlsl @@ -1,4 +1,5 @@ #include "./common.hlsl" +#include "./shared.h" Texture2D Textures_1 : register(t0); @@ -194,9 +195,6 @@ float4 main( nointerpolation uint SV_RenderTargetArrayIndex: SV_RenderTargetArrayIndex) : SV_Target { float4 SV_Target; - // CustomEdit - uint output_type = cb0_042w; - bool shouldTonemap = ShouldTonemap(output_type); float _10[6]; float _11[6]; @@ -405,11 +403,12 @@ float4 main( float _789 = ((_675 * ((((cb0_019x) + (cb0_034x)) + _572) + ((((cb0_018x) * (cb0_033x)) * _581) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_031x)) * _599) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_030x)) * _608) * _499) + _425))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_032x)) * _590)))))))) + (_563 * ((((cb0_019x) + (cb0_024x)) + _439) + ((((cb0_018x) * (cb0_023x)) * _453) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_021x)) * _481) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_020x)) * _495) * _499) + _425))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_022x)) * _467))))))))) + (((((cb0_019x) + (cb0_029x)) + _684) + ((((cb0_018x) * (cb0_028x)) * _693) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_026x)) * _711) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_025x)) * _720) * _499) + _425))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_027x)) * _702))))))) * _778); float _791 = ((_675 * ((((cb0_019y) + (cb0_034y)) + _572) + ((((cb0_018y) * (cb0_033y)) * _581) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_031y)) * _599) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_030y)) * _608) * _500) + _425))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_032y)) * _590)))))))) + (_563 * ((((cb0_019y) + (cb0_024y)) + _439) + ((((cb0_018y) * (cb0_023y)) * _453) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_021y)) * _481) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_020y)) * _495) * _500) + _425))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_022y)) * _467))))))))) + (((((cb0_019y) + (cb0_029y)) + _684) + ((((cb0_018y) * (cb0_028y)) * _693) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_026y)) * _711) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_025y)) * _720) * _500) + _425))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_027y)) * _702))))))) * _778); float _793 = ((_675 * ((((cb0_019z) + (cb0_034z)) + _572) + ((((cb0_018z) * (cb0_033z)) * _581) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_031z)) * _599) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_030z)) * _608) * _501) + _425))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_032z)) * _590)))))))) + (_563 * ((((cb0_019z) + (cb0_024z)) + _439) + ((((cb0_018z) * (cb0_023z)) * _453) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_021z)) * _481) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_020z)) * _495) * _501) + _425))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_022z)) * _467))))))))) + (((((cb0_019z) + (cb0_029z)) + _684) + ((((cb0_018z) * (cb0_028z)) * _693) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_026z)) * _711) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_025z)) * _720) * _501) + _425))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_027z)) * _702))))))) * _778); + + float3 untonemapped_ap1 = float3(_789, _791, _793); // CustomEdit + float _829 = (((mad(0.061360642313957214f, _793, (mad(-4.540197551250458e-09f, _791, (_789 * 0.9386394023895264f))))) - _789) * (cb0_038z)) + _789; float _830 = (((mad(0.169205904006958f, _793, (mad(0.8307942152023315f, _791, (_789 * 6.775371730327606e-08f))))) - _791) * (cb0_038z)) + _791; float _831 = ((mad(-2.3283064365386963e-10f, _791, (_789 * -9.313225746154785e-10f))) * (cb0_038z)) + _793; - float3 untonemapped_ap1 = float3(_829, _830, _831); // CustomEdit - float _834 = mad(0.16386905312538147f, _831, (mad(0.14067868888378143f, _830, (_829 * 0.6954522132873535f)))); float _837 = mad(0.0955343246459961f, _831, (mad(0.8596711158752441f, _830, (_829 * 0.044794581830501556f)))); float _840 = mad(1.0015007257461548f, _831, (mad(0.004025210160762072f, _830, (_829 * -0.005525882821530104f)))); @@ -547,17 +546,13 @@ float4 main( float _1318 = (((cb0_013x)-_1309) * (cb0_013w)) + _1309; float _1319 = (((cb0_013y)-_1310) * (cb0_013w)) + _1310; float _1320 = (((cb0_013z)-_1311) * (cb0_013w)) + _1311; - float gamma = cb0_042y; - if (shouldTonemap) { - gamma = DEFAULT_GAMMA; - } - float _1332 = exp2(((log2((max(0.0f, _1306)))) * (gamma))); - float _1333 = exp2(((log2((max(0.0f, _1307)))) * (gamma))); - float _1334 = exp2(((log2((max(0.0f, _1308)))) * (gamma))); + float _1332 = exp2(((log2((max(0.0f, _1306)))) * (cb0_042y))); + float _1333 = exp2(((log2((max(0.0f, _1307)))) * (cb0_042y))); + float _1334 = exp2(((log2((max(0.0f, _1308)))) * (cb0_042y))); + // CustomEdit - float3 film_graded_color = float3(_1332, _1333, _1334); - if (shouldTonemap) { - return LutBuilderToneMap(untonemapped_ap1, film_graded_color); + if (injectedData.toneMapType != 0) { + return LutBuilderToneMap(untonemapped_ap1, float3(_1332, _1333, _1334)); } if (((((uint)(cb0_042w)) == 0))) { diff --git a/src/games/tekken8/lutbuilder_0x4F3FCE76.ps_6_6.hlsl b/src/games/tekken8/lutbuilder_0x4F3FCE76.ps_6_6.hlsl index 34c8ce1a..37ab7c92 100644 --- a/src/games/tekken8/lutbuilder_0x4F3FCE76.ps_6_6.hlsl +++ b/src/games/tekken8/lutbuilder_0x4F3FCE76.ps_6_6.hlsl @@ -1,4 +1,5 @@ #include "./common.hlsl" +#include "./shared.h" cbuffer cb0 : register(b0) { float cb0_008x : packoffset(c008.x); @@ -188,9 +189,6 @@ float4 main( nointerpolation uint SV_RenderTargetArrayIndex: SV_RenderTargetArrayIndex) : SV_Target { float4 SV_Target; - // CustomEdit - uint output_type = cb0_042w; - bool shouldTonemap = ShouldTonemap(output_type); float _8[6]; float _9[6]; @@ -396,10 +394,12 @@ float4 main( float _787 = ((_673 * ((((cb0_019x) + (cb0_034x)) + _570) + ((((cb0_018x) * (cb0_033x)) * _579) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_031x)) * _597) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_030x)) * _606) * _497) + _423))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_032x)) * _588)))))))) + (_561 * ((((cb0_019x) + (cb0_024x)) + _437) + ((((cb0_018x) * (cb0_023x)) * _451) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_021x)) * _479) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_020x)) * _493) * _497) + _423))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_022x)) * _465))))))))) + (((((cb0_019x) + (cb0_029x)) + _682) + ((((cb0_018x) * (cb0_028x)) * _691) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_026x)) * _709) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_025x)) * _718) * _497) + _423))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_027x)) * _700))))))) * _776); float _789 = ((_673 * ((((cb0_019y) + (cb0_034y)) + _570) + ((((cb0_018y) * (cb0_033y)) * _579) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_031y)) * _597) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_030y)) * _606) * _498) + _423))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_032y)) * _588)))))))) + (_561 * ((((cb0_019y) + (cb0_024y)) + _437) + ((((cb0_018y) * (cb0_023y)) * _451) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_021y)) * _479) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_020y)) * _493) * _498) + _423))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_022y)) * _465))))))))) + (((((cb0_019y) + (cb0_029y)) + _682) + ((((cb0_018y) * (cb0_028y)) * _691) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_026y)) * _709) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_025y)) * _718) * _498) + _423))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_027y)) * _700))))))) * _776); float _791 = ((_673 * ((((cb0_019z) + (cb0_034z)) + _570) + ((((cb0_018z) * (cb0_033z)) * _579) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_031z)) * _597) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_030z)) * _606) * _499) + _423))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_032z)) * _588)))))))) + (_561 * ((((cb0_019z) + (cb0_024z)) + _437) + ((((cb0_018z) * (cb0_023z)) * _451) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_021z)) * _479) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_020z)) * _493) * _499) + _423))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_022z)) * _465))))))))) + (((((cb0_019z) + (cb0_029z)) + _682) + ((((cb0_018z) * (cb0_028z)) * _691) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_026z)) * _709) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_025z)) * _718) * _499) + _423))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_027z)) * _700))))))) * _776); + + float3 untonemapped_ap1 = float3(_787, _789, _791); // CustomEdit + float _827 = (((mad(0.061360642313957214f, _791, (mad(-4.540197551250458e-09f, _789, (_787 * 0.9386394023895264f))))) - _787) * (cb0_038z)) + _787; float _828 = (((mad(0.169205904006958f, _791, (mad(0.8307942152023315f, _789, (_787 * 6.775371730327606e-08f))))) - _789) * (cb0_038z)) + _789; float _829 = ((mad(-2.3283064365386963e-10f, _789, (_787 * -9.313225746154785e-10f))) * (cb0_038z)) + _791; - float3 untonemapped_ap1 = float3(_827, _828, _829); // CustomEdit float _832 = mad(0.16386905312538147f, _829, (mad(0.14067868888378143f, _828, (_827 * 0.6954522132873535f)))); float _835 = mad(0.0955343246459961f, _829, (mad(0.8596711158752441f, _828, (_827 * 0.044794581830501556f)))); @@ -514,18 +514,13 @@ float4 main( float _1210 = (((cb0_013x)-_1201) * (cb0_013w)) + _1201; float _1211 = (((cb0_013y)-_1202) * (cb0_013w)) + _1202; float _1212 = (((cb0_013z)-_1203) * (cb0_013w)) + _1203; - float gamma = cb0_042y; - if (shouldTonemap) { - gamma = DEFAULT_GAMMA; - } - float _1224 = exp2(((log2((max(0.0f, _1198)))) * (gamma))); - float _1225 = exp2(((log2((max(0.0f, _1199)))) * (gamma))); - float _1226 = exp2(((log2((max(0.0f, _1200)))) * (gamma))); + float _1224 = exp2(((log2((max(0.0f, _1198)))) * (cb0_042y))); + float _1225 = exp2(((log2((max(0.0f, _1199)))) * (cb0_042y))); + float _1226 = exp2(((log2((max(0.0f, _1200)))) * (cb0_042y))); // CustomEdit - float3 film_graded_color = float3(_1224, _1225, _1226); - if (shouldTonemap) { - return LutBuilderToneMap(untonemapped_ap1, film_graded_color); + if (injectedData.toneMapType != 0) { + return float4(LutBuilderToneMap(untonemapped_ap1, float3(_1224, _1225, _1226)).rgb, 0); } if (((((uint)(cb0_042w)) == 0))) { diff --git a/src/games/tekken8/lutbuilder_0x94D26E3A.ps_6_6.hlsl b/src/games/tekken8/lutbuilder_0x94D26E3A.ps_6_6.hlsl index ff210d08..433b09b8 100644 --- a/src/games/tekken8/lutbuilder_0x94D26E3A.ps_6_6.hlsl +++ b/src/games/tekken8/lutbuilder_0x94D26E3A.ps_6_6.hlsl @@ -1,4 +1,5 @@ #include "./common.hlsl" +#include "./shared.h" Texture2D Textures_1 : register(t0); @@ -173,9 +174,6 @@ float4 main( nointerpolation uint SV_RenderTargetArrayIndex: SV_RenderTargetArrayIndex) : SV_Target { float4 SV_Target; - // CustomEdit - uint output_type = cb0_042w; - bool shouldTonemap = ShouldTonemap(output_type); float _10[6]; float _11[6]; @@ -318,10 +316,12 @@ float4 main( float _536 = ((_422 * ((((cb0_019x) + (cb0_034x)) + _319) + ((((cb0_018x) * (cb0_033x)) * _328) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_031x)) * _346) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_030x)) * _355) * _246) + _172))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_032x)) * _337)))))))) + (_310 * ((((cb0_019x) + (cb0_024x)) + _186) + ((((cb0_018x) * (cb0_023x)) * _200) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_021x)) * _228) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_020x)) * _242) * _246) + _172))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_022x)) * _214))))))))) + (((((cb0_019x) + (cb0_029x)) + _431) + ((((cb0_018x) * (cb0_028x)) * _440) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_026x)) * _458) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_025x)) * _467) * _246) + _172))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_027x)) * _449))))))) * _525); float _538 = ((_422 * ((((cb0_019y) + (cb0_034y)) + _319) + ((((cb0_018y) * (cb0_033y)) * _328) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_031y)) * _346) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_030y)) * _355) * _247) + _172))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_032y)) * _337)))))))) + (_310 * ((((cb0_019y) + (cb0_024y)) + _186) + ((((cb0_018y) * (cb0_023y)) * _200) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_021y)) * _228) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_020y)) * _242) * _247) + _172))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_022y)) * _214))))))))) + (((((cb0_019y) + (cb0_029y)) + _431) + ((((cb0_018y) * (cb0_028y)) * _440) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_026y)) * _458) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_025y)) * _467) * _247) + _172))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_027y)) * _449))))))) * _525); float _540 = ((_422 * ((((cb0_019z) + (cb0_034z)) + _319) + ((((cb0_018z) * (cb0_033z)) * _328) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_031z)) * _346) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_030z)) * _355) * _248) + _172))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_032z)) * _337)))))))) + (_310 * ((((cb0_019z) + (cb0_024z)) + _186) + ((((cb0_018z) * (cb0_023z)) * _200) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_021z)) * _228) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_020z)) * _242) * _248) + _172))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_022z)) * _214))))))))) + (((((cb0_019z) + (cb0_029z)) + _431) + ((((cb0_018z) * (cb0_028z)) * _440) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_026z)) * _458) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_025z)) * _467) * _248) + _172))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_027z)) * _449))))))) * _525); + + float3 untonemapped_ap1 = float3(_536, _538, _540); // CustomEdit + float _576 = (((mad(0.061360642313957214f, _540, (mad(-4.540197551250458e-09f, _538, (_536 * 0.9386394023895264f))))) - _536) * (cb0_038z)) + _536; float _577 = (((mad(0.169205904006958f, _540, (mad(0.8307942152023315f, _538, (_536 * 6.775371730327606e-08f))))) - _538) * (cb0_038z)) + _538; float _578 = ((mad(-2.3283064365386963e-10f, _538, (_536 * -9.313225746154785e-10f))) * (cb0_038z)) + _540; - float3 untonemapped_ap1 = float3(_576, _577, _578); // CustomEdit float _581 = mad(0.16386905312538147f, _578, (mad(0.14067868888378143f, _577, (_576 * 0.6954522132873535f)))); float _584 = mad(0.0955343246459961f, _578, (mad(0.8596711158752441f, _577, (_576 * 0.044794581830501556f)))); @@ -460,18 +460,15 @@ float4 main( float _1065 = (((cb0_013x)-_1056) * (cb0_013w)) + _1056; float _1066 = (((cb0_013y)-_1057) * (cb0_013w)) + _1057; float _1067 = (((cb0_013z)-_1058) * (cb0_013w)) + _1058; - float gamma = cb0_042y; - if (shouldTonemap) { - gamma = DEFAULT_GAMMA; - } - float _1079 = exp2(((log2((max(0.0f, _1053)))) * (gamma))); - float _1080 = exp2(((log2((max(0.0f, _1054)))) * (gamma))); - float _1081 = exp2(((log2((max(0.0f, _1055)))) * (gamma))); + float _1079 = exp2(((log2((max(0.0f, _1053)))) * (cb0_042y))); + float _1080 = exp2(((log2((max(0.0f, _1054)))) * (cb0_042y))); + float _1081 = exp2(((log2((max(0.0f, _1055)))) * (cb0_042y))); + // CustomEdit - float3 film_graded_color = float3(_1079, _1080, _1081); - if (shouldTonemap) { - return LutBuilderToneMap(untonemapped_ap1, film_graded_color); + if (injectedData.toneMapType != 0) { + return LutBuilderToneMap(untonemapped_ap1, float3(_1079, _1080, _1081)); } + if (((((uint)(cb0_042w)) == 0))) { float _1087 = max((dot(float3(_1079, _1080, _1081), float3(0.2126390039920807f, 0.7151690125465393f, 0.0721919983625412f))), 9.999999747378752e-05f); float _1107 = ((((((bool)((_1087 < (cb0_036z)))) ? 0.0f : 1.0f)) * (((cb0_035y)-_1087) + ((-0.0f - (cb0_036x)) / ((cb0_035x) + _1087)))) + _1087) * (cb0_036y); diff --git a/src/games/tekken8/lutbuilder_0xB530B36A.ps_6_6.hlsl b/src/games/tekken8/lutbuilder_0xB530B36A.ps_6_6.hlsl index 0705fbe0..3464420c 100644 --- a/src/games/tekken8/lutbuilder_0xB530B36A.ps_6_6.hlsl +++ b/src/games/tekken8/lutbuilder_0xB530B36A.ps_6_6.hlsl @@ -1,4 +1,5 @@ #include "./common.hlsl" +#include "./shared.h" cbuffer cb0 : register(b0) { float cb0_008x : packoffset(c008.x); @@ -167,9 +168,6 @@ float4 main( nointerpolation uint SV_RenderTargetArrayIndex: SV_RenderTargetArrayIndex) : SV_Target { float4 SV_Target; - // CustomEdit - uint output_type = cb0_042w; - bool shouldTonemap = ShouldTonemap(output_type); float _8[6]; float _9[6]; @@ -309,11 +307,12 @@ float4 main( float _534 = ((_420 * ((((cb0_019x) + (cb0_034x)) + _317) + ((((cb0_018x) * (cb0_033x)) * _326) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_031x)) * _344) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_030x)) * _353) * _244) + _170))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_032x)) * _335)))))))) + (_308 * ((((cb0_019x) + (cb0_024x)) + _184) + ((((cb0_018x) * (cb0_023x)) * _198) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_021x)) * _226) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_020x)) * _240) * _244) + _170))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_022x)) * _212))))))))) + (((((cb0_019x) + (cb0_029x)) + _429) + ((((cb0_018x) * (cb0_028x)) * _438) * (exp2(((log2(((exp2(((((cb0_016x) * (cb0_026x)) * _456) * (log2(((max(0.0f, (((((cb0_015x) * (cb0_025x)) * _465) * _244) + _170))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017x) * (cb0_027x)) * _447))))))) * _523); float _536 = ((_420 * ((((cb0_019y) + (cb0_034y)) + _317) + ((((cb0_018y) * (cb0_033y)) * _326) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_031y)) * _344) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_030y)) * _353) * _245) + _170))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_032y)) * _335)))))))) + (_308 * ((((cb0_019y) + (cb0_024y)) + _184) + ((((cb0_018y) * (cb0_023y)) * _198) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_021y)) * _226) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_020y)) * _240) * _245) + _170))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_022y)) * _212))))))))) + (((((cb0_019y) + (cb0_029y)) + _429) + ((((cb0_018y) * (cb0_028y)) * _438) * (exp2(((log2(((exp2(((((cb0_016y) * (cb0_026y)) * _456) * (log2(((max(0.0f, (((((cb0_015y) * (cb0_025y)) * _465) * _245) + _170))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017y) * (cb0_027y)) * _447))))))) * _523); float _538 = ((_420 * ((((cb0_019z) + (cb0_034z)) + _317) + ((((cb0_018z) * (cb0_033z)) * _326) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_031z)) * _344) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_030z)) * _353) * _246) + _170))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_032z)) * _335)))))))) + (_308 * ((((cb0_019z) + (cb0_024z)) + _184) + ((((cb0_018z) * (cb0_023z)) * _198) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_021z)) * _226) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_020z)) * _240) * _246) + _170))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_022z)) * _212))))))))) + (((((cb0_019z) + (cb0_029z)) + _429) + ((((cb0_018z) * (cb0_028z)) * _438) * (exp2(((log2(((exp2(((((cb0_016z) * (cb0_026z)) * _456) * (log2(((max(0.0f, (((((cb0_015z) * (cb0_025z)) * _465) * _246) + _170))) * 5.55555534362793f)))))) * 0.18000000715255737f))) * (1.0f / (((cb0_017z) * (cb0_027z)) * _447))))))) * _523); + + float3 untonemapped_ap1 = float3(_534, _536, _538); // CustomEdit + float _574 = (((mad(0.061360642313957214f, _538, (mad(-4.540197551250458e-09f, _536, (_534 * 0.9386394023895264f))))) - _534) * (cb0_038z)) + _534; float _575 = (((mad(0.169205904006958f, _538, (mad(0.8307942152023315f, _536, (_534 * 6.775371730327606e-08f))))) - _536) * (cb0_038z)) + _536; float _576 = ((mad(-2.3283064365386963e-10f, _536, (_534 * -9.313225746154785e-10f))) * (cb0_038z)) + _538; - float3 untonemapped_ap1 = float3(_574, _575, _576); // CustomEdit - float _579 = mad(0.16386905312538147f, _576, (mad(0.14067868888378143f, _575, (_574 * 0.6954522132873535f)))); float _582 = mad(0.0955343246459961f, _576, (mad(0.8596711158752441f, _575, (_574 * 0.044794581830501556f)))); float _585 = mad(1.0015007257461548f, _576, (mad(0.004025210160762072f, _575, (_574 * -0.005525882821530104f)))); @@ -427,21 +426,13 @@ float4 main( float _957 = (((cb0_013x)-_948) * (cb0_013w)) + _948; float _958 = (((cb0_013y)-_949) * (cb0_013w)) + _949; float _959 = (((cb0_013z)-_950) * (cb0_013w)) + _950; - float gamma = cb0_042y; - if (shouldTonemap) { - gamma = DEFAULT_GAMMA; - } - /* float _971 = exp2(((log2((max(0.0f, _945)))) * (cb0_042y))); + float _971 = exp2(((log2((max(0.0f, _945)))) * (cb0_042y))); float _972 = exp2(((log2((max(0.0f, _946)))) * (cb0_042y))); - float _973 = exp2(((log2((max(0.0f, _947)))) * (cb0_042y))); */ - float _971 = exp2(((log2((max(0.0f, _945)))) * (gamma))); - float _972 = exp2(((log2((max(0.0f, _946)))) * (gamma))); - float _973 = exp2(((log2((max(0.0f, _947)))) * (gamma))); + float _973 = exp2(((log2((max(0.0f, _947)))) * (cb0_042y))); // CustomEdit - float3 film_graded_color = float3(_971, _972, _973); - if (shouldTonemap) { - return LutBuilderToneMap(untonemapped_ap1, film_graded_color); + if (injectedData.toneMapType != 0) { + return LutBuilderToneMap(untonemapped_ap1, float3(_971, _972, _973)); } if (((((uint)(cb0_042w)) == 0))) { @@ -567,13 +558,13 @@ float4 main( float _1298 = _1295 - (float(_1296)); float _1299 = _1298 * _1298; float _1300 = _1299 * _1298; - if (((_1296 == 3))) { + if (_1296 == 3) { _1328 = (((0.1666666716337204f - (_1298 * 0.5f)) + (_1299 * 0.5f)) - (_1300 * 0.1666666716337204f)); } else { - if (((_1296 == 2))) { + if (_1296 == 2) { _1328 = ((0.6666666865348816f - _1299) + (_1300 * 0.5f)); } else { - if (((_1296 == 1))) { + if (_1296 == 1) { _1328 = (((_1300 * -0.5f) + 0.1666666716337204f) + ((_1299 + _1298) * 0.5f)); } else { _1328 = ((((bool)((_1296 == 0))) ? (_1300 * 0.1666666716337204f) : 0.0f)); @@ -808,13 +799,13 @@ float4 main( float _1872 = _1869 - (float(_1870)); float _1873 = _1872 * _1872; float _1874 = _1873 * _1872; - if (((_1870 == 3))) { + if (_1870 == 3) { _1902 = (((0.1666666716337204f - (_1872 * 0.5f)) + (_1873 * 0.5f)) - (_1874 * 0.1666666716337204f)); } else { - if (((_1870 == 2))) { + if (_1870 == 2) { _1902 = ((0.6666666865348816f - _1873) + (_1874 * 0.5f)); } else { - if (((_1870 == 1))) { + if (_1870 == 1) { _1902 = (((_1874 * -0.5f) + 0.1666666716337204f) + ((_1873 + _1872) * 0.5f)); } else { _1902 = ((((bool)((_1870 == 0))) ? (_1874 * 0.1666666716337204f) : 0.0f)); diff --git a/src/games/tekken8/shared.h b/src/games/tekken8/shared.h index ad34edac..2d78d315 100644 --- a/src/games/tekken8/shared.h +++ b/src/games/tekken8/shared.h @@ -21,7 +21,7 @@ struct ShaderInjectData { float colorGradeSaturation; }; #ifndef __cplusplus -cbuffer injectedBuffer : register(b0, space50) { +cbuffer injectedBuffer : register(b13, space50) { ShaderInjectData injectedData : packoffset(c0); } #endif