// Token: 0x060009BB RID: 2491 RVA: 0x00057148 File Offset: 0x00055348 private static void DmLoadingBuild(AMS_FS arc_amb) { AppMain.dm_loading_mgr_p = new AppMain.DMS_LOADING_MGR(); AppMain.dm_loading_tex = new AppMain.AOS_TEXTURE[1]; for (int i = 0; i < 1; i++) { AppMain.dm_loading_tex[i] = new AppMain.AOS_TEXTURE(); } for (int i = 0; i < 1; i++) { string dir = null; AppMain.dm_loading_ama[i] = A2S.readAMAFile(AmBind.Get(arc_amb, 0, out dir)); dir = null; AppMain.dm_loading_amb[i] = AmFs.readAMBFile(AmBind.Get(arc_amb, 1, out dir)); AppMain.dm_loading_amb[i].dir = dir; } for (int i = 0; i < 1; i++) { AppMain.AoTexBuild(AppMain.dm_loading_tex[i], AppMain.dm_loading_amb[i]); AppMain.AoTexLoad(AppMain.dm_loading_tex[i]); } }
public static void amFsExecuteBackgroundRead() { if (ams_fsList.Count > 0) { AMS_FS value = ams_fsList.First.Value; if (value.stream == null) { var stream = TitleContainer.OpenStream("Content\\" + value.file_name); value.stream = new MemoryStream(); value.readTask = stream.CopyToAsync(value.stream); } if (value.readTask != null && !value.readTask.IsCompleted) { return; } value.data = (value.stream as MemoryStream).ToArray(); value.stream.Position = 0L; using (BinaryReader binaryReader = new BinaryReader(value.stream)) { // 23 41 4D 42 var tmp = binaryReader.ReadInt32(); if (tmp == 0x424d4123) { binaryReader.BaseStream.Seek(12, SeekOrigin.Current); value.count = binaryReader.ReadInt32(); var entryTableOffset = binaryReader.ReadInt32(); binaryReader.BaseStream.Seek(4, SeekOrigin.Current); var stringTableOffset = binaryReader.ReadInt32(); value.files = new string[value.count]; value.types = new sbyte[value.count]; value.offsets = new int[value.count]; value.lengths = new int[value.count]; value.flag = new sbyte[0]; for (int i = 0; i < value.count; i++) { binaryReader.BaseStream.Seek(entryTableOffset + (i * 0x10), SeekOrigin.Begin); value.offsets[i] = binaryReader.ReadInt32(); value.lengths[i] = binaryReader.ReadInt32(); binaryReader.BaseStream.Seek(stringTableOffset + (i * 0x20), SeekOrigin.Begin); value.files[i] = readChars(binaryReader); } } else { value.count = tmp; value.files = new string[value.count]; value.types = new sbyte[value.count]; value.offsets = new int[value.count]; value.lengths = new int[value.count]; int num2 = binaryReader.ReadInt32(); value.flag = new sbyte[num2]; for (int i = 0; i < num2; i++) { value.flag[i] = binaryReader.ReadSByte(); } for (int j = 0; j < value.count; j++) { value.files[j] = binaryReader.ReadString(); value.types[j] = binaryReader.ReadSByte(); } for (int k = 0; k < value.count; k++) { value.offsets[k] = binaryReader.ReadInt32(); } for (int l = 0; l < value.count; l++) { value.lengths[l] = binaryReader.ReadInt32(); } } } value.makeAmbHeader(); value.stat = 3; value.stream = null; ams_fsList.RemoveFirst(); if (value.callback != null) { value.callback(value); } } }