- File Tab (Saved Tab)
- Unsaved Tab
- 0.bin
- 1.bin
- [sizeInBytes]
dataTypeShort Description / TitleExample Bytes- Additional Observations
Notices:
- For convenience sake I will denote
ULEB128asul - The hexpat file has more detailed records with bundled data-types. Eg. a struct containing the
StartandEndfor selection indexes.
The Pattern for this type can be found here
[~] = Undefined Length / Defined at runtime
- [2]
char[2]Magic Numbers / Header IdentifierNP - [1-16]
ulUnsaved Sequence Number (Reserved for 0.bin and 1.bin files)00 - [1]
boolIsSaved (The Tab)00 / 01
If IsSaved:
- [~]
string16Saved File Path- [1-16]
ulSaved Tab Content Length- [1]
enum EncodingTypesEncoding TypeUTF-8- [1]
enum EOLSequenceTypeLine Carriage TypeCRLF (Windows)- [1-16]
ulFileTimeD2 EC E8 C2 D8 AF 9C ED 01
- Increments from Left to Right
- 9 bytes
- [32]
u8[32]SHA-256 of the File's Content- [2]
u8[2]Possible Selection Start Delimiter00 01
Else:
- [1]
u8Possible Selection Start Delimiter01
- [1-16]
ulSelection Start Index - [1-16]
ulSelection End Index - [1]
boolWordWrap00 / 01 - [1]
boolRight To Left00 / 01 - [1]
boolShow Unicode Control00 / 01 - [1]
u8Unknown (Likely bool)00 - [~]
string16Content - [1]
boolHas Unsaved Content00 / 01Falseon Saved FileTrueon Unsaved FileFalseon Unsaved File with ChunksTrueon saved file with unsaved content
- [4]
u8[4]CRC of all content from after the Header Identifier up to here - [~]
UnsavedChunk[~]Remaining unsaved chunks of user input (Additions or Deletions)- Thanks to ogmini
[~] = Undefined Length / Defined at runtime
- [1-16]
ulCursor Position - [1-16]
ulNumber of Characters Deleted - [~]
string16Characters Added - [4]
u32CRC of all content of the chunk up to here