Esempio n. 1
0
        /// <summary>
        /// Apply patches.
        /// </summary>
        /// <param name="symbols">Symbols</param>
        /// <param name="options">Options</param>
        public void Apply(Symbols symbols, AsmOptionsGameplay options)
        {
            // Write patch data to existing MMFiles
            WriteToROM(symbols);

            // For our custom data, create and insert our own MMFile
            var file = CreateMMFile(symbols);

            RomUtils.AppendFile(file);

            // Encode Symbols into a special MMFile and insert that too
            var symbolsFile = symbols.CreateMMFile();

            RomUtils.AppendFile(symbolsFile);

            // Write subset of configuration (hardcoded into patch)
            symbols.ApplyConfiguration(options);
        }
Esempio n. 2
0
 /// <summary>
 /// Apply configuration which will be hardcoded into the patch file.
 /// </summary>
 /// <param name="options">Options</param>
 public void ApplyConfiguration(AsmOptionsGameplay options)
 {
     this.WriteMiscConfig(options.MiscConfig);
 }
Esempio n. 3
0
 /// <summary>
 /// Apply and write patch data.
 /// </summary>
 /// <param name="options">Options</param>
 public void ApplyPatch(AsmOptionsGameplay options)
 {
     this.Patcher.Apply(this.Symbols, options);
     this.ExtraMessages = this.Symbols.CreateInitialExtMessageTable();
     this.MimicTable    = this.Symbols.CreateMimicItemTable();
 }
Esempio n. 4
0
 /// <summary>
 /// Apply patches using <see cref="Symbols"/> loaded from the internal resource.
 /// </summary>
 /// <param name="options">Options</param>
 public void Apply(AsmOptionsGameplay options)
 {
     Apply(Symbols.Load(), options);
 }