XBTC.h, mas é explicado em detalhes neste tópico.
O formato do arquivo de pacote está sujeito a alterações e inclui um número de versão incremental. Quando invocado sem opções, o XBTC.exe exibe o número da versão atual do arquivo de pacote. A tentativa de carregar um arquivo de pacote com uma versão diferente usando
XBTC.lib falha.XBTC.exe atualmente não oferece a capacidade de combinar arquivos de pacote nem de acrescentar texturas a um arquivo de pacote. O campo de deslocamento de dados representa o tamanho do TOC. Ele também representa a distância de busca do início do arquivo de pacote até os dados do fluxo compactado. No caso (futuro) em que o TOC for armazenado em um arquivo separado, o deslocamento de dados pode ser 0, indicando que os fluxos compactados começam no início do próprio arquivo. Quando contidos em um único arquivo, DataOffset + DataSize deve ser igual ao tamanho em bytes do arquivo de pacote.
Após o cabeçalho do arquivo de pacote, haverá uma série de descrições de textura. Esse número é igual a TextureCount. Após as descrições de textura, haverá o mesmo número de deslocamentos de busca de fluxo, representando onde começam os dados de cada textura.
XBTC_TEXTURE_INFO é uma representação compacta de um D3D12_RESOURCE_DESC, de modo que a textura possa ser descrita no momento do carregamento. Esses detalhes podem ser usados para calcular tamanhos de memória, deslocamentos e alinhamentos. O deslocamento e o índice são usados para determinar quais fluxos compactados são mapeados para uma textura e o deslocamento de busca de 40 bits até o início dos dados do fluxo. Isso permite arquivos de pacote de 1 TB e até 16M fluxos individuais. O número total de fluxos é indicado pelo NextIndex da última textura. Após as informações por textura, vêm as informações detalhadas por fluxo.
CompressedSize for menor que InflatedSize, Deflate foi usado. Se InflatedSize for menor que UncompressedSize, BCPack foi usado. Ambos ou nenhum podem ser usados.
Após a matriz StreamInfo, pode ser inserido preenchimento para alinhar os dados do fluxo compactado a 16 bytes. Os dados do fluxo compactado compõem o restante do arquivo.
