fixed GSA writing, added always-edit button and search in file and for file

This commit is contained in:
2026-07-21 15:50:52 +02:00
parent cbf0891ba4
commit d171c34236
42 changed files with 538 additions and 61 deletions

View File

@ -13,10 +13,10 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("GsaEditor.Core")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d6d621dc92b3083d8e47827baa0ccf59d5b0a4c4")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+cbf0891ba467ebec2dd40e9b34eb1f2d6379d7dd")]
[assembly: System.Reflection.AssemblyProductAttribute("GsaEditor.Core")]
[assembly: System.Reflection.AssemblyTitleAttribute("GsaEditor.Core")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Généré par la classe MSBuild WriteCodeFragment.
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -1 +1 @@
27416b735d6b5e6056e4f76966d345ebebb5a18e412e4170cdbcf381f9ab7092
24bad01704fb232d5dd4f84bfcb34e9e1b11dc1475b9ee697c24bd2eb1122246

View File

@ -67,7 +67,9 @@
</member>
<member name="T:GsaEditor.Core.IO.GsaIndexReader">
<summary>
Parses .idx NML index files (XML-compatible format) into a list of <see cref="T:GsaEditor.Core.IO.GsaIndexEntry"/>.
Parses .idx NML index files into a list of <see cref="T:GsaEditor.Core.IO.GsaIndexEntry"/>.
NML is the engine's own tag syntax (&lt;Name=value&gt; blocks, see <see cref="T:GsaEditor.Core.IO.GsaIndexWriter"/>),
not standard XML.
</summary>
</member>
<member name="M:GsaEditor.Core.IO.GsaIndexReader.Read(System.String)">
@ -80,13 +82,33 @@
<member name="T:GsaEditor.Core.IO.GsaIndexWriter">
<summary>
Writes a .idx NML index file from a <see cref="T:GsaEditor.Core.Models.GsaArchive"/>.
The index file is XML-compatible and lists each entry with its alias, compression method,
sizes, and data offset for fast lookup without a full sequential scan.
The NML format is the engine's own tag syntax (NOT standard XML):
<code>
&lt;Version=1.0&gt;
&lt;Index=
&lt;Entry=
&lt;ID="path/in/archive"&gt;
&lt;CompLen=123&gt;
&lt;Len=456&gt;
&lt;Offset=789&gt;
&lt;Method="Zlib"&gt;
&gt;
&gt;
</code>
Tab indentation, LF line endings, no BOM. Method is "Zlib" or "Raw".
The engine parses this file to locate entries, so the format must match exactly.
</summary>
</member>
<member name="F:GsaEditor.Core.IO.GsaIndexWriter.BootstrapAlias">
<summary>
The engine's bootstrap script is loaded by sequential archive scan and is
deliberately absent from the shipped index files, so it is skipped here too.
</summary>
</member>
<member name="M:GsaEditor.Core.IO.GsaIndexWriter.Write(GsaEditor.Core.Models.GsaArchive,System.String)">
<summary>
Writes the index file for the given archive to the specified path.
Entry offsets must be up to date (i.e. call after <see cref="M:GsaEditor.Core.IO.GsaWriter.Write(GsaEditor.Core.Models.GsaArchive,System.String)"/>).
</summary>
<param name="archive">The archive whose entries will be indexed.</param>
<param name="filePath">The output .idx file path.</param>
@ -149,6 +171,12 @@
<member name="F:GsaEditor.Core.IO.GsaWriter.MAGIC_NARD">
<summary>Magic word for the NARD (enhanced) format.</summary>
</member>
<member name="F:GsaEditor.Core.IO.GsaWriter.TERMINATOR">
<summary>
End-of-archive terminator written where the next entry's alias length would be.
The engine's sequential reader stops when it hits this invalid length.
</summary>
</member>
<member name="M:GsaEditor.Core.IO.GsaWriter.Write(GsaEditor.Core.Models.GsaArchive,System.String)">
<summary>
Writes the archive to the specified file path.