the file formats

veadotube has a few of its own file formats, for different purposes.

the .veado file

the 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.

the .vimg file

veadotube 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 ABMP chunk

older file formats

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.

.veado chunks and more info

each subpage here describes a group of chunks used in a .veado file, and how they interact with each other.