예제 #1
0
        /// <summary>
        /// Update the Screenshots Header data
        /// </summary>
        public void UpdateHeader()
        {
            _shotStream.SeekTo(0x48);
            _shotStream.WriteUTF16(_shotHeader.ScreenshotName);

            _shotStream.SeekTo(0x67);
            _shotStream.WriteUTF16(_shotHeader.ScreenshotDescription);

            _shotStream.SeekTo(0xE8);
            _shotStream.WriteAscii(_shotHeader.ScreenshotAuthor);
        }
예제 #2
0
        /// <summary>
        /// Update the usermap's Header
        /// </summary>
        public void UpdateHeader()
        {
            _forgeStream.SeekTo(0x42);
            _forgeStream.WriteInt32(_forgeHeader.CreationDate);
            _forgeStream.SeekTo(0x48);
            _forgeStream.WriteUTF16(_forgeHeader.CreationVarientName);
            _forgeStream.SeekTo(0x68);
            _forgeStream.WriteAscii(_forgeHeader.CreationVarientDescription);
            _forgeStream.SeekTo(0xE8);
            _forgeStream.WriteAscii(_forgeHeader.CreationVarientAuthor);

            _forgeStream.SeekTo(0x114);
            _forgeStream.WriteInt32(_forgeHeader.ModificationDate);
            _forgeStream.SeekTo(0x150);
            _forgeStream.WriteUTF16(_forgeHeader.VarientName);
            _forgeStream.SeekTo(0x170);
            _forgeStream.WriteAscii(_forgeHeader.VarientDescription);
            _forgeStream.SeekTo(0x1F0);
            _forgeStream.WriteAscii(_forgeHeader.VarientAuthor);

            _forgeStream.SeekTo(0x228);
            _forgeStream.WriteInt32(_forgeHeader.MapID);

            _forgeStream.SeekTo(0x246);
            _forgeStream.WriteInt16(_forgeHeader.SpawnedObjectCount);

            _forgeStream.SeekTo(0x24C);
            _forgeStream.WriteFloat(_forgeHeader.WorldBoundsXMin);
            _forgeStream.WriteFloat(_forgeHeader.WorldBoundsXMax);
            _forgeStream.WriteFloat(_forgeHeader.WorldBoundsYMin);
            _forgeStream.WriteFloat(_forgeHeader.WorldBoundsYMax);
            _forgeStream.WriteFloat(_forgeHeader.WorldBoundsZMin);
            _forgeStream.WriteFloat(_forgeHeader.WorldBoundsZMax);

            _forgeStream.SeekTo(0x268);
            _forgeStream.WriteFloat(_forgeHeader.MaximiumBudget);
            _forgeStream.WriteFloat(_forgeHeader.CurrentBudget);
        }
예제 #3
0
        /// <summary>
        /// Update the chunks in the BLF Table
        /// </summary>
        public void UpdateChunkTable()
        {
            RefreshRelativeChunkData();

            int totalLength = 0;

            foreach (BLFChunk chunk in _blfChunks)
            {
                totalLength += chunk.ChunkLength;
            }

            _blfStream.BaseStream.SetLength(totalLength);
            _blfStream.SeekTo(0x00);
            foreach (BLFChunk chunk in _blfChunks)
            {
                _blfStream.WriteAscii(chunk.ChunkMagic);
                _blfStream.WriteInt32(chunk.ChunkLength);
                _blfStream.WriteBlock(chunk.ChunkData);
            }
        }
예제 #4
0
        /// <summary>
        /// Update the film's Header
        /// </summary>
        public void UpdateHeader()
        {
            _filmStream.SeekTo(0x48);
            _filmStream.WriteUTF16(_filmHeader.FilmName);
            _filmStream.SeekTo(0x67);
            _filmStream.WriteAscii(_filmHeader.FilmDescription);
            _filmStream.SeekTo(0xE7);
            _filmStream.WriteAscii(_filmHeader.FilmAuthor);

            _filmStream.SeekTo(0x15);
            _filmStream.WriteAscii(_filmHeader.FilmAuthor);
            _filmStream.SeekTo(0x198);
            _filmStream.WriteAscii(_filmHeader.FilmAuthor);

            _filmStream.SeekTo(0x220);
            _filmStream.WriteAscii(_filmHeader.FilmAuthor);
            _filmStream.SeekTo(0x2C4);
            _filmStream.WriteAscii(_filmHeader.FilmAuthor);
        }
예제 #5
0
        /// <summary>
        /// Update the film's Header
        /// </summary>
        public void UpdateHeader()
        {
            #region Creation and Modification
            // Write Creation Date
            _filmStream.SeekTo(0x114);
            _filmStream.WriteInt32(_filmHeader.CreationDate);

            // Write Creation Author
            _filmStream.SeekTo(0xE8);
            _filmStream.WriteAscii(_filmHeader.CreationAuthor);
            #endregion
            #region Film Info
            // Write Film Name
            _filmStream.SeekTo(0x48);
            _filmStream.WriteUTF16(_filmHeader.FilmName);

            // Write Film Description
            _filmStream.SeekTo(0x67);
            _filmStream.WriteUTF16(_filmHeader.FilmDescription);

            // Write Film Engine Build String 1
            _filmStream.SeekTo(0x15C);
            _filmStream.WriteAscii(_filmHeader.EngineBuildString1);

            // Write Film Engine Build String 2
            _filmStream.SeekTo(0x198);
            _filmStream.WriteAscii(_filmHeader.EngineBuildString2);

            // Write Film InfoString
            _filmStream.SeekTo(0x220);
            _filmStream.WriteAscii(_filmHeader.InfoString);
            #endregion
            #region GametypeUsermapInfo
            // Write Gametype Name
            _filmStream.SeekTo(0x4DC);
            _filmStream.WriteUTF16(_filmHeader.GametypeName);

            // Write Gametype Description
            _filmStream.SeekTo(0x4FB);
            _filmStream.WriteUTF16(_filmHeader.GametypeDescription);

            // Write Gametype Author
            _filmStream.SeekTo(0x57B);
            _filmStream.WriteUTF16(_filmHeader.GametypeAuthor);

            // Write Usermap Name
            _filmStream.SeekTo(0x738);
            _filmStream.WriteUTF16(_filmHeader.GametypeAuthor);

            // Write Usermap Description
            _filmStream.SeekTo(0x757);
            _filmStream.WriteUTF16(_filmHeader.GametypeAuthor);

            // Write Usermap Author
            _filmStream.SeekTo(0x7D7);
            _filmStream.WriteUTF16(_filmHeader.GametypeAuthor);
            #endregion
            #region RawMapData
            // Write Map Name
            _filmStream.SeekTo(0x24C);
            _filmStream.WriteAscii(_filmHeader.MapName);
            #endregion
            #region Mathcmaking Playlist Info
            // Write Matchmaking Playlist Name
            _filmStream.SeekTo(0x472);
            _filmStream.WriteUTF16(_filmHeader.MatchmakingPlaylistName);
            #endregion
        }
예제 #6
0
        /// <summary>
        /// Update the film's Header
        /// </summary>
        public void UpdateHeader()
        {
            #region Creation and Modification
            // Write Creation Date
            _filmStream.SeekTo(0x7C);
            _filmStream.WriteInt32(_filmHeader.CreationDate);

            // Write Creation Author
            _filmStream.SeekTo(0x88);
            _filmStream.WriteAscii(_filmHeader.CreationAuthor);

            // Write Modification Date
            _filmStream.SeekTo(0xA0);
            _filmStream.WriteInt32(_filmHeader.ModifiedDate);

            // Write Modification Author
            _filmStream.SeekTo(0xAC);
            _filmStream.WriteAscii(_filmHeader.ModifiedAuthor);
            #endregion
            #region Film Info
            // Write Film Name
            _filmStream.SeekTo(0xC0);
            _filmStream.WriteUTF16(_filmHeader.FilmName);

            // Write Film Description
            _filmStream.SeekTo(0x1C0);
            _filmStream.WriteUTF16(_filmHeader.FilmDescription);

            // Write Info String
            _filmStream.SeekTo(0x3D8);
            _filmStream.WriteAscii(_filmHeader.InfoString);
            #endregion
            #region Gametype Info
            // Write Gametype Name
            _filmStream.SeekTo(0x998);
            _filmStream.WriteUTF16(_filmHeader.GametypeName);

            // Write Gametype Description
            _filmStream.SeekTo(0xA98);
            _filmStream.WriteUTF16(_filmHeader.GametypeDescription);
            #endregion
            #region RawMapData
            // Write Map Name
            _filmStream.SeekTo(0x1011C);
            _filmStream.WriteAscii(_filmHeader.MapName);

            // Write Map Rally Point
            _filmStream.SeekTo(0x10220);
            _filmStream.WriteAscii(_filmHeader.RallyPoint);
            #endregion
            #region MatchmakingPlaylistInfo
            // Write Playlist Name
            _filmStream.SeekTo(0x10342);
            _filmStream.WriteUTF16(_filmHeader.MatchmakingPlaylistName);

            // Write Usermap Name
            _filmStream.SeekTo(0x10460);
            _filmStream.WriteUTF16(_filmHeader.UsermapName);

            // Write Usermap Description
            _filmStream.SeekTo(0x10560);
            _filmStream.WriteUTF16(_filmHeader.UsermapDescription);
            #endregion
        }