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); }
public static Mother3Project Load(IFileSystem fileSystem, string projectSettingsPath) { var jsonManager = new JsonFileManager(fileSystem); var projectSettings = jsonManager.ReadJson <Mother3ProjectSettings>(projectSettingsPath); var romConfig = jsonManager.ReadJson <Mother3RomConfig>(projectSettings.RomConfigPath); var binaryManager = new BinaryFileManager(fileSystem); var romData = binaryManager.ReadFile <Block>(projectSettings.BaseRomPath); var project = new Mother3Project(romData, romConfig, projectSettings); foreach (var module in project.Modules) { module.ReadFromFiles(fileSystem); } return(project); }
public override void ReadFromFiles(IFileSystem fileSystem) { var jsonManager = new JsonFileManager(fileSystem); MainScript = jsonManager.ReadJson <List <List <string> > >(@"text\main-script.json"); }
public override void ReadFromFiles(IFileSystem fileSystem) { var jsonManager = new JsonFileManager(fileSystem); Items = jsonManager.ReadJson <List <Item> >(@"data\items.json"); }