 >
          technical stuff
          >
          the file formats
          >
          technical stuff
          >
          the file formats
        
veadotube has a few of its own file formats, for different purposes.
.veado filethe main file format veadotube uses is the .veado file format. it also comes with the extension .veadoscene to differentiate between avatar files and scene files, but both got the same internal structure.
it’s a chunk based file with a very simple layout. it starts with VEADOTUBE written in ASCII, then for each chunk:
| length | description | 
|---|---|
| 4 | chunk id, unsigned integer, non-zero | 
| 4 | chunk type, FourCC, non-zero | 
| 4 | chunk length = x, unsigned integer, non-zero | 
| x | chunk data | 
if the chunk id or type or length are zero, the file stops being read.
some notes:
the subpages for this article describe each chunk and their purpose.
.vimg fileveadotube can read and write images in the .vimg format. it’s an image format that supports animated images, and uses the same image compression formats as the texture chunks in the .veado file format.
| length | description | 
|---|---|
| 4 | ASCII for VIMG | 
| 4 | image width, unsigned integer, non-zero | 
| 4 | image height, unsigned integer, non-zero | 
| 4 | loop count, signed integer | 
it then loops while reading a byte value. if the byte is zero, the image ends.
if the byte is 1, it is assumed that it’s a blank frame:
| length | description | 
|---|---|
| 8 | frame duration, double-precision float | 
if the byte is 2, it declares a new texture:
| length | description | 
|---|---|
| 8 | frame duration, double-precision float | 
| 4 | offset in X for the frame texture, unsigned integer | 
| 4 | offset in Y for the frame texture, unsigned integer | 
| 4 | length for the texture data = n | 
| n | texture data, exact same as the contents for the ABMPchunk | 
at some point, veadotube mini avatars used a special extension .veadomini – the specification for those vary depending on the program version.
for veadotube mini 1.4, .veadomini was a renamed .zip file containing images and .yaml files that describe the Mini Avatar. for veadotube mini 1.3c and earlier, .veadomini was a very improvised binary file, with each change making it incompatible with earlier versions.
the old Patreon version of veadotube (late 2021, early 2022) used a .veado avatar file that’s similar to the one in veadotube mini 1.4: a renamed .zip file containing images and .yaml files, this time describing a Dynamic Avatar instead of a Mini Avatar. this avatar format is not compatible with any recent versions of veadotube.
each subpage here describes a group of chunks used in a .veado file, and how they interact with each other.