Skip to content

Commit 6b2a1f4

Browse files
committed
Changed Material Variant from Short to Byte
1 parent 9ab18e1 commit 6b2a1f4

File tree

2 files changed

+28
-20
lines changed

2 files changed

+28
-20
lines changed

xivModdingFramework/Variants/DataContainers/XivImc.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,12 @@ public class XivImc
3131
/// <summary>
3232
/// The Material Set / Variant #
3333
/// </summary>
34-
public ushort Variant { get; set; }
34+
public byte Variant { get; set; }
35+
36+
/// <summary>
37+
/// Unknown byte next to the Variant
38+
/// </summary>
39+
public byte Unknown { get; set; }
3540

3641
/// <summary>
3742
/// The IMC mask data

xivModdingFramework/Variants/FileTypes/Imc.cs

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -127,28 +127,32 @@ public async Task<FullImcInfo> GetFullImcInfo(string path)
127127
if (imcData.TypeIdentifier == ImcType.NonSet)
128128
{
129129
// This type uses the first short for both Variant and VFX.
130-
var variantAndVfx = br.ReadUInt16();
131-
var mask = br.ReadUInt16();
132-
var alwaysZero = br.ReadUInt16();
130+
byte variant = br.ReadByte();
131+
byte unknown = br.ReadByte();
132+
ushort mask = br.ReadUInt16();
133+
ushort alwaysZero = br.ReadUInt16();
133134

134135
imcData.DefaultSubset.Add(new XivImc
135136
{
136-
Variant = variantAndVfx,
137+
Variant = variant,
138+
Unknown = unknown,
137139
Mask = mask,
138-
Vfx = variantAndVfx
140+
Vfx = variant
139141
});
140142

141143
for (var i = 0; i < subsetCount; i++)
142144
{
143-
variantAndVfx = br.ReadUInt16();
145+
variant = br.ReadByte();
146+
unknown = br.ReadByte();
144147
mask = br.ReadUInt16();
145148
alwaysZero = br.ReadUInt16();
146149

147150
var newEntry = new XivImc
148151
{
149-
Variant = variantAndVfx,
152+
Variant = variant,
153+
Unknown = unknown,
150154
Mask = mask,
151-
Vfx = variantAndVfx
155+
Vfx = variant
152156
};
153157
var subset = new List<XivImc>() { newEntry };
154158
}
@@ -159,15 +163,15 @@ public async Task<FullImcInfo> GetFullImcInfo(string path)
159163
imcData.DefaultSubset = new List<XivImc>()
160164
{
161165
new XivImc
162-
{Variant = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
166+
{Variant = br.ReadByte(), Unknown = br.ReadByte(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
163167
new XivImc
164-
{Variant = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
168+
{Variant = br.ReadByte(), Unknown = br.ReadByte(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
165169
new XivImc
166-
{Variant = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
170+
{Variant = br.ReadByte(), Unknown = br.ReadByte(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
167171
new XivImc
168-
{Variant = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
172+
{Variant = br.ReadByte(), Unknown = br.ReadByte(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
169173
new XivImc
170-
{Variant = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
174+
{Variant = br.ReadByte(), Unknown = br.ReadByte(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
171175
};
172176

173177
for (var i = 0; i < subsetCount; i++)
@@ -176,17 +180,16 @@ public async Task<FullImcInfo> GetFullImcInfo(string path)
176180
var imcGear = new List<XivImc>()
177181
{
178182
new XivImc
179-
{Variant = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
183+
{Variant = br.ReadByte(), Unknown = br.ReadByte(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
180184
new XivImc
181-
{Variant = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
185+
{Variant = br.ReadByte(), Unknown = br.ReadByte(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
182186
new XivImc
183-
{Variant = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
187+
{Variant = br.ReadByte(), Unknown = br.ReadByte(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
184188
new XivImc
185-
{Variant = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
189+
{Variant = br.ReadByte(), Unknown = br.ReadByte(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
186190
new XivImc
187-
{Variant = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
191+
{Variant = br.ReadByte(), Unknown = br.ReadByte(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16()},
188192
};
189-
190193
imcData.SubsetList.Add(imcGear);
191194
}
192195
} else

0 commit comments

Comments
 (0)