FModel 3.1.1

This commit is contained in:
iAmAsval 2020-07-25 00:23:49 +02:00
parent 0bdceb5dd4
commit a4ee5a5be2
3 changed files with 27 additions and 28 deletions

View File

@ -8,13 +8,13 @@
<StartupObject>FModel.App</StartupObject>
<Authors>Asval</Authors>
<Company></Company>
<AssemblyVersion>3.1.0.5</AssemblyVersion>
<FileVersion>3.1.0.5</FileVersion>
<AssemblyVersion>3.1.1.0</AssemblyVersion>
<FileVersion>3.1.1.0</FileVersion>
<PackageIcon>FModel.ico</PackageIcon>
<PackageIconUrl />
<PackageProjectUrl>https://github.com/iAmAsval/FModel</PackageProjectUrl>
<Description></Description>
<Version>3.1.0</Version>
<Version>3.1.1</Version>
<Platforms>x64</Platforms>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
</PropertyGroup>

View File

@ -154,6 +154,11 @@
</MenuItem>
</MenuItem>
<MenuItem Header="{x:Static properties:Resources.Help}">
<MenuItem x:Name="FModel_MI_Help_Trello" Header="{x:Static properties:Resources.Trello}" Click="FModel_MI_Help_Trello_Click">
<MenuItem.Icon>
<Image Source="Resources/trello.png"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem x:Name="FModel_MI_Help_Donate" Header="{x:Static properties:Resources.Donate}" Click="FModel_MI_Help_Donate_Click">
<MenuItem.Icon>
<Image Source="Resources/paypal.png"/>
@ -169,11 +174,6 @@
<Image Source="Resources/bug.png"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem x:Name="FModel_MI_Help_Trello" Header="{x:Static properties:Resources.Trello}" Click="FModel_MI_Help_Trello_Click">
<MenuItem.Icon>
<Image Source="Resources/trello.png"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem x:Name="FModel_MI_Help_Discord" Header="{x:Static properties:Resources.DiscordServer}" Click="FModel_MI_Help_Discord_Click">
<MenuItem.Icon>
<Image Source="Resources/discord.png"/>

View File

@ -17,29 +17,28 @@ namespace PakReader.Parsers.Objects
Data = null;
if ((BulkDataFlags & 0x20) != 0 || ElementCount == 0)
return;
if ((BulkDataFlags & (uint)EBulkDataFlags.BULKDATA_PayloadAtEndOfFile) != 0)
{
long rememberMe = reader.BaseStream.Position;
if (BulkDataOffsetInFile + ElementCount <= reader.BaseStream.Length)
{
reader.BaseStream.Seek(BulkDataOffsetInFile, SeekOrigin.Begin);
Data = reader.ReadBytes(ElementCount);
}
reader.BaseStream.Seek(rememberMe, SeekOrigin.Begin);
}
if ((BulkDataFlags & (uint)EBulkDataFlags.BULKDATA_OptionalPayload) != 0) //.uptnl
return;
if ((BulkDataFlags & (uint)EBulkDataFlags.BULKDATA_ForceInlinePayload) != 0) //.uexp
Data = reader.ReadBytes(ElementCount);
if ((BulkDataFlags & (uint)EBulkDataFlags.BULKDATA_PayloadInSeperateFile) != 0) //.ubulk
if ((BulkDataFlags & (uint)EBulkDataFlags.BULKDATA_PayloadAtEndOfFile) != 0 &&
BulkDataOffsetInFile > 0 && ElementCount > 0 &&
BulkDataOffsetInFile + ElementCount <= reader.BaseStream.Length) //.uasset
{
if (ubulk != null)
{
ubulk.Position = BulkDataOffsetInFile + ubulkOffset;
Data = new byte[ElementCount];
ubulk.Read(Data, 0, (int)ElementCount);
}
//else throw new FileLoadException("No ubulk specified for texture");
long rememberMe = reader.BaseStream.Position;
reader.BaseStream.Seek(BulkDataOffsetInFile, SeekOrigin.Begin);
Data = reader.ReadBytes(ElementCount);
reader.BaseStream.Seek(rememberMe, SeekOrigin.Begin);
}
else if ((BulkDataFlags & (uint)EBulkDataFlags.BULKDATA_ForceInlinePayload) != 0) //.uexp
{
Data = reader.ReadBytes(ElementCount);
}
else if ((BulkDataFlags & (uint)EBulkDataFlags.BULKDATA_PayloadInSeperateFile) != 0 &&
ubulk != null && BulkDataOffsetInFile + ubulkOffset >= 0) //.ubulk
{
ubulk.Position = BulkDataOffsetInFile + ubulkOffset;
Data = new byte[ElementCount];
ubulk.Read(Data, 0, (int)ElementCount);
}
}
}