#pragma once #include #include namespace ore { struct ResDic; struct ResEndian; } // namespace ore namespace evfl { struct ResFlowchart; struct ResTimeline; struct ResEventFlowFile { /// data must be a pointer to a buffer of size >= 0x20. static bool IsValid(void* data); /// data must be a valid ResEventFlowFile. static ResEventFlowFile* ResCast(void* data); void Relocate(); void Unrelocate(); ore::BinaryFileHeader header; u16 num_flowcharts; u16 num_timelines; ore::BinTPtr> flowcharts; ore::BinTPtr flowchart_names; ore::BinTPtr> timelines; ore::BinTPtr timeline_names; }; void SwapEndian(ore::ResEndian* endian, ResEventFlowFile* file); } // namespace evfl