// Brain load screen backdrop

   	vs_3_0

	def c200, 666, 999, 0, 8000
	def c201, 1,0,1,1	// hot pink

	dcl_position v0
    dcl_normal v1
    dcl_texcoord v3
    
	dcl_position o0
	dcl_color o1
	dcl_texcoord o2

	mov r11, v0
    mov r1, v1
    
	// Original sequence
	//  m4x4 r4, v0, c6
    //  add oPos, r4, c50
		
	m4x4 r4, v0, c6
	add r4, r4, c50

	// At this point, r4 is the output position

	// Check for key which toggles effect on/off.
	// If it's off, skip fixing the texture so we can see it.
	mov r30.x, c250.x
	if_eq r30.x, c200.x

		// If the current texture is on the Val Defined list, we want 
		// to move the vertex out to sky level to fix a glitch.
		mov r30, c251.x
		if_eq r30.x, c200.x
			mul r4, r4, c200.w
		endif
	endif

	// Send vertex, changed or not, to the output
	mov o0, r4
    
	// Default path, assume that we aren't going pinkify the output color
	add r7, c10, -r11
    dp3 r4.w, r7, r7
    rsq r7.w, r4.w
    mul r7.xyz, r7, r7.w
    dp3 r5.x, r1, r7
    max r5.x, r5.x, -r5.x
    max r5.x, r5.x, c0.x
    mov o1.xyz, c2
    mul o1.w, r5.x, c2
    
	// Check if pinking is enabled or to be skipped altogether.
	mov r30.y, c250.y
	if_eq r30.y, c200.x

		// If the current texture is in the Not Defined
		// list, then show it in hot-pink coloring.  We
		// can disable this coloring from the ini file, by
		// commenting out the ValNotDefined.
		mov r30, c251.x
		if_eq r30.x, c200.y
		    mov o1, c201
		endif
	endif

	mov r0, c12
    mul r0, r0, c94
    mad o2, v3, r0, c13

// approximately 19 instruction slots used
 