Files @ eee2a6a0c86b
Branch filter:

Location: ATITD-Tools/Desert-Paint-Lab/FileUtils.cs - annotation

jmaltzen
Loosen checks on testing for papyrus texture some more. Allow for a bit of error there, as long as everything else checks out.
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
234ae2144a25
234ae2144a25
234ae2144a25
234ae2144a25
234ae2144a25
234ae2144a25
234ae2144a25
234ae2144a25
234ae2144a25
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
8c3f6ec929d6
501aa95c46d7
8c3f6ec929d6
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
501aa95c46d7
501aa95c46d7
8c3f6ec929d6
501aa95c46d7
501aa95c46d7
8c3f6ec929d6
501aa95c46d7
501aa95c46d7
501aa95c46d7
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
501aa95c46d7
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
501aa95c46d7
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
f28757bb21cb
using System;

namespace DesertPaintLab
{
    public class FileUtils
    {
        public FileUtils()
        {
        }

        public static string AppDataPath
        {
            get {
                return System.IO.Path.Combine(
                    Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
                    "DesertPaintLab");
            }
        }

        public static string FindApplicationResourceDirectory(string dirname)
        {
            string dirPath = System.IO.Path.Combine(
                    System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
                    dirname);
            if (System.IO.Directory.Exists(dirPath))
            {
                return dirPath;
            }
            dirPath = System.IO.Path.Combine(
                System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
                "data", 
                dirname);
            if (System.IO.Directory.Exists(dirPath))
            {
                return dirPath;
            }
            // try "Resources" in case this is a Mac app bundle
            dirPath = System.IO.Path.Combine(
                Environment.GetFolderPath(Environment.SpecialFolder.Resources), "data", dirname);
            if (System.IO.Directory.Exists(dirPath))
            {
                return dirPath;
            }
            // try "Resources" in case this is a Mac app bundle
            dirPath = System.IO.Path.Combine(
                Environment.GetFolderPath(Environment.SpecialFolder.Resources), dirname);
            if (System.IO.Directory.Exists(dirPath))
            {
                return dirPath;
            }
            dirPath = System.IO.Path.Combine(
                System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
                "Resources", "data",
                dirname);
            if (System.IO.Directory.Exists(dirPath))
            {
                // not found
                return dirPath;
            }
            dirPath = System.IO.Path.Combine(
                System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
                "Resources", 
                dirname);
            if (!System.IO.Directory.Exists(dirPath))
            {
                // not found
                dirPath = null;
            }
            return dirPath;
        }

        public static string FindApplicationResourceFile(string filename)
        {
            // start with the location of the executable
            string filePath = System.IO.Path.Combine(
                    System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
                    filename);
            if (!System.IO.File.Exists(filePath))
            {
                filePath = System.IO.Path.Combine(
                    System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
                    "data", 
                    filename);
            }
            if (!System.IO.File.Exists(filePath))
            {
                // try "Resources/data" in case this is a Mac app bundle
                filePath = System.IO.Path.Combine(
                    Environment.GetFolderPath(Environment.SpecialFolder.Resources), "data", filename);
            }
            if (!System.IO.File.Exists(filePath))
            {
                // try "Resources" in case this is a Mac app bundle
                filePath = System.IO.Path.Combine(
                    Environment.GetFolderPath(Environment.SpecialFolder.Resources), filename);
            }
            if (!System.IO.File.Exists(filePath))
            {
                filePath = System.IO.Path.Combine(
                    System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
                    "Resources", "data",
                    filename);
            }
            if (!System.IO.File.Exists(filePath))
            {
                filePath = System.IO.Path.Combine(
                    System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
                    "Resources", 
                    filename);
            }
            if (!System.IO.File.Exists(filePath))
            {
                // not found
                filePath = null;
            }
            return filePath;
        }
    }
}