struct Delta_Time_Accum { f32 *base; u16 count; u16 max; u16 start; }; struct Inspected_File { FILE *stream; u8 *mem; u64 size; String8 name; // @Platform: inotify file descriptor int inot; }; struct App_State { u8 should_quit; Window_Data win_data; User_Input user_input; RNTuple_Data rndata; TFile_Data tfile_data; Viewer viewer; Inspected_File inspected_file; String8 ntpl_name; Delta_Time_Accum delta_time_accum; // Cache the last info node selected for faster lookup of offsets const Page_Info_Node *last_pinfo; }; internal size_t file_size(FILE *f) { fseek(f, 0, SEEK_END); size_t res = ftell(f); fseek(f, 0, SEEK_SET); return res; }