Esempio n. 1
0
 public BaseBitmap(BitmapTextureInterleavedInteropResource definition, int index, Bitmap.Image image)
 {
     if (index == 0)
     {
         var def = definition.Texture.Definition.Bitmap1;
         Height      = def.Height;
         Width       = def.Width;
         Depth       = def.Depth;
         MipMapCount = def.MipmapCount - 1;
         Type        = def.BitmapType;
         Flags       = image.Flags;
         UpdateFormat(image.Format);
     }
     else
     {
         var def = definition.Texture.Definition.Bitmap2;
         Height      = def.Height;
         Width       = def.Width;
         Depth       = def.Depth;
         MipMapCount = def.MipmapCount - 1;
         Type        = def.BitmapType;
         Flags       = image.Flags;
         UpdateFormat(image.Format);
     }
     MipMapOffset = image.MipMapOffset;
     Curve        = image.Curve;
 }
Esempio n. 2
0
    public BaseBitmap(BitmapTextureInterleavedInteropResource definition, int index, Bitmap.Image image)
    {
        var def = definition.Texture.Definition;

        if (index == 0)
        {
            Height      = def.Height1;
            Width       = def.Width1;
            Depth       = def.Depth1;
            MipMapCount = def.MipmapCount1 - 1;
            Type        = def.Type1;
            Flags       = image.Flags;
            UpdateFormat(image.Format);
        }
        else
        {
            Height      = def.Height2;
            Width       = def.Width2;
            Depth       = def.Depth2;
            MipMapCount = def.MipmapCount2 - 1;
            Type        = def.Type2;
            Flags       = image.Flags;
            UpdateFormat(image.Format);
        }
    }
Esempio n. 3
0
 public XboxBitmap(BitmapTextureInterleavedInteropResource definition, int index, Bitmap.Image image) : base(definition, index, image)
 {
     UpdateFormat(image.Format);
     MultipleOfBlockDimension = Width % BlockDimension == 0 && Height % BlockDimension == 0;
     NotExact = Width != VirtualWidth || Height != VirtualHeight;
     InTile   = Width <= MinimalBitmapSize / 2 && Height <= MinimalBitmapSize / 2;
     Offset   = 0;
 }
Esempio n. 4
0
        public static BaseBitmap ConvertGen3Bitmap(GameCache cache, Bitmap bitmap, int imageIndex, bool forDDS = false)
        {
            var image = bitmap.Images[imageIndex];

            if (image.XboxFlags.HasFlag(BitmapFlagsXbox.UseInterleavedTextures))
            {
                BitmapTextureInterleavedInteropResource resource = cache.ResourceCache.GetBitmapTextureInterleavedInteropResource(bitmap.InterleavedResources[image.InterleavedTextureIndex1]);
                if (resource == null)
                {
                    return(null);
                }

                BitmapTextureInteropDefinition definition;
                BitmapTextureInteropDefinition otherDefinition;
                int pairIndex = 0;

                if (image.InterleavedTextureIndex2 > 0)
                {
                    definition      = resource.Texture.Definition.Bitmap2;
                    otherDefinition = resource.Texture.Definition.Bitmap1;
                    pairIndex       = 1;
                }
                else
                {
                    definition      = resource.Texture.Definition.Bitmap1;
                    otherDefinition = resource.Texture.Definition.Bitmap2;
                }
                return(ConvertGen3Bitmap(resource.Texture.Definition.PrimaryResourceData.Data, resource.Texture.Definition.SecondaryResourceData.Data, definition, bitmap, imageIndex, true, pairIndex, otherDefinition, forDDS));
            }
            else
            {
                BitmapTextureInteropResource resource = cache.ResourceCache.GetBitmapTextureInteropResource(bitmap.Resources[imageIndex]);
                if (resource == null)
                {
                    return(null);
                }

                return(ConvertGen3Bitmap(resource.Texture.Definition.PrimaryResourceData.Data, resource.Texture.Definition.SecondaryResourceData.Data, resource.Texture.Definition.Bitmap, bitmap, imageIndex, false, 0, null, forDDS));
            }
        }
Esempio n. 5
0
 public abstract TagResourceReference CreateBitmapInterleavedResource(BitmapTextureInterleavedInteropResource bitmapResourceDefinition);
Esempio n. 6
0
 public override TagResourceReference CreateBitmapInterleavedResource(BitmapTextureInterleavedInteropResource bitmapResourceDefinition)
 {
     throw new NotImplementedException();
 }
 public override TagResourceReference CreateBitmapInterleavedResource(BitmapTextureInterleavedInteropResource bitmapResourceDefinition)
 {
     return(CreateResource(bitmapResourceDefinition, ResourceLocation.Textures, TagResourceTypeGen3.BitmapInterleaved));
 }