


see:
http://area.autodesk.com/blogs/chris/reading_and_modifying_asset_file_paths_in_the_3ds_max_file
file:///usr/share/doc/libgsf-1-dev/html/gsf/api.html



(max 3.x)
/srv/work/database/interfaces/anims_max/cp_fy_hof_species.max:
d          0 *root*
f         52 VideoPostQueue
f    2159653 Scene
f       1228 DllDirectory
f      18700 Config
f       3194 ClassDirectory3
f        176 ClassData
f      34780 SummaryInformation
f       3352 DocumentSummaryInformation

(max 2010)
/home/kaetemi/source/minimax/GE_Acc_MikotoBaniere.max:
d          0 *root*
f         52 VideoPostQueue <- not important
f     147230 Scene <- the main scene, todo
f        366 FileAssetMetaData2 <- this is new in max2010! (it is unfortunately in a different format ...)
f       2198 DllDirectory <- a listing of dlls used by this file
f      29605 Config <- contains stuff related to the paramblocks in max scripts, needed for handling nel material
f       3438 ClassDirectory3 <- a listing of used classes, the index in this list may be relevant to chunk ids
f        691 ClassData <- maybe contains global class data
f      29576 SummaryInformation <- standard windows stuff, different format
f       2320 DocumentSummaryInformation



kaetemi@benzaiten ~/source/minimax/build $ gsf dump /home/kaetemi/source/minimax/GE_Acc_MikotoBaniere.max VideoPostQueue
VideoPostQueue
[
	50 00 (id: 0x0050)
	0a 00 00 00 (size: 10 - 6 = 4)
	[
		01 00 00 00 (value: 1)
	]
]
[
	60 00 (id: 0x0060)
	2a 00 00 80 (size: 42 - 6 = 36) (note: negative bit = container)
	[
		10 00 (id: 0x0010)
		1e 00 00 00 (size: 30 - 6 = 24)
		[
			07 00 00 00 (value: 7)
			01 00 00 00 (value: 1)
			00 00 00 00
			00 00 00 00
			20 12 00 00 (value: 4610)
			00 00 00 00
		]
		20 00 (id: 0x0020)
		06 00 00 00 (size: 6 - 6 = 0)
	]
]




Pipeline Max Dump (Temporary Tool)
/srv/work/database/interfaces/anims_max/cp_fy_hof_species.max
DllDirectory
CHUNK ID: 8248, SIZE: 112, CONTAINER: 1
	CHUNK ID: 8249, SIZE: 80, CONTAINER: 0
		UTF16: Default materials and textures (Kinetix)
	SKIPPED: 0
	CHUNK ID: 8247, SIZE: 20, CONTAINER: 0
		UTF16: mtlgen.dlt
	SKIPPED: 0
SKIPPED: 0
CHUNK ID: 8248, SIZE: 108, CONTAINER: 1
	CHUNK ID: 8249, SIZE: 82, CONTAINER: 0
		UTF16: Standard materials and textures (Kinetix)
	SKIPPED: 0
	CHUNK ID: 8247, SIZE: 14, CONTAINER: 0
		UTF16: mtl.dlt
	SKIPPED: 0
SKIPPED: 0
CHUNK ID: 8248, SIZE: 90, CONTAINER: 1
	CHUNK ID: 8249, SIZE: 54, CONTAINER: 0
		UTF16: Standard samplers (Kinetix)
	SKIPPED: 0
	CHUNK ID: 8247, SIZE: 24, CONTAINER: 0
		UTF16: samplers.dlh
	SKIPPED: 0
SKIPPED: 0
CHUNK ID: 8248, SIZE: 88, CONTAINER: 1
	CHUNK ID: 8249, SIZE: 60, CONTAINER: 0
		UTF16: Standard controllers (Kinetix)
	SKIPPED: 0
	CHUNK ID: 8247, SIZE: 16, CONTAINER: 0
		UTF16: ctrl.dlc
	SKIPPED: 0
SKIPPED: 0
CHUNK ID: 8248, SIZE: 128, CONTAINER: 1
	CHUNK ID: 8249, SIZE: 92, CONTAINER: 0
		UTF16: Physique Modifier: a skeletal deformation tool
	SKIPPED: 0
	CHUNK ID: 8247, SIZE: 24, CONTAINER: 0
		UTF16: physique.dlm
	SKIPPED: 0
SKIPPED: 0
CHUNK ID: 8248, SIZE: 94, CONTAINER: 1
	CHUNK ID: 8249, SIZE: 60, CONTAINER: 0
		UTF16: Editable mesh object (Kinetix)
	SKIPPED: 0
	CHUNK ID: 8247, SIZE: 22, CONTAINER: 0
		UTF16: update1.dlo
	SKIPPED: 0
SKIPPED: 0
CHUNK ID: 8248, SIZE: 84, CONTAINER: 1
	CHUNK ID: 8249, SIZE: 54, CONTAINER: 0
		UTF16: BIPED.DLC: Biped Controller
	SKIPPED: 0
	CHUNK ID: 8247, SIZE: 18, CONTAINER: 0
		UTF16: biped.dlc
	SKIPPED: 0
SKIPPED: 0
CHUNK ID: 8248, SIZE: 260, CONTAINER: 1
	CHUNK ID: 8249, SIZE: 218, CONTAINER: 0
		UTF16: Map extender plug-in --- made by 3DSMax Team - UBI Soft Romania & Daniel Raviart - Ubi Research & Development
	SKIPPED: 0
	CHUNK ID: 8247, SIZE: 30, CONTAINER: 0
		UTF16: mapext198m3.dlm
	SKIPPED: 0
SKIPPED: 0
CHUNK ID: 8248, SIZE: 106, CONTAINER: 1
	CHUNK ID: 8249, SIZE: 74, CONTAINER: 0
		UTF16: Standard pre-filter kernels (Kinetix)
	SKIPPED: 0
	CHUNK ID: 8247, SIZE: 20, CONTAINER: 0
		UTF16: kernel.dlk
	SKIPPED: 0
SKIPPED: 0
CHUNK ID: 8248, SIZE: 98, CONTAINER: 1
	CHUNK ID: 8249, SIZE: 70, CONTAINER: 0
		UTF16: Default scanline renderer (Kinetix)
	SKIPPED: 0
	CHUNK ID: 8247, SIZE: 16, CONTAINER: 0
		UTF16: rend.dlr
	SKIPPED: 0
SKIPPED: 0



Chunk Header
As follows:
2 bytes ID, interpretation context (parent) dependent, often refers to a class or version configuration used to parse this chunk
4 bytes Size, most significant bit flags whether the chunk is a container
if Size is 0: 8 bytes Size64, idem meaning Size, support for large files


Scene


The Scene stream contains 1 root chunk, with as ID the version that the max file is stored in.
0x2004		3
0x2006		4
0x2008		5
0x2009		6
?			7
?			8
0x200E		9
0x200F		2008 (10)
?			2009 (11)
0x2012		2010 (12)
?			2011 (13)
?			2012 (14)
?			2013 (15)
The size of this chunk, including the header size, is equal to the size of the Scene stream.





max 3
       0 | 04 20 (id version)
                 25 f4 20 80 (size + containerflag)
                             00 00 (id)
                                   40 00 00 80 (size + containerflag)
                                               35 20
                                                     0a 00 | ..%.....@...5...
      10 | 00 00 02 00 00 00 01 25 0a 00 00 00 00 00 80 3f | .......%.......?
      20 | 00 25 0e 00 00 00 00 00 00 80 00 00 00 80 02 30 | .%.............0
      30 | 0a 00 00 00 00 00 00 00 03 30 0e 00 00 00 00 00 | .........0......
      40 | 00 80 00 00 00 80 01 00 b8 01 00 80 01 00 0a 00 | ................
      50 | 00 00 0d 00 00 00 05 00 08 00 00 00 06 00 02 00 | ................
      60 | 20 00 00 80 03 00 0a 00 00 00 00 00 00 00 04 00 | ................
      70 | 06 00 00 00 00 01 0a 00 00 00 00 00 00 00 02 00 | ................
      80 | 20 00 00 80 03 00 0a 00 00 00 01 00 00 00 04 00 | ................
      90 | 06 00 00 00 00 01 0a 00 00 00 00 00 00 00 02 00 | ................
      a0 | 20 00 00 80 03 00 0a 00 00 00 02 00 00 00 04 00 | ................
      b0 | 06 00 00 00 00 01 0a 00 00 00 00 00 80 3f 02 00 | .............?..
      c0 | 20 00 00 80 03 00 0a 00 00 00 03 00 00 00 04 00 | ................
      d0 | 06 00 00 00 00 01 0a 00 00 00 00 00 80 3f 02 00 | .............?..
      e0 | 20 00 00 80 03 00 0a 00 00 00 04 00 00 00 04 00 | ................
      f0 | 06 00 00 00 00 01 0a 00 00 00 00 00 00 00 02 00 | ................
     100 | 20 00 00 80 03 00 0a 00 00 00 05 00 00 00 04 00 | ................
     110 | 06 00 00 00 00 01 0a 00 00 00 00 00 00 00 02 00 | ................
     120 | 20 00 00 80 03 00 0a 00 00 00 06 00 00 00 04 00 | ................
     130 | 06 00 00 00 00 01 0a 00 00 00 00 00 00 00 02 00 | ................
     140 | 20 00 00 80 03 00 0a 00 00 00 07 00 00 00 04 00 | ................
     150 | 06 00 00 00 00 01 0a 00 00 00 00 00 80 3f 02 00 | .............?..
     160 | 20 00 00 80 03 00 0a 00 00 00 08 00 00 00 04 00 | ................





max 9 (stored under wine)
Scene:
       0 | 0e 20 (id version)
                 00 00 00 00 (missing size)
                             01 49
                                   40 00 00 00 00 80 00 00 | .......I@.......
      10 | 00 00 00 00 d0 00 00 00 00 00 00 80 0b 00 00 00 | ................
      20 | 00 00 26 00 00 00 00 00 00 00 3c 29 06 5a 1e 0c | ..&.......<).Z..
      30 | 42 30 60 11 00 00 00 00 00 15 28 23 04 00 01 00 | B0`.......(#....
      40 | 00 00 0e 00 00 00 00 00 21 00 00 00 00 00 00 00 | ........!.......
      50 | 00 00 04 00 00 00 00 00 82 00 00 00 00 00 40 00 | ..............@.
      60 | 00 00 00 0e 00 00 00 00 00 21 00 00 00 00 00 00 | .........!......
      70 | 00 01 00 01 00 00 00 00 00 82 00 00 00 00 00 40 | ...............@
      80 | 00 00 00 00 0e 00 00 00 00 00 21 00 00 00 00 00 | ..........!.....
      90 | 00 00 02 00 04 00 00 00 00 00 82 00 00 00 00 00 | ................
      a0 | 40 00 00 00 00 0e 00 00 00 00 00 21 00 00 00 00 | @..........!....
      b0 | 00 00 00 04 00 09 00 00 00 00 00
                                            80 06 00 00 00 | ................
      c0 | 00 40 ff ff ff ff
                             0c 00 00 00 00 00 18 00 00 00 | .@..............
      d0 | 00 00 00 00 01 00 00 00 01 00 00 00 00 00 01 00 | ................
      e0 | 00 00 00 00 ac 00 00 00 00 00 00 80 34 20 00 00 | ............4...
      f0 | 00 00 16 00 00 00 00 00 00 00 00 00 00 00 ff ff | ................
     100 | ff ff 45 20 00 00 00 00 12 00 00 00 00 00 00 00 | ..E.............
     110 | 00 00 00 00 47 20 00 00 00 00 64 00 00 00 00 00 | ....G.....d.....
     120 | 00 80 48 20 00 00 00 00 24 00 00 00 00 00 00 80 | ..H.....$.......
     130 | 00 27 00 00 00 00 16 00 00 00 00 00 00 00 02 00 | .'..............
     140 | 00 00 00 00 00 00 49 20 00 00 00 00 24 00 00 00 | ......I.....$...
     150 | 00 00 00 80 00 27 00 00 00 00 16 00 00 00 00 00 | .....'..........
     160 | 00 00 02 00 00 00 01 00 00 00 4a 20 00 00 00 00 | ..........J.....
     170 | 0e 00 00 00 00 00 00 00 00 10 00 00 00 00 12 00 | ................
     180 | 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 | ................



max 2008 (stored under wine)
Scene:
       0 | 0f 20 (id version)
                 00 00 00 00 (missing size)
                             17 fe 01 00 00 00 00 80 (unknown 64 bits)
                                                     00 00 | ................
      10 | 00 00 00 00 d0 00 00 00 00 00 00 80
                                               0b 00 (id)
                                                     00 00 | ................
      20 | 00 00 (missing size)
                 26 00 00 00 00 00 00 00 (unknown 64 bits)
                                         3c 29 06 5a 1e 0c | ..&.......<).Z..
      30 | 42 30 60 11 00 00 00 00 00 17 10 27 04 00 01 00 | B0`........'....
      40 | 00 00
                 0e 00 00 00 00 00
                                   21 00 00 00 00 00 00 00 | ........!.......
      50 | 00 00 04 00 00 00 00 00 82 00 00 00 00 00 40 00 | ..............@.
      60 | 00 00 00
                    0e 00 00 00 00 00
                                      21 00 00 00 00 00 00 | .........!......
      70 | 00 01 00 01 00 00 00 00 00 82 00 00 00 00 00 40 | ...............@
      80 | 00 00 00 00
                       0e 00 00 00 00 00
                                         21 00 00 00 00 00 | ..........!.....
      90 | 00 00 02 00 04 00 00 00 00 00 82 00 00 00 00 00 | ................
      a0 | 40 00 00 00 00
                          0e 00 00 00 00 00
                                            21 00 00 00 00 | @..........!....
      b0 | 00 00 00 04 00 09 00 00 00 00 00
                                            80 06 00 00 00 | ................
      c0 | 00 40 ff ff ff ff
                             0c 00 00 00 00 00 18 00 00 00 | .@..............
      d0 | 00 00 00 00 01 00 00 00 01 00 00 00 11 00 01 00 | ................
      e0 | 00 00 00 00 45 00 00 00 00 00 00 80 34 20 00 00 | ....E.......4...
      f0 | 00 00 16 00 00 00 00 00 00 00 00 00 00 00 ff ff | ................
     100 | ff ff 4b 20 00 00 00 00 0f 00 00 00 00 00 00 00 | ..K.............
     110 | 2e 00 10 00 00 00 00 12 00 00 00 00 00 00 00 00 | ................

max 2010
Scene:
       0 | 12 20 (id version)
                 1e 3f 02 80 (size+containerflag)
                             00 00 (id)
                                   98 00 00 80 (size+containerflag)
                                               0b 00 (id)
                                                     1e 00 | ...?............
      10 | 00 00 (size 30-6=24)
                 3c 29 06 5a 1e 0c 42 30 60 11 00 00 00 00 | ..<).Z..B0`.....
      20 | 00 21 e0 2e 04 00 01 00 00 00
                                         0e 00 (id)
                                               19 00 00 00 (size 25-6=19)
                                                           | .!..............
      30 | 00 00 04 00 00 00 00 00 82 00 00 00 00 00 40 00 | ..............@.
      40 | 00 00 00
                    0e 00 19 00 00 00
                                      01 00 01 00 00 00 00 | ................
      50 | 00 82 00 00 00 00 00 40 00 00 00 00 0e 00 19 00 | .......@........
      60 | 00 00 02 00 04 00 00 00 00 00 82 00 00 00 00 00 | ................
      70 | 40 00 00 00 00
                          0e 00 19 00 00 00
                                            04 00 09 00 00 | @...............
      80 | 00 00 00
                    80 06 00 00 00 00 40 ff ff ff ff
                                                     0c 00 | .........@......
      90 | 10 00 00 00 01 00 00 00 01 00 00 00 00 00 01 00 | ................
      a0 | 25 00 00 80 34 20 0e 00 00 00 00 00 00 00 ff ff | %...4...........
      b0 | ff ff 4b 20 07 00 00 00 2e 00 10 0a 00 00 00 00 | ..K.............
      c0 | 00 00 00 00 00 be 03 00 80 35 20 0a 00 00 00 09 | .........5......
      d0 | 00 00 00 4b 20 07 00 00 00 2e 0b 00 1e 00 00 00 | ...K............
      e0 | 59 b4 8a 21 80 89 dc 25 60 11 00 00 00 00 00 21 | Y..!...%`......!
      f0 | e0 2e 25 00 03 00 00 00 0e 00 19 00 00 00 00 00 | ..%.............
     100 | 04 00 00 00 01 00 82 00 00 00 00 00 c0 00 00 00 | ................
     110 | 00 0e 00 15 00 00 00 01 00 0f 00 00 00 40 20 81 | .............@..
     120 | 10 00 00 00 00 40 0e 00 15 00 00 00 02 00 0f 00 | .....@..........
     130 | 00 00 40 20 81 10 00 00 00 00 40 0e 00 15 00 00 | ..@.......@.....
     140 | 00 03 00 0f 00 00 00 40 20 81 10 00 00 00 00 40 | .......@.......@
     150 | 0e 00 15 00 00 00 04 00 0f 00 00 00 40 00 81 10 | ............@...
     160 | 00 00 00 00 40 0e 00 15 00 00 00 05 00 0f 00 00 | ....@...........
     170 | 00 40 00 81 10 00 00 00 00 40 0e 00 15 00 00 00 | .@.......@......
     180 | 06 00 0f 00 00 00 40 00 81 10 00 00 00 00 40 0e | ......@.......@.
     190 | 00 15 00 00 00 07 00 0f 00 00 00 40 20 81 10 00 | ...........@....
     1a0 | 00 00 00 40 0e 00 15 00 00 00 08 00 0f 00 00 00 | ...@............
     1b0 | 40 00 81 10 00 00 00 00 40 0e 00 15 00 00 00 09 | @.......@.......




max 2010
(DllDirectory) {
0x21c0: (CStorageValue) { 786432216 }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Viewport Manager for DirectX (Autodesk) }
	0x2037: (CStorageValue) { ViewportManager.gup } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { mental ray: Material Custom Attributes (Autodesk) }
	0x2037: (CStorageValue) { mrMaterialAttribs.gup } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Custom Attribute Container (Autodesk) }
	0x2037: (CStorageValue) { CustAttribContainer.dlo } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Standard Materials and Textures (Autodesk) }
	0x2037: (CStorageValue) { mtl.dlt } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Standard Samplers (Autodesk) }
	0x2037: (CStorageValue) { samplers.dlh } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Default Materials and Textures (Autodesk) }
	0x2037: (CStorageValue) { mtlgen.dlt } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { ProSound - Multitrack Audio }
	0x2037: (CStorageValue) { ProSound.dlc } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Editable Poly Object (Autodesk) }
	0x2037: (CStorageValue) { EPoly.dlo } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Standard Pre-Filter Kernels (Autodesk) }
	0x2037: (CStorageValue) { kernel.dlk } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Default Scanline Renderer (Autodesk) }
	0x2037: (CStorageValue) { rend.dlr } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Standard Controllers (Autodesk) }
	0x2037: (CStorageValue) { ctrl.dlc } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Block Manager Utility (Autodesk) }
	0x2037: (CStorageValue) { AcadBlocks.dlu } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Propagation Manager Utility (Autodesk) }
	0x2037: (CStorageValue) { InstanceMgr.dlu } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Scene Effect Manager (Autodesk) }
	0x2037: (CStorageValue) { SceneEffectLoader.dlu } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Change Reaction Controller (Autodesk) }
	0x2037: (CStorageValue) { reactor.dlc } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { ParameterEditor (Autodesk) }
	0x2037: (CStorageValue) { ParamEditor.gup } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Bitmap Proxies (Autodesk) }
	0x2037: (CStorageValue) { BitmapProxies.dlu } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Standard Bitmap Storages and Filters (Autodesk) }
	0x2037: (CStorageValue) { StorageAndFilter.bms } }
0x2038: (DllEntry) {
	0x2039: (CStorageValue) { Biped Controller (Autodesk) }
	0x2037: (CStorageValue) { biped.dlc } } }

max 2010
(ClassDirectory3) {
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00000082)
		SuperClassID: 130}
	0x2042: (CStorageValue) { ParamBlock2 } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 0
		ClassID: (0x30420c1e, 0x5a06293c)
		SuperClassID: 4448}
	0x2042: (CStorageValue) { ViewportManager } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 1
		ClassID: (0x25dc8980, 0x218ab459)
		SuperClassID: 4448}
	0x2042: (CStorageValue) { mental ray: material custom attribute } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 2
		ClassID: (0x23b708db, 0x5ddb3626)
		SuperClassID: 256}
	0x2042: (CStorageValue) { CustAttribContainer } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 3
		ClassID: (0x00000000, 0x00001200)
		SuperClassID: 4224}
	0x2042: (CStorageValue) { Texmaps } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 3
		ClassID: (0x00000000, 0x00000038)
		SuperClassID: 4272}
	0x2042: (CStorageValue) { Blinn } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00000008)
		SuperClassID: 8}
	0x2042: (CStorageValue) { ParamBlock } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 4
		ClassID: (0x00000000, 0x25773211)
		SuperClassID: 4368}
	0x2042: (CStorageValue) { Max 2.5 Star } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 3
		ClassID: (0x00000000, 0x00000002)
		SuperClassID: 3072}
	0x2042: (CStorageValue) { Standard } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00002007)
		SuperClassID: 36867}
	0x2042: (CStorageValue) { Bezier Float } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 5
		ClassID: (0x00000000, 0x00000100)
		SuperClassID: 3104}
	0x2042: (CStorageValue) { Placement } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 5
		ClassID: (0x00000000, 0x00000100)
		SuperClassID: 3136}
	0x2042: (CStorageValue) { Output } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 3
		ClassID: (0x00000000, 0x00000240)
		SuperClassID: 3088}
	0x2042: (CStorageValue) { Bitmap } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -2
		ClassID: (0x222b9eb9, 0x64c75fec)
		SuperClassID: 3072}
	0x2042: (CStorageValue) { NeL Material } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00000c80)
		SuperClassID: 256}
	0x2042: (CStorageValue) { Material Editor } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00003333)
		SuperClassID: 256}
	0x2042: (CStorageValue) { MtlBaseLib } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 6
		ClassID: (0x5b918e4e, 0x476fa9de)
		SuperClassID: 3328}
	0x2042: (CStorageValue) { WaveMaster } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 6
		ClassID: (0x5b918e4a, 0x476fa9de)
		SuperClassID: 3328}
	0x2042: (CStorageValue) { ProSound } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00000002)
		SuperClassID: 1}
	0x2042: (CStorageValue) { RootNode } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00002008)
		SuperClassID: 36875}
	0x2042: (CStorageValue) { Bezier Position } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00442313)
		SuperClassID: 36876}
	0x2042: (CStorageValue) { TCB Rotation } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00002010)
		SuperClassID: 36877}
	0x2042: (CStorageValue) { Bezier Scale } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00002005)
		SuperClassID: 36872}
	0x2042: (CStorageValue) { Position/Rotation/Scale } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x0d9c20ff)
		SuperClassID: 36880}
	0x2042: (CStorageValue) { Master Point Controller } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 7
		ClassID: (0x192f6098, 0x1bf8338d)
		SuperClassID: 16}
	0x2042: (CStorageValue) { Editable Poly } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x1dba1df0, 0x7e9858fe)
		SuperClassID: 4336}
	0x2042: (CStorageValue) { Base Layer } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00000001)
		SuperClassID: 1}
	0x2042: (CStorageValue) { Node } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 8
		ClassID: (0x00000000, 0x77912301)
		SuperClassID: 4256}
	0x2042: (CStorageValue) { Area } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 9
		ClassID: (0x00000000, 0x00000001)
		SuperClassID: 3840}
	0x2042: (CStorageValue) { Default Scanline Renderer } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x06546546, 0x46576167)
		SuperClassID: 512}
	0x2042: (CStorageValue) { RenderElementMgr } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00002011)
		SuperClassID: 36869}
	0x2042: (CStorageValue) { Bezier Color } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0xee448b23)
		SuperClassID: 4112}
	0x2042: (CStorageValue) { RenderEnvironment } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00008d52)
		SuperClassID: 256}
	0x2042: (CStorageValue) { NamedSelSetList } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x90f2ee71, 0x8d73b8aa)
		SuperClassID: 512}
	0x2042: (CStorageValue) { TVNode } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 10
		ClassID: (0x00000000, 0x4b4b1000)
		SuperClassID: 36867}
	0x2042: (CStorageValue) { Float List } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 10
		ClassID: (0x00000000, 0x4b4b1001)
		SuperClassID: 36869}
	0x2042: (CStorageValue) { Point3 List } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 10
		ClassID: (0x00000000, 0x4b4b1005)
		SuperClassID: 36882}
	0x2042: (CStorageValue) { Point4 List } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 10
		ClassID: (0x00000000, 0x4b4b1002)
		SuperClassID: 36875}
	0x2042: (CStorageValue) { Position List } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 10
		ClassID: (0x00000000, 0x4b4b1003)
		SuperClassID: 36876}
	0x2042: (CStorageValue) { Rotation List } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 10
		ClassID: (0x00000000, 0x4b4b1004)
		SuperClassID: 36877}
	0x2042: (CStorageValue) { Scale List } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 10
		ClassID: (0x00000000, 0x4b4b1015)
		SuperClassID: 36881}
	0x2042: (CStorageValue) { Block Control } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 11
		ClassID: (0x11793bed, 0x1f8c3646)
		SuperClassID: 36867}
	0x2042: (CStorageValue) { Block Manager Wrapper } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 12
		ClassID: (0x7620792b, 0x5a1b661e)
		SuperClassID: 36867}
	0x2042: (CStorageValue) { Propagation Manager Wrapper } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 13
		ClassID: (0xf4044794, 0x368d1139)
		SuperClassID: 36867}
	0x2042: (CStorageValue) { Scene Effect Loader } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 14
		ClassID: (0x087906d7, 0x294a389c)
		SuperClassID: 256}
	0x2042: (CStorageValue) { Reaction Manager } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 15
		ClassID: (0x265a2326, 0x28250b30)
		SuperClassID: 4448}
	0x2042: (CStorageValue) { ParameterCollectorCA } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 16
		ClassID: (0x01513165, 0x4a0c66e1)
		SuperClassID: 2912}
	0x2042: (CStorageValue) {  } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x2c1a0a7b, 0x0c6f6387)
		SuperClassID: 36879}
	0x2042: (CStorageValue) { SceneAppData Latch } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 17
		ClassID: (0x68c22d6f, 0x5bf94f11)
		SuperClassID: 2912}
	0x2042: (CStorageValue) { BitmapPagerData } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 10
		ClassID: (0x781f1430, 0x0f4871a5)
		SuperClassID: 36879}
	0x2042: (CStorageValue) { MasterLayerControlManager } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 18
		ClassID: (0x30935afc, 0x57a52b8c)
		SuperClassID: 36879}
	0x2042: (CStorageValue) { Max Mixer Clip } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00000001)
		SuperClassID: 4294966784}
	0x2042: (CStorageValue) { Grid Reference } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x17356912)
		SuperClassID: 4240}
	0x2042: (CStorageValue) { RenderEffects } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: 9
		ClassID: (0x00000000, 0x00000100)
		SuperClassID: 4304}
	0x2042: (CStorageValue) { Shadow Map } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x51ff028e, 0x0d7374fc)
		SuperClassID: 512}
	0x2042: (CStorageValue) { Layer Manager } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x2cf03595)
		SuperClassID: 256}
	0x2042: (CStorageValue) { TrackSetList } }
0x2040: (ClassEntry) {
	0x2060: (ClassDirectoryHeader) {
		DllIndex: -1
		ClassID: (0x00000000, 0x00002222)
		SuperClassID: 256}
	0x2042: (CStorageValue) { Scene } } }




Config

nel script material id:
0x64c75fec, 0x222b9eb9
ec 5f c7 64 b9 9e 2b 22

0x2180: (StorageContainer) {
	0x0040: (StorageContainer) {
		0x0050: (StorageRaw) {
			Size: 12
			String: ....._.d..+"
			Hex: 00 0c 00 00 ec 5f c7 64 b9 9e 2b 22 }
		0x0007: (StorageContainer) {
			0x0060: (StorageRaw) {
				Size: 4
				String: ....
				Hex: 09 00 00 00 }
			0x0007: (StorageContainer) {
				0x0060: (StorageRaw) {
					Size: 4
					String: ....
					Hex: 0e 00 00 00 }
				0x0006: (StorageRaw) {
					Size: 9
					String: ....nlbp.
					Hex: 05 00 00 00 6e 6c 62 70 00 }
				0x0003: (StorageRaw) {
					Size: 4
					String: .... }
				0x0003: (StorageRaw) {
					Size: 4
					String: ....
					Hex: 01 00 00 00 }
				0x0007: (StorageContainer) {
					0x0060: (StorageRaw) {
						Size: 4
						String: ....
						Hex: 02 00 00 00 }



max3
(Config) {
0x20e0: (StorageContainer) {
	0x0100: (StorageRaw) {
		Size: 12
		String: ...=........
		Hex: cd cc cc 3d 0a 00 00 00 01 00 00 00 }
	0x0200: (StorageRaw) {
		Size: 48
		String: ...@.. A........................................
		Hex: 00 00 a0 40 00 00 20 41 01 00 00 00 03 00 00 00 08 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }
	0x0300: (StorageRaw) {
		Size: 0
		String:
		Hex: } }
0x20a0: (StorageContainer) {
	0x0100: (StorageRaw) {
		Size: 4
		String: ....


max2010
(Config) {
0x20e0: (StorageContainer) {
	0x0100: (StorageRaw) {
		Size: 12
		String: .. A........
		Hex: 00 00 20 41 0a 00 00 00 01 00 00 00 }
	0x0400: (StorageRaw) {
		Size: 8
		String: ........
		Hex: 07 00 00 00 01 00 00 00 }
	0x0200: (StorageRaw) {
		Size: 40
		String: ...@.. A................................
		Hex: 00 00 a0 40 00 00 20 41 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 }
	0x0300: (StorageRaw) {
		Size: 0
		String:
		Hex: } }
0x20a0: (StorageContainer) {
	0x0100: (StorageRaw) {
		Size: 4
		String: ....
		Hex: 01 00 00 00 }





max2010 scene, near no fx
2f 27 02 05
std::string CExportNel::getScriptAppData (Animatable *node, uint32 id, const std::string& def)
AppDataChunk *ap=node->GetAppDataChunk (MAXSCRIPT_UTILITY_CLASS_ID, UTILITY_CLASS_ID, id);
MAXSCRIPT_UTILITY_CLASS_ID Class_ID(0x4d64858, 0x16d1751d)
UTILITY_CLASS_ID 0x001020
#define NEL3D_APPDATA_ENV_FX						(84682543)
0x50C272F

0x0110: (StorageContainer) [2] {
	0x0120: (StorageRaw) {
		Size: 20
		String: XH...u.. .../'......
		Hex: 58 48 d6 04 1d 75 d1 16 // MAXSCRIPT_UTILITY_CLASS_ID
			20 10 00 00 // UTILITY_CLASS_ID
			2f 27 0c 05 // NEL3D_APPDATA_ENV_FX
			06 00 00 00 } // size???
	0x0130: (StorageRaw) {
		Size: 6
		String: no fx. } }






Scene class references

ver3
		References 0x2034: PARSED {
			0: <ptr=0x000000000201f1b0> (Material Editor, (0x00000c80, 0x00000000))
			1: <ptr=0x0000000002110e30> (MtlBaseLib, (0x00003333, 0x00000000))
			2: <ptr=0x00000000021110d0> (Default Sound, (0x00000001, 0x00000000))
			3: <ptr=0x00000000021118c0> (RootNode, (0x00000002, 0x00000000))
			4: <ptr=0x00000000027be740> (RenderEnvironment, (0xee448b23, 0x00000000))
			5: <ptr=0x00000000027c1400> (NamedSelSetList, (0x00008d52, 0x00000000))
			6: <ptr=0x00000000027c3640> (TVNode, (0x8d73b8aa, 0x90f2ee71))
			7: <ptr=0x00000000027c3bc0> (Grid Reference, (0x00000001, 0x00000000))
			8: <ptr=0x00000000027c3de0> (RenderEffects, (0x17356912, 0x00000000))
			9: <ptr=0x00000000027c4a20> (Shadow Map, (0x00000100, 0x00000000))
			10: <ptr=0x00000000027c4cf0> (Layer Manager, (0x0d7374fc, 0x51ff028e)) }

ver9
		References 0x2034: PARSED {
			0: <ptr=0x0000000000f04bf0> (Material Editor, (0x00000c80, 0x00000000))
			1: <ptr=0x0000000000f05430> (MtlBaseLib, (0x00003333, 0x00000000))
			2: <ptr=0x0000000000f059d0> (Default Sound, (0x00000001, 0x00000000))
			3: <ptr=0x0000000000f05ec0> (RootNode, (0x00000002, 0x00000000))
			4: <ptr=0x0000000002b8bfb0> (RenderEnvironment, (0xee448b23, 0x00000000))
			5: <ptr=0x0000000002b91a20> (NamedSelSetList, (0x00008d52, 0x00000000))
			6: <ptr=0x0000000002ba2380> (TVNode, (0x8d73b8aa, 0x90f2ee71))
			7: <ptr=0x0000000002ba38a0> (Grid Reference, (0x00000001, 0x00000000))
			8: <ptr=0x0000000002ba3dc0> (RenderEffects, (0x17356912, 0x00000000))
			9: <ptr=0x0000000002ba4b60> (Shadow Map, (0x00000100, 0x00000000))
			10: <ptr=0x0000000002ba5130> (Layer Manager, (0x0d7374fc, 0x51ff028e))
			11: <ptr=0x0000000002ba57d0> (TrackSetList, (0x2cf03595, 0x00000000)) }

ver2008
		References 0x2034: PARSED {
			0: <ptr=0x0000000001d96380> (Material Editor, (0x00000c80, 0x00000000))
			1: <ptr=0x0000000001d96910> (MtlBaseLib, (0x00003333, 0x00000000))
			2: <ptr=0x0000000001d96b30> (Default Sound, (0x00000001, 0x00000000))
			3: <ptr=0x0000000001d97020> (RootNode, (0x00000002, 0x00000000))
			4: <ptr=0x0000000001da0870> (RenderEnvironment, (0xee448b23, 0x00000000))
			5: <ptr=0x0000000001da6020> (NamedSelSetList, (0x00008d52, 0x00000000))
			6: <ptr=0x0000000001daf540> (TVNode, (0x8d73b8aa, 0x90f2ee71))
			7: <ptr=0x0000000001db0610> (Grid Reference, (0x00000001, 0x00000000))
			8: <ptr=0x0000000001db0880> (RenderEffects, (0x17356912, 0x00000000))
			9: <ptr=0x0000000001db1620> (Shadow Map, (0x00000100, 0x00000000))
			10: <ptr=0x0000000001db1940> (Layer Manager, (0x0d7374fc, 0x51ff028e))
			11: <ptr=0x0000000001db1d30> (TrackSetList, (0x2cf03595, 0x00000000)) }

ver2010
		References 0x2034: PARSED {
			0: <ptr=0x0000000000de4060> (Material Editor, (0x00000c80, 0x00000000))
			1: <ptr=0x0000000000de45f0> (MtlBaseLib, (0x00003333, 0x00000000))
			2: <ptr=0x0000000000de5050> (ProSound, (0x476fa9de, 0x5b918e4a))
			3: <ptr=0x0000000000de61b0> (RootNode, (0x00000002, 0x00000000))
			4: <ptr=0x0000000000e044e0> (RenderEnvironment, (0xee448b23, 0x00000000))
			5: <ptr=0x0000000000e09ee0> (NamedSelSetList, (0x00008d52, 0x00000000))
			6: <ptr=0x0000000000e14790> (TVNode, (0x8d73b8aa, 0x90f2ee71))
			7: <ptr=0x0000000000e15bb0> (Grid Reference, (0x00000001, 0x00000000))
			8: <ptr=0x0000000000e15e20> (RenderEffects, (0x17356912, 0x00000000))
			9: <ptr=0x0000000000e16bc0> (Shadow Map, (0x00000100, 0x00000000))
			10: <ptr=0x0000000000e16ee0> (Layer Manager, (0x0d7374fc, 0x51ff028e))
			11: <ptr=0x0000000000e172d0> (TrackSetList, (0x2cf03595, 0x00000000)) }



01 00 00 00 // one face
	04 00 00 00 // four edges/vertices
		02 00 00 00 // 2
		00 00 00 00 // 0
		01 00 00 00 // 1
		03 00 00 00 // 3
			30 00 // nomnom
			01 00 00 00 // nomnom
			01 00 00 00 // nomnom
			03 00 00 00 // nomnom

////// banner

c2 00 00 00 // 194 faces
	04 00 00 00 // four vertices
		00 00 00 00
		01 00 00 00
		2e 00 00 00
		2d 00 00 00
		31 00 // magic
			0c 00 00 00 // magic
			08 00 00 00 // more magic?!
		01 00 00 00 // cut from local 1
		03 00 00 00 // to local 3
	04 00 00 00 // four vertices
		01 00 00 00
		02 00 00 00
		2f 00 00 00
		2e 00 00 00
		31 00 // magic
			04 00 00 00 // magic
			08 00 00 00 // more magic?!
		01 00 00 00 // cut from local 1
		03 00 00 00 // to local 3
	04 00 00 00
		02 00 00 00
		03 00 00 00
		30 00 00 00
		2f 00 00 00
		31 00
			04 00 00 00
			08 00 00 00
		01 00 00 00
		03 00 00 00
	04 00 00 00
		03 00 00 00
		04 00 00 00
		31 00 00 00
		30 00 00 00
		31 00
			0c 00 00 00
			08 00 00 00
		01 00 00 00
		03 00 00 00
	04 00 00 00
		04 00 00 00 00 00 00 00 2d 00 00 00 31 00 00 00
		31 00
			0c 00 00 00 08 00 00 00
		01 00 00 00 03 00 00 00
	04 00 00 00
		14 00 00 00 13 00 00 00 19 00 00 00 18 00 00 00
		39 00
			0c 00 00 00
			09 00
			08 00 00 00
		02 00 00 00
		00 00 00 00
	04 00 00 00 13 00 00 00 15 00 00 00 1a 00 00 00 19 00 00 00
	39 00 04 00 00 00
	09 00 08 00 00 00
	02 00 00 00 00 00 00 00 04 00 00 00 15 00 00 00 16 00 00 00 1b 00 00 00 1a 00 00 00 39 00 04 00 00 00 09 00 08 00 00 00 02 00 00 00 00 00 00 00 04 00 00 00 16 00 00 00 17 00 00 00 1c 00 00 00 1b 00 00 00 39 00 0c 00 00 00 09 00 08 00 00 00 02 00 00 00 00 00 00 00 04 00 00 00 17 00 00 00 14 00 00 00 18 00 00 00 1c 00 00 00 39 00 0c 00 00 00 09 00 08 00 00 00 02 00 00 00 00 00 00 00 04 00 00 00 0b 00 00 00 0a 00 00 00 1f 00 00 00 20 00 00 00 31 00 04 00 00 00 08 00 00 00 00 00 00 00 02 00 00 00 04 00 00 00 0a 00 00 00 09 00 00 00 1e 00 00 00 1f 00 00 00 31 00 0c 00 00 01 08 00 00 00 00 00 00 00 02 00 00 00 04 00 00 00 0c 00 00 00 0b 00 00 00 20 00 00 00 21 00 00 00 31 00 04 00 00 00 08 00 00 00 00 00 00 00 02 00 0

////// banner

	3 0x0100: (StorageArraySizePre) [6] { { 0x0, -5.000000 -5.000000 0.000000 } { 0x1000000, 5.000000 -5.000000 0.000000 } { 0x0, -5.000000 5.000000 0.000000 } { 0x1000000, 5.000000 5.000000 0.000000 } { 0x0, 5.000000 -5.000000 10.000000 } { 0x0, 5.000000 5.000000 10.000000 } }
	4 0x010a: (StorageArraySizePre) [7] { { 0x0, 2 0 } { 0x0, 3 2 } { 0x0, 1 3 } { 0x0, 0 1 } { 0x0, 1 4 } { 0x0, 5 3 } { 0x1, 4 5 } }
	5 0x011a: (StorageRaw) {
		Size: 68
		String: ........................0................................. .........
		Hex:

02 00 00 00 // 2 faces!
	04 00 00 00 // 4 vertices
		02 00 00 00
		00 00 00 00
		01 00 00 00 // shared
		03 00 00 00 // shared
		30 00
			01 00 00 00
			01 00 00 00
		03 00 00 00
	04 00 00 00 // 4 vertices
		03 00 00 00 // shared
		01 00 00 00 // shared
		04 00 00 00
		05 00 00 00
		20 00
			00 00 00 00
		02 00 00 00 }



	3 0x0100: (StorageArraySizePre) [8] { { 0x0, -5.000000 -5.000000 0.000000 } { 0x0, 5.000000 -5.000000 0.000000 } { 0x0, -5.000000 5.000000 0.000000 } { 0x0, 5.000000 5.000000 0.000000 } { 0x1000000, 5.000000 -5.000000 10.000000 } { 0x1000000, 5.000000 5.000000 10.000000 } { 0x0, -5.000000 -5.000000 10.000000 } { 0x0, -5.000000 5.000000 10.000000 } }
	4 0x010a: (StorageArraySizePre) [10] { { 0x8, 2 0 } { 0x8, 3 2 } { 0x8, 1 3 } { 0x8, 0 1 } { 0x8, 1 4 } { 0x8, 5 3 } { 0x0, 4 5 } { 0x0, 4 6 } { 0x0, 7 5 } { 0x0, 6 7 } }
	5 0x011a: (StorageRaw) {
		Size: 106
		String: ........................1.....................................!................................. .........
		Hex:

03 00 00 00 // 3 faces
	04 00 00 00 // 4 vertices
		02 00 00 00
		00 00 00 00
		01 00 00 00
		03 00 00 00
		31 00 				// 0011 0001
			08 00 00 00
			01 00 00 00
			01 00 00 00
		03 00 00 00
	04 00 00 00 // 4 vertices
		03 00 00 00
		01 00 00 00
		04 00 00 00 // shared vertex
		05 00 00 00 // shared vertex
		21 00				// 0010 0001
			08 00 00 00
			00 00 00 00
		02 00 00 00
	04 00 00 00 // 4 vertices
		05 00 00 00 // shared vertex
		04 00 00 00 // shared vertex
		06 00 00 00
		07 00 00 00
		20 00 				// 0010 0000
			00 00 00 00
		02 00 00 00 }

** triangulation is stored inside the polyobject somewhere with the faces!

	3 0x0100: (StorageArraySizePre) [5] { { 0x0, -5.000000 -2.000000 0.000000 } { 0x0, 1.169249 -6.003741 0.000000 } { 0x0, -3.931087 3.378710 0.000000 } { 0x0, 3.007738 4.420538 0.000000 } { 0x0, 5.070167 -1.944196 0.000000 } }
	4 0x010a: (StorageArraySizePre) [5] { { 0x0, 2 0 } { 0x0, 3 2 } { 0x0, 1 4 } { 0x0, 0 1 } { 0x0, 4 3 } }
	5 0x011a: (StorageRaw) {
		Size: 50
		String: ............................0.....................
		Hex:

01 00 00 00 // 1 face
	05 00 00 00
		02 00 00 00
		00 00 00 00 // v0 at idx 1
		01 00 00 00
		04 00 00 00
		03 00 00 00
		30 00 // triangulation egdes should both 	touch vertex 0... locally 1?
			01 00 00 00
			01 00 00 00
		03 00 00 00
		01 00 00 00
		oops deleted


		Float: 4.2039e-45 }
	3 0x0100: (StorageArraySizePre) [5] { { 0x0, -5.000000 -2.000000 0.000000 } { 0x0, 1.169249 -6.003741 0.000000 } { 0x0, -3.931087 3.378710 0.000000 } { 0x0, 3.007738 4.420538 0.000000 } { 0x0, 5.070167 -1.944196 0.000000 } }
	4 0x010a: (StorageArraySizePre) [5] { { 0x0, 2 0 } { 0x0, 3 2 } { 0x0, 1 4 } { 0x0, 0 1 } { 0x0, 4 3 } }
	5 0x011a: (StorageRaw) {
		Size: 50
		String: ............................0.....................
		Hex:
01 00 00 00
	05 00 00 00
		02 00 00 00
		00 00 00 00
		01 00 00 00 // v1 at idx 2
		04 00 00 00
		03 00 00 00
	30 00 						30 00  // triangle edges should both touch vertex 1... locally 2?
		01 00 00 00 				01 00 00 00
		00 00 00 00					01 00 00 00
	02 00 00 00 				03 00 00 00
	02 00 00 00 				01 00 00 00 // hm!
	04 00 00 00					oops deleted }


	3 0x0100: (StorageArraySizePre) [5] { { 0x0, -5.000000 -2.000000 0.000000 } { 0x0, 1.169249 -6.003741 0.000000 } { 0x0, -3.931087 3.378710 0.000000 } { 0x0, 3.007738 4.420538 0.000000 } { 0x1, 5.070167 -1.944196 0.000000 } }
	4 0x010a: (StorageArraySizePre) [5] { { 0x0, 2 0 } { 0x0, 3 2 } { 0x0, 1 4 } { 0x0, 0 1 } { 0x0, 4 3 } }
	5 0x011a: (StorageRaw) {
		Size: 50
		String: ............................0.....................
		Hex:

01 00 00 00
	05 00 00 00
		02 00 00 00
		00 00 00 00
		01 00 00 00
		04 00 00 00
		03 00 00 00
	30 00 // magic // triangle edges should touch vertex 4 .. locally 3?
		01 00 00 00 // magic
	01 00 00 00 // triangulate from local 1
	03 00 00 00 // to local 3
	00 00 00 00 // triangulate from local 0
	03 00 00 00 // to local 3 }


	3 0x0100: (StorageArraySizePre) [3] { { 0x0, -5.000000 -2.000000 0.000000 } { 0x0, 1.169249 -6.003741 0.000000 } { 0x0, 5.070167 -1.944196 0.000000 } }
	4 0x010a: (StorageArraySizePre) [3] { { 0x0, 1 2 } { 0x0, 0 1 } { 0x1, 2 0 } }
	5 0x011a: (StorageRaw) {
		Size: 26
		String: ..........................
		Hex:

01 00 00 00
	03 00 00 00
		00 00 00 00
		01 00 00 00
		02 00 00 00
	10 00
		01 00 00 00 }


01 00 00 00
	05 00 00 00
		02 00 00 00
		00 00 00 00
		01 00 00 00
		04 00 00 00
		03 00 00 00
	31 00    /// 20 00 = info, last; 10 00 = smoothing groups; 01 00 = ??
		01 00 01 00
		ff ff ff ff // smoothing group
	01 00 00 00 03 00 00 00 // cut 1
	00 00 00 00 03 00 00 00 // cut 1 }


bitfield
	01 00 = unknown, uint32 or pair<uint16> '01 00 01 00'
	02 00
	04 00
	08 00 = material id, uint16 (max shows index + 1, so starts at 1, binary starts at 0)
	10 00 = smoothing groups, uint32
	20 00 = triangulation, pair<uint32> per cut
	40 00 ?


01 00 00 00 05 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 04 00 00 00 03 00 00 00 21 00 01 00 01 00 01 00 00 00 03 00 00 00 00 00 00 00 03 00 00 00 // selected
01 00 00 00 05 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 04 00 00 00 03 00 00 00 21 00 00 00 01 00 01 00 00 00 03 00 00 00 00 00 00 00 03 00 00 00 // unselected - no difference *** byte changed from 1 to 0 ???
01 00 00 00 05 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 04 00 00 00 03 00 00 00 29 00 01 00 01 00 04 00 01 00 00 00 03 00 00 00 00 00 00 00 03 00 00 00 // material id changed to '5', 08 00
01 00 00 00 05 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 04 00 00 00 03 00 00 00 29 00 01 00 01 00 04 00 01 00 00 00 03 00 00 00 00 00 00 00 03 00 00 00 // clear selection unselected -- no diff
01 00 00 00 05 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 04 00 00 00 03 00 00 00 29 00 01 00 01 00 04 00 01 00 00 00 03 00 00 00 00 00 00 00 03 00 00 00 // use subdiv -- no diff
01 00 00 00 05 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 04 00 00 00 03 00 00 00 29 00 01 00 01 00 04 00 01 00 00 00 03 00 00 00 00 00 00 00 03 00 00 00 // vertex colors -- no diff




