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