>
technical stuff
>
the file formats
>
dynamic avatars
dynamic avatars can be created and used with veadotube.
DART chunkprovides base information on a dynamic avatar file, and the root asset folder. the existence of this chunk in a file tells that this is file may contain dynamic avatar objects.
| length | description |
|---|---|
| 4 | id for the DAFD chunk for the root asset folder |
| 1+ | base information, properties structure |
DAFD chunkprovides information on an asset folder.
| length | description |
|---|---|
| 1+ | asset list length = n |
| ? | n asset list entries |
| 1+ | extra data, properties structure |
for each asset list entry:
| length | description |
|---|---|
| 4 | id for the chunk representing the asset, which can be AIMG, ABMP, DAOB |
| 4 | id for the ABMP chunk representing the asset thumbnail |
| 1+ | asset name, variable-length string |
DAOB chunkprovides information on a dynamic avatar object.
| length | description |
|---|---|
| 1+ | data for the object, properties structure |
| 1+ | list of associated DALY chunk ids, prefixed with a variable-length integer |
| 1+ | list of associated DASG chunk ids, prefixed with a variable-length integer |
| 1+ | list of associated DANI chunk ids, prefixed with a variable-length integer |
the list of DALY chunks may also include invalid chunk ids. if the id is 0xFFFFFFFF, it doesn’t represent a chunk but rather a layer group opening. respectively, an id of 0x00000000 represents a group closing. valid chunks prepending a 0xFFFFFFFF value are treated as the parent layers of the subsequent valid chunks until the corresponding 0x00000000 value is reached.
DALY chunkprovides information on a dynamic avatar object layer.
| length | description |
|---|---|
| 1+ | data for the layer, properties structure |
| 1+ | pin list length = n |
| ? | n pin list entries |
| 1+ | dynamics list length = n2 |
| ? | n2 dynamics list entries |
for each pin list entry:
| length | description |
|---|---|
| 8 | pin X position, double-precision floating number |
| 8 | pin Y position, double-precision floating number |
| 1 | 1 if this pin is exposed as an anchor, 0 otherwise |
| 1+ | name for the exposed anchor, variable-length string |
for each dynamics list entry:
| length | description |
|---|---|
| 1+ | dynamics type, variable-length string |
| 1+ | dynamics id, variable-length integer |
most layer properties such as transforming and effects are stored in the properties structure. this includes settings for each dynamics.
DASG chunkprovides information on a dynamic avatar object state group.
| length | description |
|---|---|
| 1+ | data for the state group, properties structure |
| 1+ | list of associated DAST chunk ids, prefixed with a variable-length integer |
DAST chunkprovides information on a dynamic avatar object state.
| length | description |
|---|---|
| 1+ | data for the state, properties structure |
DANI chunkprovides information on a dynamic avatar object node input.
| length | description |
|---|---|
| 1+ | extra data for the node, properties structure |
| 1+ | length of usage list = n, variable-length integer |
| ? | list of usages, n variable-length strings |