// PAY DAY THE HEIST: SPECULAR REFLECTION ON BANK WALLS AND FLOORS
// HELIXMOD FIX BY MIKE_AR69
// Generated by Microsoft (R) HLSL Shader Compiler 9.24.950.2656
//
// Parameters:
//
//   float4x4 camera_inv_view_matrix;
//   float3 camera_unprojection;
//   float4x4 view_proj_matrix;
//
//
// Registers:
//
//   Name                   Reg   Size
//   ---------------------- ----- ----
//   view_proj_matrix       c0       4
//   camera_inv_view_matrix c4       3
//   camera_unprojection    c7       1
//

    vs_3_0
def c220, 0, 1, 0.0625, 0.5
dcl_2d s0   
	def c8, 1, 0, 0, 0
    dcl_position v0
    dcl_texcoord v1
    dcl_position o0
    dcl_texcoord o1.xy
    dcl_texcoord1 o2.xyz
	
    dp4 r4.w, v0, c3
    dp4 r4.x, v0, c0
    dp4 r4.y, v0, c1
    
mov r0, r4						//r0 is unshifted

mov r14.x, c250.x
if_eq r14.x, c220.x
	texldl r12, c220.z, s0 
	add r12.w, c220.y, r12.y  	//1+conv
	mul r12.w, r4.w, r12.w		//(depth*(1+conv)  Seems to work for relfection/shiny/specular stuff
	add r12.y, r12.w, -r12.y
	mul r12.x, r12.x, r12.y
	add r4.x, r4.x, -r12.x		//r4 is shifted
endif

	mov o0.xyw, r0.xyw
	mov o0.z, c8.x
	
	mul r1.xy, r4, c7			//FIX: r0-r4.  r1 is shifted
	
    mov r1.z, c8.x
    dp3 o2.x, r1, c4
    dp3 o2.y, r1, c5
    dp3 o2.z, r1, c6			//o2 is shifted because r1 is
    
    mov o1.xy, v1

// approximately 11 instruction slots used
 