Documentation ¶
Index ¶
- Constants
- Variables
- func WriteMSRD(writer io.WriteSeeker, msrd MSRD) error
- func WriteMXMD(writer io.Writer, mxmd MXMD) error
- type MIBL
- type MIBLFooter
- type MIBLFormat
- type MSRD
- func (msrd *MSRD) GetCachedTextures() ([]MIBL, error)
- func (msrd *MSRD) GetDataItemsByType(dataItemType MSRDDataItemType) []MSRDDataItem
- func (msrd *MSRD) GetSplitMips() ([]MIBL, error)
- func (msrd *MSRD) SetCachedTextures(textures []MIBL) error
- func (msrd *MSRD) SetCompressedFileData(index int, data XBC1)
- func (msrd *MSRD) SetMips(splitMips []MIBL) error
- type MSRDDataItem
- type MSRDDataItemType
- type MSRDFileItem
- type MSRDHeader
- type MSRDMetaData
- type MSRDMetaDataHeader
- type MSRDTextureId
- type MSRDTextureInfoHeader
- type MSRDTextureInfoItem
- type MXMD
- type MXMDHeader
- type XBC1
- type XBC1Header
Constants ¶
View Source
const MIBL_ALIGN_SIZE uint32 = 0x1000
View Source
const MIBL_MAGIC uint32 = 'M'<<24 | 'I'<<16 | 'B'<<8 | 'L'
View Source
const MIBL_MIN_HEIGHT uint32 = 32
View Source
const MIBL_MIN_WIDTH uint32 = 16
View Source
const MIBL_VERSION uint32 = 10001
View Source
const MSRD_FILE_ALIGN uint32 = 0x10
View Source
const MSRD_FILE_INDEX_0 = 0
View Source
const MSRD_FILE_INDEX_MIPS = 1
View Source
const MSRD_FILE_INDEX_TEXTURE_START = 2
View Source
const MSRD_MAGIC uint32 = 'M'<<24 | 'S'<<16 | 'R'<<8 | 'D'
View Source
const MXMD_MAGIC uint32 = 'M'<<24 | 'X'<<16 | 'M'<<8 | 'D'
View Source
const XBC1_ZLIB_COMPRESSION_LEVEL = zlib.BestCompression
Variables ¶
View Source
var DXGIFormatToMIBLFormat = map[dds.DXGIFormat]MIBLFormat{ dds.DXGI_FORMAT_R8G8B8A8_UNORM: MIBL_FORMAT_R8G8B8A8_UNORM, dds.DXGI_FORMAT_BC1_UNORM: MIBL_FORMAT_BC1_UNORM, dds.DXGI_FORMAT_BC2_UNORM: MIBL_FORMAT_BC2_UNORM, dds.DXGI_FORMAT_BC3_UNORM: MIBL_FORMAT_BC3_UNORM, dds.DXGI_FORMAT_BC4_UNORM: MIBL_FORMAT_BC4_UNORM, dds.DXGI_FORMAT_BC5_UNORM: MIBL_FORMAT_BC5_UNORM, dds.DXGI_FORMAT_BC7_UNORM: MIBL_FORMAT_BC7_UNORM, }
View Source
var XBC1_MAGIC = [4]byte{'x', 'b', 'c', '1'}
Functions ¶
Types ¶
type MIBL ¶
type MIBL []byte
func (*MIBL) GetFooter ¶
func (mibl *MIBL) GetFooter() (MIBLFooter, error)
type MIBLFormat ¶
type MIBLFormat uint32
const ( MIBL_FORMAT_R8G8B8A8_UNORM = 37 MIBL_FORMAT_BC1_UNORM MIBLFormat = 66 MIBL_FORMAT_BC2_UNORM MIBLFormat = 67 MIBL_FORMAT_BC3_UNORM MIBLFormat = 68 MIBL_FORMAT_BC4_UNORM MIBLFormat = 73 MIBL_FORMAT_BC5_UNORM MIBLFormat = 75 MIBL_FORMAT_BC7_UNORM MIBLFormat = 77 )
type MSRD ¶
type MSRD struct { Header MSRDHeader MetaData MSRDMetaData CompressedFiles []XBC1 MetaHeader MSRDMetaDataHeader DataItems []MSRDDataItem TextureIdToIndexMap map[MSRDTextureId]int TextureInfoHeader MSRDTextureInfoHeader TextureInfoItems []MSRDTextureInfoItem }
func (*MSRD) GetCachedTextures ¶
func (*MSRD) GetDataItemsByType ¶
func (msrd *MSRD) GetDataItemsByType(dataItemType MSRDDataItemType) []MSRDDataItem
func (*MSRD) GetSplitMips ¶
func (*MSRD) SetCachedTextures ¶
func (*MSRD) SetCompressedFileData ¶
type MSRDDataItem ¶
type MSRDDataItem struct { Offset uint32 Size uint32 FileIndexPlusOne uint16 Type MSRDDataItemType Unk [8]byte }
type MSRDDataItemType ¶
type MSRDDataItemType uint16
const ( MSRD_DATA_ITEM_TYPE_MODEL MSRDDataItemType = 0 MSRD_DATA_ITEM_TYPE_SHADERBUNDLE MSRDDataItemType = 1 MSRD_DATA_ITEM_TYPE_TEXTURECACHE MSRDDataItemType = 2 MSRD_DATA_ITEM_TYPE_TEXTURE MSRDDataItemType = 3 )
type MSRDFileItem ¶
type MSRDHeader ¶
type MSRDMetaData ¶
type MSRDMetaData []byte
type MSRDMetaDataHeader ¶
type MSRDTextureId ¶
type MSRDTextureId uint16
type MSRDTextureInfoHeader ¶
type MSRDTextureInfoItem ¶
type MXMD ¶
type MXMD []byte
func (*MXMD) GetHeader ¶
func (mxmd *MXMD) GetHeader() (*MXMDHeader, error)
type MXMDHeader ¶
type XBC1Header ¶
type XBC1Header struct { Magic [4]byte NumFiles uint32 UncompressedSize uint32 CompressedSize uint32 Hash uint32 Name [0x1C]byte }
func ExtractXBC1 ¶
func ExtractXBC1(reader io.Reader) (XBC1Header, []byte, error)
func ReadXBC1Header ¶
func ReadXBC1Header(reader io.Reader) (XBC1Header, error)
Click to show internal directories.
Click to hide internal directories.