Created
August 30, 2020 05:53
-
-
Save Radfordhound/9c7695a0f6b1bcdfaeb4ad4c5462a6e8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
template<typename T> | |
struct MoveArray | |
{ | |
T* Data; | |
uint Count; | |
uint Capacity; | |
IAllocator* Allocator = nullptr; // Not actually set to anything in files obviously | |
}; | |
struct Header | |
{ | |
ushort Version = 2; | |
ushort SheetCount; // ?? | |
MoveArray<Sheet*> Sheets; | |
} | |
class Sheet | |
{ | |
char* NameOffset; | |
uint CellsCount; | |
MoveArray<Cell*> Cells; | |
} | |
class Cell | |
{ | |
char* NameOffset; // **Can be null!!** | |
char16_t* DataOffset; // Null-terminated UTF-16 string | |
MoveArray<Remapping*> Remappings; | |
ulong Unknown1 = 0; // Always 0?? | |
ulong Unknown2 = 0; // Always 0?? | |
ushort Unknown3 = 0; // ?? | |
ushort LastCharIndex; | |
uint Unknown4 = 2; // ?? | |
uint Unknown5 = 0xFFFFFFFF; // ?? | |
ushort Unknown6 = 0; // ?? | |
ushort LastCharIndex2 = LastCharIndex; | |
uint Unknown7 = 1; // ?? | |
uint Unknown8 = 0x16; // Can also be 0x14? Layout type?? | |
ushort Unknown9 = 0; // ?? | |
ushort LastCharIndex3 = LastCharIndex; | |
uint Unknown10 = 0; // ?? | |
uint Unknown11 = 1; // ?? | |
ushort Unknown12 = 0; // ?? | |
ushort LastCharIndex4 = LastCharIndex; | |
uint Unknown13 = 3; // ?? | |
uint Unknown14 = 0; // ?? | |
} | |
class Remapping // ? | |
{ | |
ushort CharIndex; | |
ushort Unknown2; | |
uint Unknown3; // Always 5 or 4?? Maybe data type? | |
uint Unknown4; // Seems to be a normal uint if Unknown3 == 5 and 4 bytes contained within a uint (so endianness applies) if Unknown3 == 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment