mirror of
https://github.com/redstrate/Physis.git
synced 2025-04-20 11:47:46 +00:00
Remove the padding "fixes" for Dawntrail materials
According to https://github.com/TexTools/xivModdingFramework/pull/60 the amount of color sets changed in Dawntrail.
This commit is contained in:
parent
774740c470
commit
370b6ac009
1 changed files with 9 additions and 8 deletions
17
src/mtrl.rs
17
src/mtrl.rs
|
@ -41,10 +41,11 @@ struct ColorSet {
|
|||
}
|
||||
|
||||
#[binrw]
|
||||
#[br(import {set_count: usize})]
|
||||
#[derive(Debug)]
|
||||
#[allow(dead_code)]
|
||||
struct ColorSetInfo {
|
||||
#[br(count = 256)]
|
||||
#[br(count = set_count)]
|
||||
data: Vec<u16>,
|
||||
}
|
||||
|
||||
|
@ -153,17 +154,17 @@ struct MaterialData {
|
|||
#[br(pad_after = file_header.additional_data_size)]
|
||||
strings: Vec<u8>,
|
||||
|
||||
#[br(if(file_header.data_set_size > 0 && file_header.version < 0x1030000))]
|
||||
#[br(if(file_header.data_set_size > 0))]
|
||||
// Dawntrail doubled the amount of color sets.
|
||||
// The MTRL version is the same (why square enix?) so we check the data set size instead
|
||||
#[br(args { set_count: if file_header.data_set_size < 2048 { 256 } else { 1024 } })]
|
||||
color_set_info: Option<ColorSetInfo>,
|
||||
|
||||
#[br(if(file_header.data_set_size > 512 && file_header.version < 0x1030000))]
|
||||
#[br(if(file_header.data_set_size >
|
||||
if file_header.data_set_size < 2048 { 512 } else { 2048 }
|
||||
))]
|
||||
color_set_due_info: Option<ColorSetDyeInfo>,
|
||||
|
||||
// Dawntrail unknown stuff
|
||||
#[br(if(file_header.version == 0x1030000))]
|
||||
#[br(count = file_header.data_set_size)]
|
||||
unknown1: Vec<u8>,
|
||||
|
||||
header: MaterialHeader,
|
||||
|
||||
#[br(count = header.shader_key_count)]
|
||||
|
|
Loading…
Add table
Reference in a new issue