Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

24 Commits

Repository files navigation

wotb-dvp

WOTB dvp type file specification.

Research materials

.dvpm

DVPM files are split into 3 sections: meta, file table and footer.

meta

This section is at the very start of the file and has a magic string of "met3".

structDVPMMeta
{
charmagic[4]; // "met3"uint32_tfileCount;
uint32_tunknownArray[fileCount];
uint32_tdvpdCount;
struct {
uint32_tdvpdUnknown1;
uint32_tdvpdUnknown2;
uint32_tdvpdUnknown3;
uint32_tdvpdUnknown4;
} dvpdInfo[dvpdCount]; // For every dvpd there are 16 bytes of unknown datauint32_tfilePathStringLength;
charfilePathString[]; // Null seperated filepath stringsuint32_tpackStringsRawSize;
uint32_tpackStringCompressedSize;
bytepackStrings[]; // lz4 encoded "pack" strings
}

file table

structDVPMFileTable
{
struct {
uint64_tfileOffset; // Offset to the file inside the dvpd data blockuint32_tcompressedSize;
uint32_tuncompressedSize;
uint32_tcompressedCRC32;
uint32_tcompressionType;
uint32_tuncompressedCRC32;
uint32_tmetaSectionReference;
} FileEntries[];
bytefilePaths[]; // lz4 encoded file paths string (separated by null bytes), see footer "fileTableFilepaths"
}

Compression types

0 none
1 LZ4
2 LZ4_HC
3 RFC1951

footer

The footer is 44 bytes large and the last 4 bytes are a magic string that reads "DVPM".

structDVPMFooter
{
byteunknown1[8];
uint32_tmetaSectionCRC32;
uint32_tmetaSectionSize;
byteunknown2[4];
uint32_tfileCount;
uint32_tfileTableFilepathsCompressedSize;
uint32_tfileTableFilepathsRawSize;
uint32_tfileTableSize;
uint32_tfileTableCRC32;
charmagic[4]; // "DVPM"
}

.dvpd

TODO

footer

The footer is 32 bytes large and the last four bytes are a magic string that read "DVPD".

structDVPDFooter
{
struct {
uint32_tdvpdUnknown1;
uint32_tdvpdUnknown2;
uint32_tdvpdUnknown3;
uint32_tdvpdUnknown4;
} dvpdInfo; // Matches with dvpdInfo in DVPM meta sectionuint64_tdataSize; // File size - header size (file size - 32)uint32_tdataCRC32;
charmagic[4]; // "DVPD"
}

About

WOTB dvpm/dvpd file format.

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Contributors

Languages