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();
        }
Esempio n. 2
0
        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);
     }
 }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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();
        }