private void UpdateResourceList() { AddDefaultResourceNodes(); string prj2Path = string.Empty; if (_ide.SelectedLevel.SpecificFile == "$(LatestFile)") { prj2Path = Path.Combine(_ide.SelectedLevel.FolderPath, _ide.SelectedLevel.GetLatestPrj2File()); } else { prj2Path = Path.Combine(_ide.SelectedLevel.FolderPath, _ide.SelectedLevel.SpecificFile); } Prj2Loader.LoadedObjects levelObjects = new Prj2Loader.LoadedObjects(); using (FileStream stream = new FileStream(prj2Path, FileMode.Open, FileAccess.Read, FileShare.Read)) levelObjects = Prj2Loader.LoadFromPrj2OnlyObjects(prj2Path, stream); LevelSettings settings = levelObjects.Settings; AddTextureFileNodes(settings); AddWadFileNodes(settings); AddGeometryFileNodes(settings); label_Loading.Visible = false; treeView_Resources.Invalidate(); }
public static bool LoadReferenceLevel(WadToolClass tool, IWin32Window owner, string path = null) { if (string.IsNullOrEmpty(path)) { path = LevelFileDialog.BrowseFile(owner, null, null, "Open Tomb Editor reference level", LevelSettings.FileFormatsLevel, null, false); } if (string.IsNullOrEmpty(path)) { return(false); } tool.ReferenceLevel = Prj2Loader.LoadFromPrj2(path, null, new Prj2Loader.Settings { IgnoreTextures = true, IgnoreWads = true }); if (tool.ReferenceLevel != null) { tool.Configuration.Tool_ReferenceProject = path; return(true); } else { return(false); } }
public Prj2Loader.LoadedObjects CreateObjects() { using (var stream = new MemoryStream(_data, false)) { var loadedObjects = Prj2Loader.LoadFromPrj2OnlyObjects(_levelPath, stream, new Prj2Loader.Settings { IgnoreTextures = true, IgnoreWads = true }); return(loadedObjects); } }
public Level CreateLevel() { using (var stream = new MemoryStream(_data, false)) { Level level = Prj2Loader.LoadFromPrj2(_levelPath, stream, new ProgressReporterSimple(), new Prj2Loader.Settings { IgnoreWads = true }); return(level); } }
public static void UpdatePrj2GameSettings(string prj2FilePath, ProjectLevel destLevel, Project destProject) { Level level = Prj2Loader.LoadFromPrj2(prj2FilePath, null); string exeFilePath = Path.Combine(destProject.EnginePath, destProject.GetExeFileName()); string dataFileName = destLevel.DataFileName + destProject.GetLevelFileExtension(); string dataFilePath = Path.Combine(destProject.EnginePath, "data", dataFileName); level.Settings.LevelFilePath = prj2FilePath; level.Settings.GameDirectory = level.Settings.MakeRelative(destProject.EnginePath, VariableType.LevelDirectory); level.Settings.GameExecutableFilePath = level.Settings.MakeRelative(exeFilePath, VariableType.LevelDirectory); level.Settings.GameLevelFilePath = level.Settings.MakeRelative(dataFilePath, VariableType.LevelDirectory); level.Settings.GameVersion = destProject.GameVersion; Prj2Writer.SaveToPrj2(prj2FilePath, level); }
private void LoadReferenceLevel(string fileName = null) { if (string.IsNullOrEmpty(fileName)) { fileName = LevelFileDialog.BrowseFile(this, "Open Tomb Editor reference project", LevelSettings.FileFormatsLevel, false); } if (string.IsNullOrEmpty(fileName) || !File.Exists(fileName)) { return; } ReferenceLevel = Prj2Loader.LoadFromPrj2(fileName, null, new Prj2Loader.Settings { IgnoreTextures = true, IgnoreWads = true }); _configuration.SoundTool_ReferenceProject = fileName; UpdateUI(); }