
===========================================================================

Hierachy

1000 --> 1002 --> 2000
                  1014 --> 1016 --> 6000
         1004 --> 3000
                  1009 --> 1006
                           1007 --> 4000
         1011 --> 5000
8000 --> 800*
9000 --> 900*
11000 --> 11002
10000 --> 1000*
12000 --> 1200*
13000 --> 1300*
          14007 why outside of 14000 section?
          14008 why outside of 14000 section?
          14000 --> 1400*
15000 --> 15002
          15003
16000 --> 1600*
16013 why outside of 16000 section?
16014 why outside of 16000 section?
18000 --> 1800*
19000 --> 1900*
20000 --> 2000*

===========================================================================

Sections (= blocks = nodes)

1000 <length> "__IdvSpt_02_" % begin of file, version ID
1001 % end of 1000 section
1002 % begin
1003 % end of 1002
1004 % begin of 3000 and 4000 section
1005 % end of 1004
1006 <int> % tells how many 1007 sections are available
1007 % begin of section containing 4000
1008 % end of 1007
1009 % begin
1010 % end of 1009
1011 % begin of 5000
1012 % end of 1011
1013 % not in demos XXXX
1014 <int> % begin, <int> tells how many 1016/6000 and 15002-15003 and 16002-16012 blocks are available, trunk+branch levels?
1015 % end of 1014
1016 % begin of bezierspline list 6000
1017 % end of 1016

2000 <length> <string> % trunk+branches texture, e.g., EuropeanAspenBark.tga
2001 <float>
2002 <byte> % = 0 in demos
2003 <float>
2004 <int>?? % = 0 in demos XXXXX
2005 <byte> <short> <byte> % number of triangles or such, last = 0 in demos
2006 <float>
2007 <float>

3000 <float>  % leaves info
3001 <int>
3002 <float>
3003 <byte> % = 0 in demos
3004 <float> % = -1.0 in demos
3005 <float> % = -1.0 in demos
3006 <byte> % = 0 in demos
3007 <float>
3008 <int> % = 1 or 2 in demos
3009 <byte> % = 0 or 1 in demos
3010 <float>

4000 <byte> % = 0 or 1 in demos % leaf texture map info
4001 3x<float> % color?
4002 <float>   % color variance?
4003 <int, length> <string, filename> % leaf texture map (used for some barks?)
4004 3x<float> or 2x<float> <int> % last = 0 XXXX % rotation point?
4005 3x<float> or 2x<float> <int> % last = 0 XXXX ???
4006 3x<float> or 2x<float> <int> % last = 0 XXXX ???
4007 <float>

5000 3x<float>?? % = 0 in demos
5001 3x<float>?? % = 0 in demos
5002 3x<float>
5003 3x<float>?? % = 0 in demos
5004 3x<float>
5005 <float>
5006 <byte>

6000 <length> <bezierspline>
6001 <length> <bezierspline>
6002 <length> <bezierspline>
6003 <length> <bezierspline>
6004 <length> <bezierspline>
6005 <length> <bezierspline>
6006 <length> <bezierspline>
6007 <length> <bezierspline>
6008 <int> % number of trunk cross-section segments? 14 4 8 (pair 4-2 is odd)
6009 <int> % number of trunk length segments?        10 2 1
6010 <float>
6011 <float>
6012 <float>
6013 <float>
6014 <float>
6015 <short> <short> <short> % -32768 23 0/256 % was earlier <short> <int>
6016 % no such section in demos
6017 <length> <bezierspline>

8000 % begin of ?
8001 % end of 8000
8002 <int> % 0 or 1
8003 4x3x<float> <float>
8004 <int>
8005 4x3x<float> <float>
8006 <float>
8007 <int>
8008 <int>
8009 4x3x<float> <float>

9000 % begin of ?
9001 % end of ?
9002 <int>
9003 <float>
9004 <float>
9005 % no parameter
9006 % no parameter
9007 <int>
9008 <float>
9009 <float>
9010 <float>
9011 <int>
9012 <float>
9013 <float>
9014 <float>

10000 % begin of ?
10001 % end of ?
10002 <int, number of blocks of 8 floats> 8x<float>*** % the int can be 0
10003 <int, number of blocks of 8 floats> 8x<float>***
10004 <int, number of blocks of 8 floats> 8x<float>***

11000 % begin of ?
11001 % end of ?
11002 <int> % = 0 or 1 or 2 in demos

12000 begin
12001 end
12002 4x<float> % blocks 12002/3 may appear >= 0 times, ?in order 12003* 12002*
12003 5x<float> % 0 or more times

13000 % begin of fronds system
13001 % end
13002 <int> % frond level?
13003 <int>
13004 <int>
13005 <int, length> <bezierspline> % extrude profile?
13006 <int>
13007 <byte>
13008 <int> % number of frond texture map blocks 14000
13009 <int>
13010 <float>
13011 <float>
13012 <float>
13013 <float>

14000 % begin of frond def, 14000 is subblock of 13000
14001 % end % but 14007 and 14008 are outside the block
14002 <int, length> <string, filename> % frond texture map
14003 <float> % frond size factor? this or 14004
14004 <float> % frond size factor? this or 14003
14005 <float> % minimum offset angle?
14006 <float> % maximum offset angle?
14007 <int>
14008 <int>

15000 % begin of ?
15001 % end of ?
15002 <byte>    % number of blocks 15002-15003 is given by 1014?
15003 <float>

16000
16001
16002 <float>  % number of blocks 16002-16012 is given by 1014??
16003 <int>
16004 <float>
16005 <float>
16006 <float>
16007 <float>
16008 <float>
16009 <float>
16010 <float>
16011 <float>
16012 <float>
16013 <int> % outside of 16000 block, flare seed in global tab?
16014 <float> % outside of 16000 block

18000
18001
18002 3x<float>
18003 3x<float>
18004 3x<float>
18005 <int, length> <string, filename> % composite shadow map

19000
19001
19002 <int>?? / <float>?? % all demo trees have the value = 0

20000
20001
20002 <int, length> <string, filename> % composite leaf map
20003 <short> <short> <short>
20004 XXXX % no such section in demo trees
20005 8x<float>

21000 <float>
21001 <float>

22000 <byte>

===========================================================================
