Beispiel #1
0
        static void Unpack(FileInfo file, DirectoryInfo destination)
        {
            var ytd = new TextureDictionaryFileWrapper_GTA5_pc();

            ytd.Load(file.FullName);
            Console.WriteLine(file.FullName);

            var dir = destination?.FullName ??
                      Path.Join(file.DirectoryName, Path.GetFileNameWithoutExtension(file.Name));

            new PngTextureDictionary(ytd.TextureDictionary)
            .Save(dir);
        }
Beispiel #2
0
        static void List(FileInfo file)
        {
            var ytd = new TextureDictionaryFileWrapper_GTA5_pc();

            ytd.Load(file.FullName);
            Console.WriteLine($"Loaded {file.Name}:");

            var longest = ytd.TextureDictionary.Textures
                          .Select(tex => tex.Name.Length)
                          .Max();

            foreach (var tex in ytd.TextureDictionary.Textures)
            {
                Console.Write($"  {tex.Name.PadRight(longest)} {tex.Width}x{tex.Height}");
                Console.WriteLine($" in {tex.Format} with {tex.MipMapLevels} levels");

                for (int i = 0; i < tex.MipMapLevels; i++)
                {
                    Console.WriteLine($"lvl {i} is {tex.GetTextureData(i+1).Length} bytes");
                }
            }
        }