Example #1
0
        private void CreateTextureFace()
        {
            textureFace = new TextureFace(Width, Height)
            {
                BackGround = new Vector4(1, 0, 0, 1)
            };

            Resource.heap1.AddResource(textureFace);

            Resource.TextureFaceTable = new ResourceTable(Resource.heap1, 3);

            Grid gridTexture = new Grid(20, 20, Resource.TextureTable);

            Micos.Add(gridTexture);

            Micos.Update();

            GraphicsPipeline.Open(graphicsPipelineState, textureFace);

            Micos.Exports();

            GraphicsPipeline.Close();

            GraphicsPipeline.WaitFlush();

            Micos.Remove(gridTexture);

            Micos.Update();
        }
Example #2
0
 public override void WriteData(ESPWriter writer)
 {
     if (EditorID != null)
     {
         EditorID.WriteBinary(writer);
     }
     if (ObjectBounds != null)
     {
         ObjectBounds.WriteBinary(writer);
     }
     if (Name != null)
     {
         Name.WriteBinary(writer);
     }
     if (Model != null)
     {
         Model.WriteBinary(writer);
     }
     if (LargeIcon != null)
     {
         LargeIcon.WriteBinary(writer);
     }
     if (SmallIcon != null)
     {
         SmallIcon.WriteBinary(writer);
     }
     if (Script != null)
     {
         Script.WriteBinary(writer);
     }
     if (PickUpSound != null)
     {
         PickUpSound.WriteBinary(writer);
     }
     if (DropSound != null)
     {
         DropSound.WriteBinary(writer);
     }
     if (TextureFace != null)
     {
         TextureFace.WriteBinary(writer);
     }
     if (TextureBack != null)
     {
         TextureBack.WriteBinary(writer);
     }
     if (CardData != null)
     {
         CardData.WriteBinary(writer);
     }
     if (Value != null)
     {
         Value.WriteBinary(writer);
     }
 }
Example #3
0
        public static Vector2 AdjustForPosition(int x, int y, int z, TextureFace face, TextureDetails details)
        {
            Vector2 texturePosition = details.origin;

            switch (face)
            {
            case TextureFace.Top:
            case TextureFace.Bottom:
                texturePosition.x += z;
                texturePosition.y += x;
                break;

            case TextureFace.North:
            case TextureFace.South:
                texturePosition.x += x;
                texturePosition.y += y;
                break;

            case TextureFace.East:
            case TextureFace.West:
                texturePosition.x += z;
                texturePosition.y += y;
                break;

            default:
                Debug.LogWarning("Invalid texture face provided: Unexpected texturing results may occur.");
                break;
            }
            while (texturePosition.x >= details.origin.x + details.dimensions.x)
            {
                texturePosition.x -= details.dimensions.x;
            }
            while (texturePosition.y >= details.origin.y + details.dimensions.y)
            {
                texturePosition.y -= details.dimensions.y;
            }
            return(texturePosition);
        }
Example #4
0
        public override void ReadData(ESPReader reader, long dataEnd)
        {
            while (reader.BaseStream.Position < dataEnd)
            {
                string subTag = reader.PeekTag();

                switch (subTag)
                {
                case "EDID":
                    if (EditorID == null)
                    {
                        EditorID = new SimpleSubrecord <String>();
                    }

                    EditorID.ReadBinary(reader);
                    break;

                case "OBND":
                    if (ObjectBounds == null)
                    {
                        ObjectBounds = new ObjectBounds();
                    }

                    ObjectBounds.ReadBinary(reader);
                    break;

                case "FULL":
                    if (Name == null)
                    {
                        Name = new SimpleSubrecord <String>();
                    }

                    Name.ReadBinary(reader);
                    break;

                case "MODL":
                    if (Model == null)
                    {
                        Model = new Model();
                    }

                    Model.ReadBinary(reader);
                    break;

                case "ICON":
                    if (LargeIcon == null)
                    {
                        LargeIcon = new SimpleSubrecord <String>();
                    }

                    LargeIcon.ReadBinary(reader);
                    break;

                case "MICO":
                    if (SmallIcon == null)
                    {
                        SmallIcon = new SimpleSubrecord <String>();
                    }

                    SmallIcon.ReadBinary(reader);
                    break;

                case "SCRI":
                    if (Script == null)
                    {
                        Script = new RecordReference();
                    }

                    Script.ReadBinary(reader);
                    break;

                case "YNAM":
                    if (PickUpSound == null)
                    {
                        PickUpSound = new RecordReference();
                    }

                    PickUpSound.ReadBinary(reader);
                    break;

                case "ZNAM":
                    if (DropSound == null)
                    {
                        DropSound = new RecordReference();
                    }

                    DropSound.ReadBinary(reader);
                    break;

                case "TX00":
                    if (TextureFace == null)
                    {
                        TextureFace = new SimpleSubrecord <String>();
                    }

                    TextureFace.ReadBinary(reader);
                    break;

                case "TX01":
                    if (TextureBack == null)
                    {
                        TextureBack = new SimpleSubrecord <String>();
                    }

                    TextureBack.ReadBinary(reader);
                    break;

                case "INTV":
                    if (CardData == null)
                    {
                        CardData = new Card();
                    }

                    CardData.ReadBinary(reader);
                    break;

                case "DATA":
                    if (Value == null)
                    {
                        Value = new SimpleSubrecord <UInt32>();
                    }

                    Value.ReadBinary(reader);
                    break;

                default:
                    throw new Exception();
                }
            }
        }
Example #5
0
        public override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("EditorID", false, out subEle))
            {
                if (EditorID == null)
                {
                    EditorID = new SimpleSubrecord <String>();
                }

                EditorID.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("ObjectBounds", false, out subEle))
            {
                if (ObjectBounds == null)
                {
                    ObjectBounds = new ObjectBounds();
                }

                ObjectBounds.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Name", false, out subEle))
            {
                if (Name == null)
                {
                    Name = new SimpleSubrecord <String>();
                }

                Name.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Model", false, out subEle))
            {
                if (Model == null)
                {
                    Model = new Model();
                }

                Model.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Icon/Large", false, out subEle))
            {
                if (LargeIcon == null)
                {
                    LargeIcon = new SimpleSubrecord <String>();
                }

                LargeIcon.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Icon/Small", false, out subEle))
            {
                if (SmallIcon == null)
                {
                    SmallIcon = new SimpleSubrecord <String>();
                }

                SmallIcon.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Script", false, out subEle))
            {
                if (Script == null)
                {
                    Script = new RecordReference();
                }

                Script.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("PickUpSound", false, out subEle))
            {
                if (PickUpSound == null)
                {
                    PickUpSound = new RecordReference();
                }

                PickUpSound.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("DropSound", false, out subEle))
            {
                if (DropSound == null)
                {
                    DropSound = new RecordReference();
                }

                DropSound.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Texture/Face", false, out subEle))
            {
                if (TextureFace == null)
                {
                    TextureFace = new SimpleSubrecord <String>();
                }

                TextureFace.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Texture/Back", false, out subEle))
            {
                if (TextureBack == null)
                {
                    TextureBack = new SimpleSubrecord <String>();
                }

                TextureBack.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("CardData", false, out subEle))
            {
                if (CardData == null)
                {
                    CardData = new Card();
                }

                CardData.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Value", false, out subEle))
            {
                if (Value == null)
                {
                    Value = new SimpleSubrecord <UInt32>();
                }

                Value.ReadXML(subEle, master);
            }
        }
Example #6
0
        public override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (EditorID != null)
            {
                ele.TryPathTo("EditorID", true, out subEle);
                EditorID.WriteXML(subEle, master);
            }
            if (ObjectBounds != null)
            {
                ele.TryPathTo("ObjectBounds", true, out subEle);
                ObjectBounds.WriteXML(subEle, master);
            }
            if (Name != null)
            {
                ele.TryPathTo("Name", true, out subEle);
                Name.WriteXML(subEle, master);
            }
            if (Model != null)
            {
                ele.TryPathTo("Model", true, out subEle);
                Model.WriteXML(subEle, master);
            }
            if (LargeIcon != null)
            {
                ele.TryPathTo("Icon/Large", true, out subEle);
                LargeIcon.WriteXML(subEle, master);
            }
            if (SmallIcon != null)
            {
                ele.TryPathTo("Icon/Small", true, out subEle);
                SmallIcon.WriteXML(subEle, master);
            }
            if (Script != null)
            {
                ele.TryPathTo("Script", true, out subEle);
                Script.WriteXML(subEle, master);
            }
            if (PickUpSound != null)
            {
                ele.TryPathTo("PickUpSound", true, out subEle);
                PickUpSound.WriteXML(subEle, master);
            }
            if (DropSound != null)
            {
                ele.TryPathTo("DropSound", true, out subEle);
                DropSound.WriteXML(subEle, master);
            }
            if (TextureFace != null)
            {
                ele.TryPathTo("Texture/Face", true, out subEle);
                TextureFace.WriteXML(subEle, master);
            }
            if (TextureBack != null)
            {
                ele.TryPathTo("Texture/Back", true, out subEle);
                TextureBack.WriteXML(subEle, master);
            }
            if (CardData != null)
            {
                ele.TryPathTo("CardData", true, out subEle);
                CardData.WriteXML(subEle, master);
            }
            if (Value != null)
            {
                ele.TryPathTo("Value", true, out subEle);
                Value.WriteXML(subEle, master);
            }
        }
Example #7
0
        public static Texture2D GetTextureFromMonsterId(int id, TextureFace face)
        {
            switch (id) {
            case 1:
                switch (face) {
                case TextureFace.Front: return ArmlerFront;
                case TextureFace.Back: return ArmlerBack;
                case TextureFace.World: return ArmlerParty;
                }
                break;
            case 2:
                switch (face) {
                case TextureFace.Front: return PantslerFront;
                case TextureFace.Back: return PantslerBack;
                case TextureFace.World: return PantslerParty;
                }
                break;
            case 3:
                switch (face) {
                case TextureFace.Front: return PrestlerFront;
                case TextureFace.Back: return PrestlerBack;
                case TextureFace.World: return PrestlerParty;
                }
                break;
            case 4:
                switch (face) {
                case TextureFace.Front: return MimirdFront;
                case TextureFace.Back: return MimirdBack;
                case TextureFace.World: return MimirdParty;
                }
                break;
            case 5:
                switch (face) {
                case TextureFace.Front: return NjortorFront;
                case TextureFace.Back: return NjortorBack;
                case TextureFace.World: return NjortorParty;
                }
                break;
            case 6:
                switch (face) {
                case TextureFace.Front: return DvallalinFront;
                case TextureFace.Back: return DvallalinBack;
                case TextureFace.World: return DvallalinParty;
                }
                break;
            case 7:
                switch (face) {
                case TextureFace.Front: return GuilailFront;
                case TextureFace.Back: return GuilailBack;
                case TextureFace.World: return GuilailParty;
                }
                break;
            case 8:
                switch (face) {
                case TextureFace.Front: return GulagaFront;
                case TextureFace.Back: return GulagaBack;
                case TextureFace.World: return GulagaParty;
                }
                break;
            case 9:
                switch (face) {
                case TextureFace.Front: return DagaFront;
                case TextureFace.Back: return DagaBack;
                case TextureFace.World: return DagaParty;
                }
                break;
            case 10:
                switch (face) {
                case TextureFace.Front: return GronkeyFront;
                case TextureFace.Back: return GronkeyBack;
                case TextureFace.World: return GronkeyParty;
                }
                break;
            case 11:
                switch (face) {
                case TextureFace.Front: return GladkeyFront;
                case TextureFace.Back: return GladkeyBack;
                case TextureFace.World: return GladkeyParty;
                }
                break;
            case 12:
                switch (face) {
                case TextureFace.Front: return BrassFront;
                case TextureFace.Back: return BrassBack;
                case TextureFace.World: return BrassParty;
                }
                break;
            case 13:
                switch (face) {
                case TextureFace.Front: return BonsantaiFront;
                case TextureFace.Back: return BonsantaiBack;
                case TextureFace.World: return BonsantaiParty;
                }
                break;
            case 14:
                switch (face) {
                case TextureFace.Front: return HuffsteinFront;
                case TextureFace.Back: return HuffsteinBack;
                case TextureFace.World: return HuffsteinParty;
                }
                break;
            case 15:
                switch (face) {
                case TextureFace.Front: return FesterFront;
                case TextureFace.Back: return FesterBack;
                case TextureFace.World: return FesterParty;
                }
                break;
            case 16:
                switch (face) {
                case TextureFace.Front: return JoiantlerFront;
                case TextureFace.Back: return JoiantlerBack;
                case TextureFace.World: return JoiantlerParty;
                }
                break;
            case 17:
                switch (face) {
                case TextureFace.Front: return RasionFront;
                case TextureFace.Back: return RasionBack;
                case TextureFace.World: return RasionParty;
                }
                break;
            case 18:
                switch (face) {
                case TextureFace.Front: return HippolaciousFront;
                case TextureFace.Back: return HippolaciousBack;
                case TextureFace.World: return HippolaciousParty;
                }
                break;
            case 19:
                switch (face) {
                case TextureFace.Front: return BaggleFront;
                case TextureFace.Back: return BaggleBack;
                case TextureFace.World: return BaggleParty;
                }
                break;
            case 20:
                switch (face) {
                case TextureFace.Front: return KrabbleFront;
                case TextureFace.Back: return KrabbleBack;
                case TextureFace.World: return KrabbleParty;
                }
                break;
            case 21:
                switch (face) {
                case TextureFace.Front: return DrumbyFront;
                case TextureFace.Back: return DrumbyBack;
                case TextureFace.World: return DrumbyParty;
                }
                break;
            case 22:
                switch (face) {
                case TextureFace.Front: return KolfieFront;
                case TextureFace.Back: return KolfieBack;
                case TextureFace.World: return KolfieParty;
                }
                break;
            case 23:
                switch (face) {
                case TextureFace.Front: return KirkFront;
                case TextureFace.Back: return KirkBack;
                case TextureFace.World: return KirkParty;
                }
                break;
            }

            return null;
        }