//HUD VS 4. Battle portraits.
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.163 on Fri Aug 22 22:41:56 2025
//
//
// Buffer Definitions:
//
// cbuffer cb_instance
// {
//
//   int instanceOffset_g;              // Index:    0.x              Components:     1
//
// }
//
// Resource bind info for instances_g
// {
//
//   struct InstanceParam
//   {
//
//       float4x4 world;                // Index:    0
//       float4 color;                  // Index:    4
//       float4 uv;                     // Index:    5
//       float4 param;                  // Index:    6
//       uint boneAddress;              // Index:    7
//       float3 param2;                 // Index:    7.y
//
//   } $Element;                        // Index:    0-7              Components:    32
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// instances_g                       texture  struct         r/o   15        1
// cb_instance                       cbuffer      NA          NA    1        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyz         0     NONE   float   xyz
// TEXCOORD                 0   xy          1     NONE   float   xy
// SV_InstanceID            0   x           2   INSTID    uint   x
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xyzw
// TEXCOORD                 0   xyz         1     NONE   float   xyz
// TEXCOORD                 4      w        1     NONE   float      w
// TEXCOORD                 1   xyzw        2     NONE   float   xyzw
// TEXCOORD                 2   xyz         3     NONE   float   xyz
// TEXCOORD                 3   x           4     NONE     int   x
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB1[1], immediateIndexed
dcl_resource_structured t15, 128
dcl_input v0.xyz
dcl_input v1.xy
dcl_input_sgv v2.x, instance_id
dcl_output_siv o0.xyzw, position
dcl_output o1.xyz
dcl_output o1.w
dcl_output o2.xyzw
dcl_output o3.xyz
dcl_output o4.x
dcl_temps 33
dcl_resource_texture2d (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r23.xyzw, l(3, 0, 0, 0), t120.xyzw
ld_indexable(texture1d)(float,float,float,float) r31.xyzw, l(11, 0, 0, 0), t120.xyzw
mov r0.xyz, v0.xyzx
mov r0.w, l(1.000000)
iadd r1.x, v2.x, cb1[0].x
ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r2.xyzw, r1.x, l(0), t15.xyzw
dp4 r10.x, r0.xyzw, r2.xyzw
ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r2.xyzw, r1.x, l(16), t15.xyzw
dp4 r10.y, r0.xyzw, r2.xyzw
ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r2.xyzw, r1.x, l(32), t15.xyzw
dp4 r10.z, r0.xyzw, r2.xyzw
ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r2.xyzw, r1.x, l(48), t15.xyzw
dp4 r10.w, r0.xyzw, r2.xyzw
mad r0.xy, v1.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), l(0.000000, 1.000000, 0.000000, 0.000000)
ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r2.xyzw, r1.x, l(80), t15.xyzw
mad o1.xy, r0.xyxx, r2.zwzz, r2.xyxx
ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r0.xyzw, r1.x, l(112), t15.xyzw
and r0.x, r0.x, l(256)
mov o3.xyz, r0.yzwy
movc o1.z, r0.x, l(1.000000), l(0)
ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) o1.w, r1.x, l(108), t15.xxxx
ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) o2.xyzw, r1.x, l(64), t15.xyzw
ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r0.x, r1.x, l(96), t15.xxxx
ftoi o4.x, r0.x

eq r11.x r10.w, l(1.0)
ne r11.y, r23.w, l(10.0)
eq r11.z, r31.y, l(0.0)
eq r11.w, r31.x, l(1.0)
and r12.x, r11.x, r11.y
and r12.x, r12.x, r11.z
and r12.x, r12.x, r11.w
if_nz r12.x
mad r10.x, r25.x, l(0.3), r10.x
endif

mov o0.xyzw, r10.xyzw
ret
// Approximately 23 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.163 on Fri Aug 22 22:41:56 2025
//
// struct InstanceParam
// {
//     float4x4 world;                // Offset:    0
//     float4 color;                  // Offset:   64
//     float4 uv;                     // Offset:   80
//     float4 param;                  // Offset:   96
//     uint boneAddress;              // Offset:  112
//     float3 param2;                 // Offset:  116
// };
//
// cbuffer cb_instance : register(b1)
// {
//   int instanceOffset_g : packoffset(c0);
// }
//
// StructuredBuffer<InstanceParam> instances_g : register(t15);
//
//
// // SLT declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Texture2D<float4> StereoParams : register(t125);
//
//
// void main(
//   float3 v0 : POSITION0,
//   float2 v1 : TEXCOORD0,
//   uint v2 : SV_InstanceID0,
//   out float4 o0 : SV_Position0,
//   out float3 o1 : TEXCOORD0,
//   out float p1 : TEXCOORD4,
//   out float4 o2 : TEXCOORD1,
//   out float4 o3 : TEXCOORD2,
//   out int o4 : TEXCOORD3)
// {
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_input_sgv v2.x, instance_id
//   float4 r0,r1,r2;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xyz = v0.xyz;
//   r0.w = 1;
//   r1.x = (int)v2.x + instanceOffset_g;
//   r2.x = instances_g[r1.x].world._m00;
//   r2.y = instances_g[r1.x].world._m10;
//   r2.z = instances_g[r1.x].world._m20;
//   r2.w = instances_g[r1.x].world._m30;
//   o0.x = dot(r0.xyzw, r2.xyzw);
//   r2.x = instances_g[r1.x].world._m01;
//   r2.y = instances_g[r1.x].world._m11;
//   r2.z = instances_g[r1.x].world._m21;
//   r2.w = instances_g[r1.x].world._m31;
//   o0.y = dot(r0.xyzw, r2.xyzw);
//   r2.x = instances_g[r1.x].world._m02;
//   r2.y = instances_g[r1.x].world._m12;
//   r2.z = instances_g[r1.x].world._m22;
//   r2.w = instances_g[r1.x].world._m32;
//   o0.z = dot(r0.xyzw, r2.xyzw);
//   r2.x = instances_g[r1.x].world._m03;
//   r2.y = instances_g[r1.x].world._m13;
//   r2.z = instances_g[r1.x].world._m23;
//   r2.w = instances_g[r1.x].world._m33;
//   o0.w = dot(r0.xyzw, r2.xyzw);
//   r0.xy = v1.xy * float2(1,-1) + float2(0,1);
//   r2.x = instances_g[r1.x].uv.x;
//   r2.y = instances_g[r1.x].uv.y;
//   r2.z = instances_g[r1.x].uv.z;
//   r2.w = instances_g[r1.x].uv.w;
//   o1.xy = r0.xy * r2.zw + r2.xy;
//   r0.x = instances_g[r1.x].boneAddress;
//   r0.y = instances_g[r1.x].param2.x;
//   r0.z = instances_g[r1.x].param2.y;
//   r0.w = instances_g[r1.x].param2.z;
//   r0.x = (int)r0.x & 256;
//   o3.xyz = r0.yzw;
//   o1.z = r0.x ? 1 : 0;
//   o1.w = instances_g[r1.x].param.w;
//   o2.x = instances_g[r1.x].color.x;
//   o2.y = instances_g[r1.x].color.y;
//   o2.z = instances_g[r1.x].color.z;
//   o2.w = instances_g[r1.x].color.w;
//   r0.x = instances_g[r1.x].param.x;
//   o4.x = (int)r0.x;
//   return;
// }
//////////////////////////////// HLSL Errors ////////////////////////////////
// D:\SteamLibrary\steamapps\common\Trails in the Sky 1st Chapter Demo\ShaderFixes\6c94f7c741fa3483-vs_replace.txt(80,3-6): error X3018: invalid subscript 'w'
/////////////////////////////////////////////////////////////////////////////
