fix Electronic Arts BIGF archive support

This commit is contained in:
Michael Becker 2020-04-02 23:58:00 -04:00
parent 89fd1cb8d7
commit 6c18db3af7
No known key found for this signature in database
GPG Key ID: 389DFF5D73781A12
3 changed files with 10 additions and 8 deletions

View File

@ -3,7 +3,7 @@
<Associations>
<Association>
<Filters>
<Filter Title="3D Ultra RBX archive">
<Filter Title="Electronic Arts BIGF archive">
<FileNameFilters>
<FileNameFilter>*.abg</FileNameFilter>
<FileNameFilter>*.ama</FileNameFilter>
@ -18,11 +18,6 @@
<FileNameFilter>*.hog</FileNameFilter>
<FileNameFilter>*.viv"</FileNameFilter>
</FileNameFilters>
<MagicByteSequences>
<MagicByteSequence>
<MagicByte Type="String">BIGF</MagicByte>
</MagicByteSequence>
</MagicByteSequences>
</Filter>
</Filters>
<ObjectModels>

View File

@ -147,7 +147,6 @@
<Content Include="Extensions\GameDeveloper\Associations\FileSystem\DreamfallPAK.uexml" />
<Content Include="Extensions\GameDeveloper\Associations\FileSystem\DynamixStarsiegeVOL.uexml" />
<Content Include="Extensions\GameDeveloper\Associations\FileSystem\Eighting.uexml" />
<Content Include="Extensions\GameDeveloper\Associations\FileSystem\ElectronicArtsBIGF.uexml" />
<Content Include="Extensions\GameDeveloper\Associations\FileSystem\FMODSoundBank.uexml" />
<Content Include="Extensions\GameDeveloper\Associations\FileSystem\GainaxLBX.uexml" />
<Content Include="Extensions\GameDeveloper\Associations\FileSystem\GameProgrammersWiki.uexml" />
@ -712,6 +711,7 @@
<Content Include="Editors\RavenSoftware\Icarus\IcarusCommands.uexml" />
<Content Include="Editors\RavenSoftware\Icarus\IcarusSetTypes.uexml" />
<Content Include="Editors\RavenSoftware\Icarus\IcarusConfiguration.uexml" />
<Content Include="Extensions\GameDeveloper\Extensions\ElectronicArts\Associations\FileSystem\BIGF.uexml" />
</ItemGroup>
<ItemGroup>
<Content Include="Configuration\Application.upl" />
@ -757,6 +757,9 @@
<Folder Include="Languages\English\" />
<Folder Include="Editors\RavenSoftware\" />
<Folder Include="Editors\RavenSoftware\Icarus\" />
<Folder Include="Extensions\GameDeveloper\Extensions\ElectronicArts\" />
<Folder Include="Extensions\GameDeveloper\Extensions\ElectronicArts\Associations\" />
<Folder Include="Extensions\GameDeveloper\Extensions\ElectronicArts\Associations\FileSystem\" />
</ItemGroup>
<ItemGroup>
<Content Include="Extensions\SoftwareDeveloper\Templates\Project\Software Development\Arduino\Images\Blink.xcf" />

View File

@ -57,6 +57,8 @@ namespace UniversalEditor.DataFormats.FileSystem.ElectronicArts
IO.Writer bw = base.Accessor.Writer;
bw.WriteFixedLengthString("BIGF");
bw.Endianness = IO.Endianness.BigEndian;
uint archiveSize = 0;
long archiveSizePos = bw.Accessor.Position;
bw.WriteUInt32(archiveSize);
@ -75,10 +77,12 @@ namespace UniversalEditor.DataFormats.FileSystem.ElectronicArts
bw.WriteUInt32(offset);
bw.WriteUInt32((uint)file.Size);
bw.WriteNullTerminatedString(file.Name);
offset += (uint)file.Size;
}
foreach (File file in fsom.Files)
{
file.WriteTo(bw);
bw.WriteBytes(file.GetData()); // file.WriteTo(bw);
}
}
}