ps_1_1 def c0, 0,0,0,0 tex t0 // Base tex t1 // Player color tex t2 // Improvement tex t3 // Damage mul r0.rgb, t3, t3.a // Color = Dc * Da +add_sat r1.a, t3.a, t2.a // Alpha.a = sat( Da + Ia ) sub r0.a, r1.a, t3.a // Alpha.b = sat( Da + Ia ) - Da mad r0.rgb, t2, r0.a, r0 // Color = Dc * Da + Ic * [sat( Da + Ia ) - Da] +add_sat r0.a, r1.a, t0.a // Alpha.b = sat( Da + Ia + Ba ) sub r1.a, r0.a, r1.a // Alpha.a = sat( Da + Ia + Ba ) - sat( Da + Ia ) mad r0.rgb, t0, r1.a, r0 // Color = Dc * Da + Ic * [sat( Da + Ia ) - Da] + Bc * [sat( Da + Ia + Ba ) - sat( Da + Ia )] mad r0.rgb, t1, 1-r0.a, r0 // Color = Dc * Da + Ic * [sat( Da + Ia ) - Da] + Bc * [sat( Da + Ia + Ba ) - sat( Da + Ia )] + // PCc * [1-sat( Da + Ia + Ba )] // Modulate by the diffuse color // Just grab the final alpha mul r0.rgb, r0, v0 +mov r0.a, v0.a // Instruction Count: texture = 4, arithmetic = 7, total = 11