Expand description
Streamed model resources like shaders, geometry, or textures in .wismt files.
Overview
The .wismt holds streaming data that is loaded by the game as needed.
This means that errors in .wismt files may appear later than errors in .wimdo files.
The Mxmd also stores a copy of the streaming data to know how to load it.
This must match the Msrd exactly for data to load properly.
Some legacy files do not use Msrd, so the Mxmd streaming is the only
way to determine how to read the .wismt file.
Streams Layout
All 3 games store exactly the same data despite some differences in how the data is organized. Files are packed and compressed into compressed archives referenced by Stream. Each file within a stream is referenced by a StreamEntry.
The first stream contains the VertexData, Spch, and low textures. The second stream contains the higher resolution textures if present. The remaining streams contain base mip levels for some textures for Xenoblade 1 DE and Xenoblade 2 to effectively double the resolution.
Xenoblade 3 adds an option to instead store high resolution textures in xeno3/chr/tex/nx/m
and base mip levels in xeno3/chr/tex/nx/h.
The ChrTexTexture functions similarly to the Stream and StreamEntry in this case.
File Paths
| Game | File Patterns |
|---|---|
| Xenoblade Chronicles 1 DE | chr/{en,np,obj,pc,wp}/*.wismt |
| Xenoblade Chronicles 2 | model/{bl,en,np,oj,pc,we,wp}/*.wismt |
| Xenoblade Chronicles 3 | chr/{bt,ch,en,oj,wp}/*.wismt, map/*.wismt |
Modules
- Utilities for extracting and rebuilding streaming data.
Structs
- A texture file in
xeno3/chr/tex/nx/mwith a base mipmap inxeno3/chr/tex/nx/h. - A compressed Xbc1 stream with items determined by StreamEntry.
- A file contained in a Stream.
- Flags indicating what stream data is present.
- A builder for
TextureResourcesBinReadArgsobjects. Compatible withbinrw::args!. - Named arguments for the
BinRead::read_optionsimplementation ofTextureResources.
Enums
- The type of data for a StreamEntry.
- Flags indicating the way data is stored in the model’s
.wismtfile.