/// <summary> /// Generates a full self dependent meta file(except tag refs) /// </summary> /// <returns></returns> public byte[] Generate_meta_file() { byte[] ret = new byte[this.Get_Total_size()]; //we first copy the root meta data into it DATA_READ.ArrayCpy(ret, data, 0x0, size); //now we go for extended meta List <int> extend_keys = list_extended.Keys.ToList <int>(); //here we go foreach (int temp_key in extend_keys) { extended_meta temp_meta = list_extended[temp_key]; int start_off = temp_meta.Get_mem_addr() - mem_off; DATA_READ.ArrayCpy(ret, temp_meta.Generate_meta_file(), start_off, temp_meta.Get_Total_size()); } return(ret); }