Chat Log (.log)

File structure for chat logs saved to FFXIV_CHR<content id>/log/*.log
struct LogBufferHdr
{
uint32_t contentSize;
uint32_t fileSize;
uint32_t* offsetEntries;
};
‚Äč
struct LogEntry
{
time_t timestamp;
uint16_t eventType; // chat message kind?
uint16_t unknown;
char* message; // inline str
};

You can read entries like so:

void read( uint8_t* data )
{
auto hdr = reinterpret_cast< LogBufferHdr* >( data );
std::vector< LogEntry* > entries;
auto offsetEntriesCount = hdr->fileSize - hdr->contentSize;
for( auto i = 0; i < offsetEntriesCount; i++ )
{
auto offset = hdr->offsetEntries[ i ];
auto entry = reinterpret_cast< LogEntry* >( data + offset );
entries.push_back( entry );
}
}
Edit on GitHub