public static Mother3Project CreateNew(IFileSystem fileSystem, string romDataPath, string romConfigPath) { var binaryManager = new BinaryFileManager(fileSystem); var jsonManager = new JsonFileManager(fileSystem); var romData = binaryManager.ReadFile <Block>(romDataPath); var romConfig = jsonManager.ReadJson <Mother3RomConfig>(romConfigPath); var projectSettings = Mother3ProjectSettings.CreateDefault(); var project = new Mother3Project(romData, romConfig, projectSettings); // Do some ROM config prep before reading the modules if (romConfig.IsJapanese) { romConfig.AddJapaneseCharsToLookup(romData); } if (romConfig.ScriptEncodingParameters != null) { romConfig.ReadEncodingPadData(romData); } romConfig.UpdateLookups(); foreach (var module in project.Modules) { module.ReadFromRom(romData); } return(project); }
private Mother3Project(Block romData, Mother3RomConfig romConfig, Mother3ProjectSettings projectSettings) { RomData = romData; RomConfig = romConfig; ProjectSettings = projectSettings; Modules = new Mother3ModuleCollection(romConfig); }