static void Main(string[] args) { Console.WriteLine("Let's do this shit, go chris brown on the return key"); Console.ReadLine(); string mapInfoFolder = @"C:\Users\Alex\Documents\My Received Files\info\info\"; DirectoryInfo di = new DirectoryInfo(mapInfoFolder); FileInfo[] rgFiles = di.GetFiles("*.mapinfo"); foreach (FileInfo fi in rgFiles) { string fileName = Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(fi.Name.ToLower()); EndianStream stream = new EndianStream(new FileStream(fi.FullName, FileMode.OpenOrCreate), Endian.BigEndian); stream.SeekTo(0x3C); Int32 mapID = stream.ReadInt32(); string jsonDB = File.ReadAllText(@"C:/Users/Alex/Desktop/" + fi.Name.Replace(fi.Extension, "") + "_json.h3tagdb"); jsonDB = jsonDB.Replace("\"MapID\":0", "\"MapID\":" + mapID.ToString()); File.WriteAllText(@"C:/Users/Alex/Desktop/" + fi.Name.Replace(fi.Extension, "") + "_json.h3tagdb", jsonDB); Console.WriteLine("Grabbed ID of {0}", fi.Name.Replace(fi.Extension, "")); } Console.WriteLine("All done"); Console.ReadLine(); }
/// <summary> /// Initalize new instance of the Halo: Reach Film /// </summary> /// <param name="filmStream">Stream of a Halo: Reach 'feature.film' extracted from a Container file.</param> public Film(Stream filmStream) { _filmPath = null; _filmStream = new EndianStream(filmStream, Endian.BigEndian); if (!IsValidFilm()) { Close(); throw new Exception("Invalid Halo Reach Film!"); } LoadHeader(); LoadPlayerTable(); }
/// <summary> /// Initalize new instance of the Halo: Reach Film /// </summary> /// <param name="filmPath">Path to the Halo: Reach 'feature.film' extracted from a Container file.</param> public Film(string filmPath) { _filmPath = filmPath; _filmStream = new EndianStream(new MemoryStream(File.ReadAllBytes(_filmPath)), Endian.BigEndian); if (!IsValidFilm()) { Close(); throw new Exception("Invalid Halo Reach Film!"); } LoadHeader(); LoadPlayerTable(); }
/// <summary> /// Initalize new instance of the Halo 3 Film /// </summary> /// <param name="filmPath">Path to the Halo 3 'feature.film' extracted from a Container file.</param> public Film(string filmPath) { _filmPath = filmPath; Stream memStream = new MemoryStream(File.ReadAllBytes(filmPath)); _filmStream = new EndianStream(memStream, Endian.BigEndian); if (!IsValidFilm()) { Close(); throw new Exception("Invalid Halo 3 Film!"); } LoadHeader(); LoadMachineIDTable(); LoadPlayerTable(); LoadFooter(); }
private void Initalize(Stream fileStream) { _gpdStream = new EndianStream(fileStream, Endian.BigEndian); if (!IsValidGPD()) { Close(); throw new Exception("Invalid Halo 3 GPD!"); } LoadPlayerVisuals(); LoadCampaignCompletion(); }
private void Initalize(Stream blfStream) { _blfStream = new EndianStream(blfStream, Endian.BigEndian); if (!isValidBLF()) { Close(); throw new Exception("Invalid BLF Container!"); } LoadChunkTable(); }
private void Initalize(Stream shotStream) { _shotStream = new EndianStream(shotStream, Endian.BigEndian); if (!isValidScreen()) { Close(); throw new Exception("Invalid Halo 3 screenshot!"); } // Load Screenshot Parts LoadHeader(); LoadScreenshot(); }
public void Update(EndianStream stream) { stream.SeekTo(Offset); stream.WriteInt32(Ident); stream.WriteByte(RunTimeMinimium); stream.WriteByte(RunTimeMaximium); stream.WriteByte(CountOnMap); stream.WriteByte(DesignTimeMaximium); stream.WriteFloat(Cost); }
public TagEntry(EndianStream stream, Tag mapTags) { PlacedItems = new List<ItemPlacementChunk>(); Offset = stream.Position; Ident = stream.ReadInt32(); Tag = mapTags.SearchTags(Ident); RunTimeMinimium = stream.ReadByte(); RunTimeMaximium = stream.ReadByte(); CountOnMap = stream.ReadByte(); DesignTimeMaximium = stream.ReadByte(); Cost = stream.ReadFloat(); }
public void Update(EndianStream stream) { stream.SeekTo(Offset); stream.WriteInt16((Int16)ChunkType); stream.SeekTo(stream.Position + 0x0A); stream.WriteInt32(TagIndex); stream.WriteFloat(SpawnCoords.X); stream.WriteFloat(SpawnCoords.Y); stream.WriteFloat(SpawnCoords.Z); stream.WriteFloat(SpawnCoords.Pitch); stream.WriteFloat(SpawnCoords.Yaw); stream.WriteFloat(SpawnCoords.Roll); stream.SeekTo(stream.Position + 0x16); stream.Skip(0x01); stream.WriteByte(Team); stream.WriteByte(SpareClips); stream.WriteByte(RespawnTime); stream.SeekTo(stream.Position + 0x12); }
public ItemPlacementChunk(EndianStream stream) { Offset = stream.Position; ChunkType = (ItemChunkType)stream.ReadInt16(); stream.SeekTo(stream.Position + 0x0A); TagIndex = stream.ReadInt32(); SpawnCoords = new ItemSpawnCoords() { X = stream.ReadFloat(), Y = stream.ReadFloat(), Z = stream.ReadFloat(), Yaw = stream.ReadFloat(), Pitch = stream.ReadFloat(), Roll = stream.ReadFloat() }; stream.SeekTo(stream.Position + 0x16); stream.ReadByte(); Team = stream.ReadByte(); SpareClips = stream.ReadByte(); RespawnTime = stream.ReadByte(); stream.SeekTo(stream.Position + 0x12); }
private void Initalize(Stream finalStream) { _forgeStream = new EndianStream(finalStream, Endian.BigEndian); if (!IsValidUsermap()) { Close(); throw new Exception("Invalid Halo 3 Usermap!"); } LoadHeader(); LoadTags(); LoadItemPlacementChunks(); LoadTagEntry(); ApplyTagIndexes(); }
private void Initalize(Stream filmStream) { _filmStream = new EndianStream(filmStream, Endian.BigEndian); if (!isValidFilm()) { Close(); throw new Exception("Invalid Halo 3: ODST film!"); } // Load Film Parts LoadHeader(); LoadPlayerTable(); }