Example #1
0
        public static void RSDKv2_Load_Animation(EditorAnimation BridgeHost, string filepath)
        {
            RSDKv2.Animation animsetv2 = new RSDKv2.Animation(new RSDKv2.Reader(filepath));
            RSDKv2_Load_AnimHeader(BridgeHost, animsetv2);
            RSDKv2_Load_CollisionBoxes(BridgeHost, animsetv2);

            for (int a = 0; a < animsetv2.Animations.Count; a++)
            {
                var animset = new EditorAnimation.EditorAnimationInfo(EngineType.RSDKv2, BridgeHost);
                animset.LoadFrom(EngineType.RSDKv2, animsetv2.Animations[a]);
                BridgeHost.Animations.Add(animset);
            }
        }
Example #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            SaveFileDialog dlg = new SaveFileDialog();

            string         s  = "";
            OpenFileDialog od = new OpenFileDialog();

            if (od.ShowDialog(this) == DialogResult.OK)
            {
                s = od.FileName;
            }

            if (dlg.ShowDialog(this) == DialogResult.OK)
            {
                RSDKv2.Reader r = new RSDKv2.Reader(s);
                a2 = new RSDKv2.Animation(r);

                a2.SpriteSheets.Clear();
                for (int ss = 0; ss < a1.SpriteSheets.Count; ss++)
                {
                    a2.SpriteSheets.Add(a1.SpriteSheets[ss]);
                }

                a2.Animations.Clear();
                for (int i = 0; i < a1.Animations.Count; i++)
                {
                    RSDKv2.AnimationEntry an2 = new RSDKv2.AnimationEntry();
                    a2.Animations.Add(an2);
                    a2.Animations[i].FrameCount = a1.Animations[i].FrameCount;
                    a2.Animations[i].Loop       = a1.Animations[i].Loop;
                    a2.Animations[i].Speed      = a1.Animations[i].Speed;
                    for (int f = 0; f < a1.Animations[i].Frames.Count; f++)
                    {
                        RSDKv2.Frame fr = new RSDKv2.Frame();
                        a2.Animations[i].Frames.Add(fr);
                        a2.Animations[i].Frames[f].CenterX      = a1.Animations[i].Frames[f].CenterX;
                        a2.Animations[i].Frames[f].CenterY      = a1.Animations[i].Frames[f].CenterY;
                        a2.Animations[i].Frames[f].CollisionBox = a1.Animations[i].Frames[f].CollisionBox;
                        a2.Animations[i].Frames[f].Height       = a1.Animations[i].Frames[f].Height;
                        a2.Animations[i].Frames[f].SpriteSheet  = a1.Animations[i].Frames[f].SpriteSheet;
                        a2.Animations[i].Frames[f].Width        = a1.Animations[i].Frames[f].Width;
                        a2.Animations[i].Frames[f].X            = a1.Animations[i].Frames[f].X;
                        a2.Animations[i].Frames[f].Y            = a1.Animations[i].Frames[f].Y;
                    }
                }

                RSDKv2.Writer w = new RSDKv2.Writer(dlg.FileName);

                a2.SaveChanges(w);
            }
        }
        public static void RSDKv2_Save_Animation(EditorAnimation BridgeHost, string filepath)
        {
            RSDKv2.Animation animsetv2 = new RSDKv2.Animation();
            RSDKv2_Save_AnimHeader(BridgeHost, animsetv2);

            for (int a = 0; a < BridgeHost.Animations.Count; a++)
            {
                RSDKv2.Animation.AnimationEntry animv2 = new RSDKv2.Animation.AnimationEntry();
                BridgeHost.Animations[a].SaveTo(EngineType.RSDKv2, animv2);
                animsetv2.Animations.Add(animv2);
            }

            RSDKv2_Save_CollisionBoxes(BridgeHost, animsetv2);

            animsetv2.Write(new RSDKv2.Writer(filepath));
        }
Example #4
0
        public static void RSDKv2_Load_CollisionBoxes(EditorAnimation BridgeHost, RSDKv2.Animation animsetv2)
        {
            var collisionBoxes = new List <EditorAnimation.EditorRetroHitBox>();

            for (int i = 0; i < animsetv2.CollisionBoxes.Count; i++)
            {
                var hitboxEntry = new EditorAnimation.EditorRetroHitBox();
                for (int j = 0; j < animsetv2.CollisionBoxes[i].Hitboxes.Length; j++)
                {
                    hitboxEntry.Hitboxes[j].Bottom = animsetv2.CollisionBoxes[i].Hitboxes[j].Bottom;
                    hitboxEntry.Hitboxes[j].Top    = animsetv2.CollisionBoxes[i].Hitboxes[j].Top;
                    hitboxEntry.Hitboxes[j].Left   = animsetv2.CollisionBoxes[i].Hitboxes[j].Left;
                    hitboxEntry.Hitboxes[j].Right  = animsetv2.CollisionBoxes[i].Hitboxes[j].Right;
                }
                collisionBoxes.Add(hitboxEntry);
            }
            BridgeHost.RetroCollisionBoxes = collisionBoxes;
        }
        public static void RSDKv2_Save_CollisionBoxes(EditorAnimation BridgeHost, RSDKv2.Animation animsetv2)
        {
            animsetv2.CollisionBoxes = new List <RSDKv2.Animation.sprHitbox>(8);
            for (int a = 0; a < BridgeHost.RetroCollisionBoxes.Count; a++)
            {
                animsetv2.CollisionBoxes.Insert(a, new RSDKv2.Animation.sprHitbox());
                for (int f = 0; f < 8; f++)
                {
                    if (animsetv2.CollisionBoxes[a].Hitboxes == null)
                    {
                        animsetv2.CollisionBoxes[a].Hitboxes = new RSDKv2.Animation.sprHitbox.HitboxInfo[8];
                    }

                    animsetv2.CollisionBoxes[a].Hitboxes[f].Bottom = BridgeHost.RetroCollisionBoxes[a].Hitboxes[f].Bottom;
                    animsetv2.CollisionBoxes[a].Hitboxes[f].Top    = BridgeHost.RetroCollisionBoxes[a].Hitboxes[f].Top;
                    animsetv2.CollisionBoxes[a].Hitboxes[f].Left   = BridgeHost.RetroCollisionBoxes[a].Hitboxes[f].Left;
                    animsetv2.CollisionBoxes[a].Hitboxes[f].Right  = BridgeHost.RetroCollisionBoxes[a].Hitboxes[f].Right;
                }
            }
        }
 public static void RSDKv2_Save_AnimHeader(EditorAnimation BridgeHost, RSDKv2.Animation animsetv2)
 {
     animsetv2.SpriteSheets = BridgeHost.SpriteSheets.ToList();
 }
Example #7
0
 public static void RSDKv2_Load_AnimHeader(EditorAnimation BridgeHost, RSDKv2.Animation animsetv2)
 {
     BridgeHost.SpriteSheets   = new System.Collections.ObjectModel.ObservableCollection <string>(animsetv2.SpriteSheets);
     BridgeHost.CollisionBoxes = GetV3HitboxList();
 }