Esempio n. 1
0
        public MemoryStream ExportToStream(int tfc, string cachepath)
        {
            MemoryStream m = new MemoryStream();

            if (tfc < 0 || tfc >= TextureTFCs.Count)
            {
                return(m);
            }
            if (TextureTFCs[tfc].InCache && cachepath != "")
            {
                TFCFile TFCf = new TFCFile(cachepath);
                if (TFCf.CheckTFC(TextureTFCs[tfc].offset))
                {
                    ImageF = new ImageFile(TFCf.getRawTFCComp(TextureTFCs[tfc].offset), T2D.PixelFormat, TextureTFCs[tfc].sizeX, TextureTFCs[tfc].sizeY);
                }
                else
                {
                    return(m);
                }
            }
            else
            {
                if (ImageF != null)
                {
                    m = ImageF.ExportToStream();
                }
                return(m);
            }
            if (!TextureTFCs[tfc].InCache)
            {
                int    SizeX  = TextureTFCs[tfc].sizeX;
                int    SizeY  = TextureTFCs[tfc].sizeY;
                int    Size   = (int)TextureTFCs[tfc].size;
                int    Offset = (int)TextureTFCs[tfc].offset;
                byte[] buff   = new byte[Size];
                for (int i = 0; i < Size; i++)
                {
                    buff[i] = memory[Offset + i];
                }
                ImageF = new ImageFile(buff, T2D.PixelFormat, SizeX, SizeY);
            }
            if (T2D.PixelFormat == "PF_DXT1\0" ||
                T2D.PixelFormat == "PF_DXT5\0" ||
                T2D.PixelFormat == "PF_A8R8G8B8\0" ||
                T2D.PixelFormat == "PF_G8\0" ||
                T2D.PixelFormat == "PF_V8U8\0")
            {
                m = ImageF.ExportToStream();
            }
            return(m);
        }
Esempio n. 2
0
 public void ExportToFile(int tfc, string path = "", string cachepath = "")
 {
     if (tfc < 0 || tfc >= TextureTFCs.Count)
     {
         return;
     }
     if (TextureTFCs[tfc].InCache == true)
     {
         TFCFile TFCf = new TFCFile(cachepath);
         if (TFCf.CheckTFC(TextureTFCs[tfc].offset))
         {
             ImageF = new ImageFile(TFCf.getRawTFCComp(TextureTFCs[tfc].offset), T2D.PixelFormat, TextureTFCs[tfc].sizeX, TextureTFCs[tfc].sizeY);
         }
         else
         {
             return;
         }
     }
     else
     {
         int    SizeX  = TextureTFCs[tfc].sizeX;
         int    SizeY  = TextureTFCs[tfc].sizeY;
         int    Size   = (int)TextureTFCs[tfc].size;
         int    Offset = (int)TextureTFCs[tfc].offset;
         byte[] buff   = new byte[Size];
         for (int i = 0; i < Size; i++)
         {
             buff[i] = memory[Offset + i];
         }
         ImageF = new ImageFile(buff, T2D.PixelFormat, SizeX, SizeY);
     }
     if (T2D.PixelFormat == "PF_DXT1\0" ||
         T2D.PixelFormat == "PF_DXT5\0" ||
         T2D.PixelFormat == "PF_A8R8G8B8\0" ||
         T2D.PixelFormat == "PF_G8\0" ||
         T2D.PixelFormat == "PF_V8U8\0")
     {
         ImageF.ExportToFile(path);
     }
 }
Esempio n. 3
0
 public MemoryStream ExportToStream(int tfc, string cachepath)
 {
     MemoryStream m = new MemoryStream();
     if (tfc < 0 || tfc >= TextureTFCs.Count)
         return m;
     if (TextureTFCs[tfc].InCache && cachepath != "")
     {
         TFCFile TFCf = new TFCFile(cachepath);
         if (TFCf.CheckTFC(TextureTFCs[tfc].offset))
             ImageF = new ImageFile(TFCf.getRawTFCComp(TextureTFCs[tfc].offset), T2D.PixelFormat, TextureTFCs[tfc].sizeX, TextureTFCs[tfc].sizeY);
         else
             return m;
     }
     else
     {
         if (ImageF != null)
             m = ImageF.ExportToStream();
         return m;
     }
     if (!TextureTFCs[tfc].InCache)
     {
         int SizeX = TextureTFCs[tfc].sizeX;
         int SizeY = TextureTFCs[tfc].sizeY;
         int Size = (int)TextureTFCs[tfc].size;
         int Offset = (int)TextureTFCs[tfc].offset;
         byte[] buff = new byte[Size];
         for (int i = 0; i < Size; i++)
             buff[i] = memory[Offset + i];
         ImageF = new ImageFile(buff, T2D.PixelFormat, SizeX, SizeY);
     }
     if (T2D.PixelFormat == "PF_DXT1\0" ||
         T2D.PixelFormat == "PF_DXT5\0" ||
         T2D.PixelFormat == "PF_A8R8G8B8\0" ||
         T2D.PixelFormat == "PF_G8\0" ||
         T2D.PixelFormat == "PF_V8U8\0")
         m = ImageF.ExportToStream();
     return m;
 }
Esempio n. 4
0
 public void ExportToFile(int tfc, string path = "", string cachepath = "")
 {
     if (tfc < 0 || tfc >= TextureTFCs.Count)
         return;
     if (TextureTFCs[tfc].InCache == true)
     {
         TFCFile TFCf = new TFCFile(cachepath);
         if (TFCf.CheckTFC(TextureTFCs[tfc].offset))
         {
             ImageF = new ImageFile(TFCf.getRawTFCComp(TextureTFCs[tfc].offset), T2D.PixelFormat, TextureTFCs[tfc].sizeX, TextureTFCs[tfc].sizeY);
         }
         else
             return;
     }
     else
     {
         int SizeX = TextureTFCs[tfc].sizeX;
         int SizeY = TextureTFCs[tfc].sizeY;
         int Size = (int)TextureTFCs[tfc].size;
         int Offset = (int)TextureTFCs[tfc].offset;
         byte[] buff = new byte[Size];
         for (int i = 0; i < Size; i++)
             buff[i] = memory[Offset + i];
         ImageF = new ImageFile(buff, T2D.PixelFormat, SizeX, SizeY);
     }
     if (T2D.PixelFormat == "PF_DXT1\0" ||
         T2D.PixelFormat == "PF_DXT5\0" ||
         T2D.PixelFormat == "PF_A8R8G8B8\0" ||
         T2D.PixelFormat == "PF_G8\0" ||
         T2D.PixelFormat == "PF_V8U8\0")
         ImageF.ExportToFile(path);
 }