//Particles that interfere with autoconvergence. Majin Duu first special attack.
// ---- Created with geo-11 v0.6.198 on Mon Sep 22 19:29:18 2025
//Texture2D<float4> t1 : register(t1);
//
//Texture2D<float4> t0 : register(t0);
//
//SamplerState s1_s : register(s1);
//
//SamplerState s0_s : register(s0);
//
//cbuffer cb2 : register(b2)
//{
//  float4 cb2[9];
//}
//
//cbuffer cb1 : register(b1)
//{
//  float4 cb1[1];
//}
//
//cbuffer cb0 : register(b0)
//{
//  float4 cb0[154];
//}
//
//
//
//
//// 3Dmigoto declarations
//#define cmp -
//Texture1D<float4> IniParams : register(t120);
//Texture2D<float4> StereoParams : register(t125);
//
//
//void main(
//  float4 v0 : SV_Position0,
//  float4 v1 : TEXCOORD0,
//  float4 v2 : COLOR1,
//  nointerpolation float4 v3 : COLOR2,
//  float4 v4 : PARTICLE_LOCAL_TO_WORLD0,
//  float4 v5 : PARTICLE_LOCAL_TO_WORLD1,
//  float4 v6 : PARTICLE_LOCAL_TO_WORLD2,
//  uint v7 : SV_IsFrontFace0,
//  out float4 o0 : SV_Target0)
//{
//  float4 r0,r1;
//  uint4 bitmask, uiDest;
//  float4 fDest;
//  
//  float4 stereo = StereoParams.Load(0);
//  float4 iniparams10 = IniParams.Load(int2(10,0));
//  
//  if (iniparams10.y==1 && v0.w<180.0) {
//    discard;
//  }
//  
//  r0.xy = cb2[7].yz * v1.xy;
//  r0.xy = float2(10,10) * r0.xy;
//  r0.x = t1.SampleBias(s1_s, r0.xy, cb0[144].x).x;
//  r0.y = 1 + -v2.w;
//  r0.x = r0.x * r0.y;
//  r0.x = -r0.x * 10 + 1;
//  r0.x = max(0, r0.x);
//  r0.x = min(10, r0.x);
//  r0.yz = -cb0[128].xy + v0.xy;
//  r0.yz = cb0[153].xx + r0.yz;
//  r0.yz = (uint2)r0.yz;
//  r0.z = (uint)r0.z << 1;
//  r0.y = (int)r0.z + (int)r0.y;
//  r0.y = (uint)r0.y % 5;
//  r0.y = (uint)r0.y;
//  r0.x = r0.y * 0.166666672 + r0.x;
//  r0.y = r0.y * 0.166666672 + v2.w;
//  r0.xy = float2(-0.5,-0.5) + r0.xy;
//  r0.y = r0.y + -r0.x;
//  r0.x = cb2[7].w * r0.y + r0.x;
//  r0.y = asint(cb1[0].x) & 64;
//  r0.y = r0.y ? -1 : 1;
//  r0.y = cb0[142].w * r0.y;
//  r0.z = v7.x ? 1 : -1;
//  r0.y = r0.y * r0.z;
//  r0.zw = cb2[1].xy * v3.xy;
//  r0.zw = cb0[143].yy * r0.zw;
//  r0.zw = frac(r0.zw);
//  r1.x = v1.x * cb2[1].z + cb2[1].w;
//  r1.y = v1.y * cb2[2].x + cb2[2].y;
//  r0.zw = r1.xy + r0.zw;
//  r0.z = t0.SampleBias(s0_s, r0.zw, cb0[144].x).w;
//  r0.w = v2.w * r0.z;
//  r0.z = -r0.z * v2.w + r0.z;
//  r0.y = r0.y * r0.z + r0.w;
//  r0.x = r0.y * r0.x;
//  r1.x = v0.z;
//  r1.y = 1;
//  r0.yz = v0.ww * r1.xy;
//  r0.w = r0.y * cb0[71].z + -cb0[71].w;
//  r0.w = 1 / r0.w;
//  r0.y = r0.y * cb0[71].x + cb0[71].y;
//  r0.y = r0.y + r0.w;
//  r0.w = cmp(cb0[35].w < 1);
//  r0.y = r0.w ? r0.z : r0.y;
//  r0.y = saturate(cb2[8].y * r0.y);
//  r0.x = min(r0.x, r0.y);
//  r0.x = r0.x * cb2[8].z + -0.333299994;
//  r0.x = cmp(r0.x < 0);
//  if (r0.x != 0) discard;
//  o0.xyzw = float4(0,0,0,0);
//  return;
//}
//
///*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Mon Sep 22 19:29:18 2025
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xyzw
// TEXCOORD                 0   xyzw        1     NONE   float   xy
// COLOR                    1   xyzw        2     NONE   float      w
// COLOR                    2   xyzw        3     NONE   float   xy
// PARTICLE_LOCAL_TO_WORLD     0   xyzw        4     NONE   float
// PARTICLE_LOCAL_TO_WORLD     1   xyzw        5     NONE   float
// PARTICLE_LOCAL_TO_WORLD     2   xyzw        6     NONE   float
// SV_IsFrontFace           0   x           7    FFACE    uint   x
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[154], immediateIndexed
dcl_constantbuffer CB1[1], immediateIndexed
dcl_constantbuffer CB2[9], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_input_ps_siv linear noperspective v0.xyzw, position
dcl_input_ps linear v1.xy
dcl_input_ps linear v2.w
dcl_input_ps constant v3.xy
dcl_input_ps_sgv constant v7.x, is_front_face
dcl_output o0.xyzw
dcl_temps 12
dcl_resource_texture1d (float,float,float,float) t120
ld_indexable(texture1d)(float,float,float,float) r8.xyzw, l(10, 0, 0, 0), t120.xyzw

lt r10.x, v0.w, l(300.0)
eq r10.y, r8.y, l(1.0)
and r10.x, r10.x, r10.y
discard_nz r10.x

mul r0.xy, v1.xyxx, cb2[7].yzyy
mul r0.xy, r0.xyxx, l(10.000000, 10.000000, 0.000000, 0.000000)
sample_b_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.xyzw, s1, cb0[144].x
add r0.y, -v2.w, l(1.000000)
mul r0.x, r0.y, r0.x
mad r0.x, -r0.x, l(10.000000), l(1.000000)
max r0.x, r0.x, l(0.000000)
min r0.x, r0.x, l(10.000000)
add r0.yz, v0.xxyx, -cb0[128].xxyx
add r0.yz, r0.yyzy, cb0[153].xxxx
ftou r0.yz, r0.yyzy
ishl r0.z, r0.z, l(1)
iadd r0.y, r0.z, r0.y
udiv null, r0.y, r0.y, l(5)
utof r0.y, r0.y
mad r0.x, r0.y, l(0.166666672), r0.x
mad r0.y, r0.y, l(0.166666672), v2.w
add r0.xy, r0.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
add r0.y, -r0.x, r0.y
mad r0.x, cb2[7].w, r0.y, r0.x
and r0.y, cb1[0].x, l(64)
movc r0.y, r0.y, l(-1.000000), l(1.000000)
mul r0.y, r0.y, cb0[142].w
movc r0.z, v7.x, l(1.000000), l(-1.000000)
mul r0.y, r0.z, r0.y
mul r0.zw, v3.xxxy, cb2[1].xxxy
mul r0.zw, r0.zzzw, cb0[143].yyyy
frc r0.zw, r0.zzzw
mad r1.x, v1.x, cb2[1].z, cb2[1].w
mad r1.y, v1.y, cb2[2].x, cb2[2].y
add r0.zw, r0.zzzw, r1.xxxy
sample_b_indexable(texture2d)(float,float,float,float) r0.z, r0.zwzz, t0.xywz, s0, cb0[144].x
mul r0.w, r0.z, v2.w
mad r0.z, -r0.z, v2.w, r0.z
mad r0.y, r0.y, r0.z, r0.w
mul r0.x, r0.x, r0.y
mov r1.x, v0.z
mov r1.y, l(1.000000)
mul r0.yz, r1.xxyx, v0.wwww
mad r0.w, r0.y, cb0[71].z, -cb0[71].w
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
mad r0.y, r0.y, cb0[71].x, cb0[71].y
add r0.y, r0.w, r0.y
lt r0.w, cb0[35].w, l(1.000000)
movc r0.y, r0.w, r0.z, r0.y
mul_sat r0.y, r0.y, cb2[8].y
min r0.x, r0.y, r0.x
mad r0.x, r0.x, cb2[8].z, l(-0.333300)
lt r0.x, r0.x, l(0.000000)
discard_nz r0.x
mov o0.xyzw, l(0,0,0,0)
ret
// Approximately 0 instruction slots used
