multiblend_pcgl_40_ps-ZFRAME00000009
Zframe belongs to /dota_game_pcgl_v64/multiblend_pcgl_40_ps.vcs
View byte detail //multiblend_pcgl_40_ps.vcs-ZFRAME00000009-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             0
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)
[  5] CullMode                         _ (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)   // 23
[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)   // 27

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)
[  5] CullMode                         _ (FF)         _ (FF)
[ 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
[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[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)
[  5] CullMode                         _ (FF)         _ (FF)
[ 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)   // 16
[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)   // 20

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)
[  5] CullMode                         _ (FF)         _ (FF)
[ 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)   // 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

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)
[  5] CullMode                         _ (FF)         _ (FF)
[ 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)   // 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


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 (False,False,True)
// 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    10409
has data (False,False,True)
// 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    19899
has data (False,False,True)
// 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    30587
has data (False,False,True)
// 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    40359
has data (False,False,True)
// 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    51202
has data (False,False,True)
// 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    61131
has data (False,False,True)
// 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    72240
has data (False,False,True)
// 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    82437
has data (False,False,True)
// 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    97517
has data (False,False,True)
// 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    111596
has data (False,False,True)
// 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    126960
has data (False,False,True)
// 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    141323
has data (False,False,True)
// 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    156844
has data (False,False,True)
// 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    171364
has data (False,False,True)
// 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    187151
has data (False,False,True)
// 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