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); } }
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)); }
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(); }
public static void RSDKv2_Load_AnimHeader(EditorAnimation BridgeHost, RSDKv2.Animation animsetv2) { BridgeHost.SpriteSheets = new System.Collections.ObjectModel.ObservableCollection <string>(animsetv2.SpriteSheets); BridgeHost.CollisionBoxes = GetV3HitboxList(); }