crystal_pcgl_40_ps.vcs Z[0x0]
[0] leading data
0B 00 00 00    // 11
01 00 00 00    // 1
06 00 00 00    // 6
// 11*4 bytes
25 00 FF FF 1C 00 00 00 06 00 00 00 0D 00 FF FF 08 00 01 00 0B 00 02 12 23 00 04 00 1A 00 0B 00 
1B 00 0E 00 19 00 0F 00 18 00 10 00

[56] Frame header
04 00    // nr of arguments (4)

// DepthPassBatchID | 0x2c5b5105
44 65 70 74 68 50 61 73 73 42 61 74 63 68 49 44 00 05 51 5B 2C
05 FF FF    // header-code
00 00 00 00    // dynamic expression length = 0
01 00 00 00    // header argument

// RepresentativeTexture | 0x5d700411
52 65 70 72 65 73 65 6E 74 61 74 69 76 65 54 65 78 74 75 72 65 00 11 04 70 5D
0E 1C 00    // header-code

// SupportsMappingDimensions | 0x89460e6d
53 75 70 70 6F 72 74 73 4D 61 70 70 69 6E 67 44 69 6D 65 6E 73 69 6F 6E 73 00 6D 0E 46 89
09 FF FF    // header-code
00 00 00 00    // dynamic expression length = 0
01    // header argument

// crystal | 0x29ef5f11
63 72 79 73 74 61 6C 00 11 5F EF 29
09 FF FF    // header-code
00 00 00 00    // dynamic expression length = 0
01    // header argument


[177] Data blocks
40 00    // nr of data-blocks (64)

[179] data-block[0]
0A 00 00 00    // 10
00 00 00 00    // 0
05 00 00 00    // 5
// 10*4 bytes
1C 00 00 00 06 00 00 00 0D 00 FF FF 08 00 01 00 0B 00 02 12 23 00 04 00 1A 00 0B 00 1B 00 0E 00 
19 00 0F 00 18 00 10 00

00 00 00 00 00 00 00 00 00 00 00 00    // data-block[1]

[243] data-block[2]
08 00 00 00    // 8
00 00 00 00    // 0
04 00 00 00    // 4
// 8*4 bytes
1C 00 00 00 06 00 00 00 08 00 01 00 0B 00 02 12 23 00 04 00 1B 00 0E 00 19 00 0F 00 18 00 10 00

00 00 00 00 00 00 00 00 00 00 00 00    // data-block[3]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[4]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[5]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[6]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[7]

[347] data-block[8]
0A 00 00 00    // 10
00 00 00 00    // 0
05 00 00 00    // 5
// 10*4 bytes
1C 00 00 00 06 00 00 00 0D 00 FF FF 08 00 01 00 0B 00 02 12 23 00 04 00 1A 00 0B 00 1B 00 0E 00 
19 00 0F 00 18 00 10 00

00 00 00 00 00 00 00 00 00 00 00 00    // data-block[9]

[411] data-block[10]
08 00 00 00    // 8
00 00 00 00    // 0
04 00 00 00    // 4
// 8*4 bytes
1C 00 00 00 06 00 00 00 08 00 01 00 0B 00 02 12 23 00 04 00 1B 00 0E 00 19 00 0F 00 18 00 10 00

00 00 00 00 00 00 00 00 00 00 00 00    // data-block[11]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[12]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[13]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[14]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[15]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[16]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[17]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[18]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[19]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[20]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[21]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[22]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[23]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[24]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[25]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[26]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[27]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[28]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[29]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[30]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[31]

[707] data-block[32]
0A 00 00 00    // 10
00 00 00 00    // 0
05 00 00 00    // 5
// 10*4 bytes
1C 00 00 00 06 00 00 00 0D 00 FF FF 08 00 01 00 0B 00 02 12 23 00 04 00 1A 00 0B 00 1B 00 0E 00 
19 00 0F 00 18 00 10 00

00 00 00 00 00 00 00 00 00 00 00 00    // data-block[33]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[34]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[35]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[36]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[37]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[38]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[39]

[843] data-block[40]
0A 00 00 00    // 10
00 00 00 00    // 0
05 00 00 00    // 5
// 10*4 bytes
1C 00 00 00 06 00 00 00 0D 00 FF FF 08 00 01 00 0B 00 02 12 23 00 04 00 1A 00 0B 00 1B 00 0E 00 
19 00 0F 00 18 00 10 00

00 00 00 00 00 00 00 00 00 00 00 00    // data-block[41]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[42]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[43]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[44]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[45]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[46]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[47]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[48]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[49]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[50]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[51]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[52]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[53]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[54]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[55]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[56]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[57]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[58]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[59]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[60]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[61]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[62]
00 00 00 00 00 00 00 00 00 00 00 00    // data-block[63]

[1171] Unknown additional parameters, non 'FF FF' entries point to active block IDs
40 00 // nr of data-blocks (64)
00 00 FF FF 00 00 FF FF FF FF FF FF FF FF FF FF 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF FF FF 
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

[1301]
48    // possible control byte (72) or flags (01001000)
00    // values seen (0,1,2)
00    // always 0
00    // always 0
01    // values seen (0,1)

[1306] Start of source section, 1306 is the base offset for end-section source pointers
02 00 00 00    // gpu source files (2)
01             // unknown boolean, values seen 0,1

[1311] glsl source offsets
BD 19 00 00    // 6589
03 00 00 00    // always 3
B5 19 00 00    // 6581

[1323] GLSL-SOURCE[0]
23 76 65 72 73 69 6F 6E 20 33 33 30 20 63 6F 72 65 0A 2F 2F 20 4C 75 6E 61 72 47 4F 4F 20 6F 75 
74 70 75 74 0A 23 65 78 74 65 6E 73 69 6F 6E 20 47 4C 5F 41 52 42 5F 73 65 70 61 72 61 74 65 5F 
73 68 61 64 65 72 5F 6F 62 6A 65 63 74 73 20 3A 20 65 6E 61 62 6C 65 0A 23 65 78 74 65 6E 73 69
// ... (6485 bytes of data not shown)

[7904]
14 7A 12 4A E4 7F FB 84 4E 6D DC EC 7E FB 62 40    //  Editor ref.

[7920] glsl source offsets
62 1A 00 00    // 6754
03 00 00 00    // always 3
5A 1A 00 00    // 6746

[7932] GLSL-SOURCE[1]
23 76 65 72 73 69 6F 6E 20 33 33 30 20 63 6F 72 65 0A 2F 2F 20 4C 75 6E 61 72 47 4F 4F 20 6F 75 
74 70 75 74 0A 23 65 78 74 65 6E 73 69 6F 6E 20 47 4C 5F 41 52 42 5F 73 65 70 61 72 61 74 65 5F 
73 68 61 64 65 72 5F 6F 62 6A 65 63 74 73 20 3A 20 65 6E 61 62 6C 65 0A 23 65 78 74 65 6E 73 69
// ... (6650 bytes of data not shown)

[14678]
59 0F F3 E2 27 A6 D4 2E 9E 0B BD 9B F5 2C 2A DF    //  Editor ref.

[14694]
06 00 00 00    // nr of end blocks (6)

[14698] End-block[0]
00 00 00 00    // blockId ref (0)
00 00 00 00    // always 0
00 00 00 00    // source ref (0)
05 00 00 00    // glsl source pointer (5)
00 00 00       // (data0=True, data1=True, data2=True)
// data-section 0
00 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 1
01 01 03 00 00 00 FF FF 00 00 02 07 00 00 02 07 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00
01 01 01 01 01 01 01 01 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 07 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

[14828] End-block[1]
02 00 00 00    // blockId ref (2)
00 00 00 00    // always 0
01 00 00 00    // source ref (1)
D6 19 00 00    // glsl source pointer (6614)
00 00 00       // (data0=True, data1=True, data2=True)
// data-section 0
00 02 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 1
01 01 03 00 00 00 FF FF 00 00 00 07 00 00 00 07 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00
01 01 01 01 01 01 01 01 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 07 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

[14958] End-block[2]
08 00 00 00    // blockId ref (8)
00 00 00 00    // always 0
00 00 00 00    // source ref (0)
05 00 00 00    // glsl source pointer (5)
00 00 00       // (data0=True, data1=True, data2=True)
// data-section 0
00 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 1
01 01 03 00 00 00 FF FF 00 00 02 07 00 00 02 07 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00
01 01 01 01 01 01 01 01 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 07 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

[15088] End-block[3]
0A 00 00 00    // blockId ref (10)
00 00 00 00    // always 0
01 00 00 00    // source ref (1)
D6 19 00 00    // glsl source pointer (6614)
00 00 00       // (data0=True, data1=True, data2=True)
// data-section 0
00 02 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 1
01 01 03 00 00 00 FF FF 00 00 00 07 00 00 00 07 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00
01 01 01 01 01 01 01 01 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 07 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

[15218] End-block[4]
20 00 00 00    // blockId ref (32)
00 00 00 00    // always 0
00 00 00 00    // source ref (0)
05 00 00 00    // glsl source pointer (5)
00 00 00       // (data0=True, data1=True, data2=True)
// data-section 0
00 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 1
01 01 03 00 00 00 FF FF 00 00 02 07 00 00 02 07 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00
01 01 01 01 01 01 01 01 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 07 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

[15348] End-block[5]
28 00 00 00    // blockId ref (40)
00 00 00 00    // always 0
00 00 00 00    // source ref (0)
05 00 00 00    // glsl source pointer (5)
00 00 00       // (data0=True, data1=True, data2=True)
// data-section 0
00 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00
// data-section 1
01 01 03 00 00 00 FF FF 00 00 02 07 00 00 02 07 00 00 00 00
// data-section 2
00 00 00
00 00 00 00 00 00 00 00
01 01 01 01 01 01 01 01 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 07 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00

[15478]
EOF