multiblend_pcgl_40_ps-ZFRAME00000029
Zframe belongs to /dota_game_pcgl_v64/multiblend_pcgl_40_ps.vcs
View byte detail //multiblend_pcgl_40_ps.vcs-ZFRAME00000029-databytes

Configuration
-------------
The static configuration this zframe belongs to (zero or more static parameters)

S_TOOLS_ENABLED                0
S_MODE_FORWARD                 1
S_MODE_DEPTH                   0
S_MODE_TOOLS_WIREFRAME         0
S_SHADER_QUALITY               1
S_NORMAL_MAP                   0
S_RENDER_BACKFACES             1
S_SPECULAR                     0
S_WORLDSPACE_UVS               0
S_SHOW_WORLDSPACE_BLEND        0
S_TINT_MASK                    0
S_TINT_MASK_2                  0
S_LAYER_BORDER_TINT            0
S_PARALLAX_MAP_ON_0            0
S_PARALLAX_MAP_ON_1            0
S_PARALLAX_MAP_ON_2            0
S_PARALLAX_MAP_ON_3            0
S_GLOBAL_TINT                  0


ZFrame Headers
--------------
RepresentativeTexture                    0x5d700411     0E 52 00   
SupportsMappingDimensions                0x89460e6d     09 FF FF   1
DoNotReflect                             0x52010974     09 FF FF   COND[15] || 0
DoNotCastShadows                         0xe0be7b6e     09 FF FF   COND[16] || 0
ShadowsOnly                              0x83f9427f     09 FF FF   COND[17] || 0
DepthPassBatchID                         0x2c5b5105     05 FF FF   1


Parameter write sequences
-------------------------
This data (thought to be buffer write sequences) appear to be linked to the dynamic (D-param) configurations;
each configuration points to exactly one sequence. WRITESEQ[0] is always defined and considered 'default'.


WRITESEQ[0] (default)               dest        control
[ 77] g_flTexCoordScale0               _ (FF)         _ (FF)
[ 78] g_flTexCoordScale1               _ (FF)         _ (FF)
[ 79] g_flTexCoordScale2               _ (FF)         _ (FF)
[ 80] g_flTexCoordScale3               _ (FF)         _ (FF)   // 4
[ 81] g_tColor0                        0 (00)         0 (00)
[ 82] g_tColor1                        1 (01)         0 (00)
[ 83] g_tColor2                        2 (02)         0 (00)
[ 84] g_tColor3                        3 (03)         0 (00)
[ 90] g_tShadowDepthTexture            4 (04)         0 (00)
[  6] DefaultSamplerState              0 (00)         0 (00)
[  0] AddressU                         4 (04)         0 (00)
[  1] AddressV                         4 (04)         0 (00)
[  3] BorderColor                      4 (04)         0 (00)
[  4] ComparisonFunc                   4 (04)         0 (00)
[ 12] Filter                           4 (04)         0 (00)
[  2] BackStencilFunc                  _ (FF)         _ (FF)
[ 18] StencilEnable                    _ (FF)         _ (FF)
[ 19] StencilFunc                      _ (FF)         _ (FF)
[ 20] StencilReadMask                  _ (FF)         _ (FF)
[ 21] StencilRef                       _ (FF)         _ (FF)
[ 10] DotaGlobalParams_t               1 (01)         0 (00)
[ 15] PerViewConstantBuffer_t          2 (02)        18 (12)   // 22
[100] g_vColorTint0                    4 (04)         0 (00)
[101] g_vColorTint1                    8 (08)         0 (00)
[102] g_vColorTint2                   12 (0C)         0 (00)
[103] g_vColorTint3                   16 (10)         0 (00)   // 26

WRITESEQ[1]                         dest        control
[ 81] g_tColor0                        0 (00)         0 (00)
[ 82] g_tColor1                        1 (01)         0 (00)
[ 83] g_tColor2                        2 (02)         0 (00)
[ 84] g_tColor3                        3 (03)         0 (00)
[  6] DefaultSamplerState              0 (00)         0 (00)
[  6] DefaultSamplerState              1 (01)         0 (00)
[  6] DefaultSamplerState              2 (02)         0 (00)
[  6] DefaultSamplerState              3 (03)         0 (00)
[ 18] StencilEnable                    _ (FF)         _ (FF)
[ 21] StencilRef                       _ (FF)         _ (FF)
[ 20] StencilReadMask                  _ (FF)         _ (FF)
[ 19] StencilFunc                      _ (FF)         _ (FF)
[  2] BackStencilFunc                  _ (FF)         _ (FF)
[ 10] DotaGlobalParams_t               1 (01)         0 (00)   // 14
[100] g_vColorTint0                    4 (04)         0 (00)
[101] g_vColorTint1                    8 (08)         0 (00)
[102] g_vColorTint2                   12 (0C)         0 (00)
[103] g_vColorTint3                   16 (10)         0 (00)   // 18

WRITESEQ[2]                         dest        control
[ 81] g_tColor0                        0 (00)         0 (00)
[ 82] g_tColor1                        1 (01)         0 (00)
[ 83] g_tColor2                        2 (02)         0 (00)
[ 84] g_tColor3                        3 (03)         0 (00)
[  6] DefaultSamplerState              0 (00)         0 (00)
[  6] DefaultSamplerState              1 (01)         0 (00)
[  6] DefaultSamplerState              2 (02)         0 (00)
[  6] DefaultSamplerState              3 (03)         0 (00)
[ 18] StencilEnable                    _ (FF)         _ (FF)
[ 21] StencilRef                       _ (FF)         _ (FF)
[ 20] StencilReadMask                  _ (FF)         _ (FF)
[ 19] StencilFunc                      _ (FF)         _ (FF)
[  2] BackStencilFunc                  _ (FF)         _ (FF)
[ 10] DotaGlobalParams_t               1 (01)         0 (00)
[ 15] PerViewConstantBuffer_t          2 (02)        18 (12)   // 15
[100] g_vColorTint0                    4 (04)         0 (00)
[101] g_vColorTint1                    8 (08)         0 (00)
[102] g_vColorTint2                   12 (0C)         0 (00)
[103] g_vColorTint3                   16 (10)         0 (00)   // 19

WRITESEQ[3]                         dest        control
[ 81] g_tColor0                        0 (00)         0 (00)
[ 82] g_tColor1                        1 (01)         0 (00)
[ 83] g_tColor2                        2 (02)         0 (00)
[ 84] g_tColor3                        3 (03)         0 (00)
[ 90] g_tShadowDepthTexture            4 (04)         0 (00)
[  6] DefaultSamplerState              0 (00)         0 (00)
[  6] DefaultSamplerState              1 (01)         0 (00)
[  6] DefaultSamplerState              2 (02)         0 (00)
[  6] DefaultSamplerState              3 (03)         0 (00)
[ 12] Filter                           4 (04)         0 (00)
[  0] AddressU                         4 (04)         0 (00)
[  1] AddressV                         4 (04)         0 (00)
[  3] BorderColor                      4 (04)         0 (00)
[  4] ComparisonFunc                   4 (04)         0 (00)
[ 18] StencilEnable                    _ (FF)         _ (FF)
[ 21] StencilRef                       _ (FF)         _ (FF)
[ 20] StencilReadMask                  _ (FF)         _ (FF)
[ 19] StencilFunc                      _ (FF)         _ (FF)
[  2] BackStencilFunc                  _ (FF)         _ (FF)
[ 10] DotaGlobalParams_t               1 (01)         0 (00)   // 20
[100] g_vColorTint0                    4 (04)         0 (00)
[101] g_vColorTint1                    8 (08)         0 (00)
[102] g_vColorTint2                   12 (0C)         0 (00)
[103] g_vColorTint3                   16 (10)         0 (00)   // 24

WRITESEQ[4]                         dest        control
[ 81] g_tColor0                        0 (00)         0 (00)
[ 82] g_tColor1                        1 (01)         0 (00)
[ 83] g_tColor2                        2 (02)         0 (00)
[ 84] g_tColor3                        3 (03)         0 (00)
[ 90] g_tShadowDepthTexture            4 (04)         0 (00)
[  6] DefaultSamplerState              0 (00)         0 (00)
[  6] DefaultSamplerState              1 (01)         0 (00)
[  6] DefaultSamplerState              2 (02)         0 (00)
[  6] DefaultSamplerState              3 (03)         0 (00)
[ 12] Filter                           4 (04)         0 (00)
[  0] AddressU                         4 (04)         0 (00)
[  1] AddressV                         4 (04)         0 (00)
[  3] BorderColor                      4 (04)         0 (00)
[  4] ComparisonFunc                   4 (04)         0 (00)
[ 18] StencilEnable                    _ (FF)         _ (FF)
[ 21] StencilRef                       _ (FF)         _ (FF)
[ 20] StencilReadMask                  _ (FF)         _ (FF)
[ 19] StencilFunc                      _ (FF)         _ (FF)
[  2] BackStencilFunc                  _ (FF)         _ (FF)
[ 10] DotaGlobalParams_t               1 (01)         0 (00)
[ 15] PerViewConstantBuffer_t          2 (02)        18 (12)   // 21
[100] g_vColorTint0                    4 (04)         0 (00)
[101] g_vColorTint1                    8 (08)         0 (00)
[102] g_vColorTint2                   12 (0C)         0 (00)
[103] g_vColorTint3                   16 (10)         0 (00)   // 25


Dynamic (D-Param) configurations (16 defined)
---------------------------------------------
Each dynamic parameters has 1 or more defined states. The disabled state (0) is shown as '_'
All permitted configurations are listed with their matching write sequence and GPU source (there is exactly
one of these for each configuration). To save space, the parameter names (original names starting with D_)
are shortened to 3-5 length strings (shown in parenthesis).

D_SFM_LIGHTING(sfm_l), D_NORMAL_MAP(nor_m), D_ALLOW_PARALLAX(all_p), D_WORLDSPACE_TEXCOORDS(wor_t)
D_SPECULAR_GBUFFER_DISABLED(sgd), D_WRITE_WATER_FOG_TO_DEST_ALPHA(wwftd), D_FORCE_FOG_IN_FORWARD(ffif)
D_GLOBAL_LIGHT_SHADOWS(gls)

      sfm_l nor_m all_p wor_t   sgd wwftd  ffif   gls
[00]      _     _     _     _     _     _     _     _   WRITESEQ[1] GLSL[0] //source/0
[08]      _     _     _     _     1     _     _     _   WRITESEQ[1] GLSL[1] //source/1
[10]      _     _     _     _     _     1     _     _   WRITESEQ[2] GLSL[2] //source/2
[18]      _     _     _     _     1     1     _     _   WRITESEQ[2] GLSL[3] //source/3
[20]      _     _     _     _     _     _     1     _   WRITESEQ[2] GLSL[4] //source/4
[28]      _     _     _     _     1     _     1     _   WRITESEQ[2] GLSL[5] //source/5
[30]      _     _     _     _     _     1     1     _   WRITESEQ[2] GLSL[6] //source/6
[38]      _     _     _     _     1     1     1     _   WRITESEQ[2] GLSL[7] //source/7
[40]      _     _     _     _     _     _     _     1   WRITESEQ[3] GLSL[8] //source/8
[48]      _     _     _     _     1     _     _     1   WRITESEQ[3] GLSL[9] //source/9
[50]      _     _     _     _     _     1     _     1   WRITESEQ[4] GLSL[10] //source/10
[58]      _     _     _     _     1     1     _     1   WRITESEQ[4] GLSL[11] //source/11
[60]      _     _     _     _     _     _     1     1   WRITESEQ[4] GLSL[12] //source/12
[68]      _     _     _     _     1     _     1     1   WRITESEQ[4] GLSL[13] //source/13
[70]      _     _     _     _     _     1     1     1   WRITESEQ[4] GLSL[14] //source/14
[78]      _     _     _     _     1     1     1     1   WRITESEQ[4] GLSL[15] //source/15


// configuration states (128), trailing summary

0       _       _       _       _       _       _       _       0       _       _       _       _       _       _       _       
0       _       _       _       _       _       _       _       0       _       _       _       _       _       _       _       
0       _       _       _       _       _       _       _       0       _       _       _       _       _       _       _       
0       _       _       _       _       _       _       _       0       _       _       _       _       _       _       _       
0       _       _       _       _       _       _       _       0       _       _       _       _       _       _       _       
0       _       _       _       _       _       _       _       0       _       _       _       _       _       _       _       
0       _       _       _       _       _       _       _       0       _       _       _       _       _       _       _       
0       _       _       _       _       _       _       _       0       _       _       _       _       _       _       _


source bytes/flags
------------------
1C      // possible control byte (28) or flags (00011100)
02      // values seen (0,1,2)
00      // always 0
00      // always 0
1       // values seen 0,1
16      // nr of source files
1       // values seen 0,1


End blocks
----------
10 00 00 00   // end blocks (16)

block-ref         0
arg0              0
source-ref        0
source-pointer    5
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         8
arg0              0
source-ref        1
source-pointer    10544
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         16
arg0              0
source-ref        2
source-pointer    20169
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         24
arg0              0
source-ref        3
source-pointer    30992
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         32
arg0              0
source-ref        4
source-pointer    40899
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         40
arg0              0
source-ref        5
source-pointer    51877
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         48
arg0              0
source-ref        6
source-pointer    61941
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         56
arg0              0
source-ref        7
source-pointer    73185
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         64
arg0              0
source-ref        8
source-pointer    83517
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         72
arg0              0
source-ref        9
source-pointer    98732
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         80
arg0              0
source-ref        10
source-pointer    112946
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         88
arg0              0
source-ref        11
source-pointer    128445
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         96
arg0              0
source-ref        12
source-pointer    142943
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         104
arg0              0
source-ref        13
source-pointer    158599
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         112
arg0              0
source-ref        14
source-pointer    173254
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

block-ref         120
arg0              0
source-ref        15
source-pointer    189176
has data (True,False,True)
// data-section 0
00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00