Concepts¶
The vgio
library provides an API to work with data stored in various
video game files formats. The library is structured such that games are
represented by subpackages and file formats are represented by modules.
Broadly speaking vgio
places file formats into three categories.
Binary Data¶
Binary data is structured data that is written to a file as a sequence of bytes. It is common for the data structure to be composed of other data structures.
vgio
represents the primary binary data object of the format as a
ReadWriteFile
object. Helper data structures have
simple read(file)
and write(file, object_)
classmethods.
Archive Data¶
Archive data is a container for other types of data typically represented as
files. The ArchiveFile
and ArchiveInfo
serve as base classes for
working with such data. By design the ArchiveFile
and
ArchiveInfo
interfaces are identical to Python’s
ZipFile and
ZipInfo
interfaces respectively.
Markup Data¶
Markup data is data that is expressed as structured plain text. vgio
modules
that are markup based expose a similar interace as Python’s
json module interface. Namely
loads()
and dumps()
.