diff --git a/AnimationEditor/AnimationEditor.csproj b/AnimationEditor/AnimationEditor.csproj
index c296a09..9aadbbb 100644
--- a/AnimationEditor/AnimationEditor.csproj
+++ b/AnimationEditor/AnimationEditor.csproj
@@ -39,14 +39,20 @@
..\packages\MonoGame.Forms.DX.2.1.0.2\lib\net451\MonoGame.Framework.dll
- ..\packages\MonoGame.Forms.DX.2.1.0.2\lib\net451\SharpDX.dll
+ ..\packages\SharpDX.4.0.1\lib\net45\SharpDX.dll
..\packages\MonoGame.Forms.DX.2.1.0.2\lib\net451\SharpDX.Direct3D11.dll
+
+ ..\packages\SharpDX.Direct3D9.4.0.1\lib\net45\SharpDX.Direct3D9.dll
+
..\packages\MonoGame.Forms.DX.2.1.0.2\lib\net451\SharpDX.DXGI.dll
+
+ ..\packages\SharpDX.Mathematics.4.0.1\lib\net45\SharpDX.Mathematics.dll
+
diff --git a/AnimationEditor/Form1.Designer.cs b/AnimationEditor/Form1.Designer.cs
index d863f58..6ba83e3 100644
--- a/AnimationEditor/Form1.Designer.cs
+++ b/AnimationEditor/Form1.Designer.cs
@@ -88,9 +88,9 @@
//
// loadSpriteMapDialog
//
- this.loadSpriteMapDialog.DefaultExt = "xml";
+ this.loadSpriteMapDialog.DefaultExt = "smap";
this.loadSpriteMapDialog.FileName = "openFileDialog1";
- this.loadSpriteMapDialog.Filter = "Xml Files|*.xml";
+ this.loadSpriteMapDialog.Filter = "QUROGames SpriteMap|*smap";
//
// spriteListBox
//
@@ -321,17 +321,19 @@
//
// saveAnimationDialog
//
- this.saveAnimationDialog.DefaultExt = "xml";
- this.saveAnimationDialog.Filter = "Xml Files|*.xml";
+ this.saveAnimationDialog.DefaultExt = "anim";
+ this.saveAnimationDialog.Filter = "QUROGames Animation|*.anim";
//
// saveAnimationSetDialog
//
- this.saveAnimationSetDialog.DefaultExt = "xml";
- this.saveAnimationSetDialog.Filter = "Xml files|*.xml";
+ this.saveAnimationSetDialog.DefaultExt = "animset";
+ this.saveAnimationSetDialog.Filter = "QUROGames AnimationSet|*.animSet";
//
// loadAnimationDialog
//
+ this.loadAnimationDialog.DefaultExt = "anim";
this.loadAnimationDialog.FileName = "openFileDialog1";
+ this.loadAnimationDialog.Filter = "QUROGames Animation|*.anim";
//
// addAnimationButton
//
@@ -497,7 +499,9 @@
//
// loadAnimationSetDialog
//
+ this.loadAnimationSetDialog.DefaultExt = "animset";
this.loadAnimationSetDialog.FileName = "openFileDialog1";
+ this.loadAnimationSetDialog.Filter = "QUROGames AnimationSet|*.animSet";
//
// Form1
//
diff --git a/AnimationEditor/Form1.cs b/AnimationEditor/Form1.cs
index cac86e9..e3892e2 100644
--- a/AnimationEditor/Form1.cs
+++ b/AnimationEditor/Form1.cs
@@ -85,9 +85,12 @@ namespace AnimationEditor
animationPreview.Enabled = true;
}
- private void InitiateAnimationList()
+ private void InitiateAnimationList(bool newAnimation = true)
{
- Animations = new BindingList();
+ if (newAnimation)
+ Animations = new BindingList() { new Animation() };
+ else
+ Animations = new BindingList();
animationBox.DataSource = Animations;
animationBox.DisplayMember = "Name";
}
@@ -210,6 +213,7 @@ namespace AnimationEditor
FileStream fileStream = new FileStream(loadSpriteSheetDialog.FileName, FileMode.Open);
SpriteSheet = Texture2D.FromStream(animationPreview.Editor.graphics, fileStream);
EnableMapAndAnimationLoadingControls();
+ fileStream.Close();
}
}
@@ -238,6 +242,7 @@ namespace AnimationEditor
Frames = new BindingList();
frameListBox.DataSource = Frames;
frameListBox.DisplayMember = "Name";
+ InitiateAnimationList();
}
EnableSpriteMapControls();
@@ -420,10 +425,10 @@ namespace AnimationEditor
private void saveAnimationSetToolStripMenuItem_Click(object sender, EventArgs e)
{
- var animSet = new Dictionary();
+ var animSet = new AnimationSet();
foreach(Animation anim in Animations)
{
- if (animSet.ContainsKey(anim.Name))
+ if (animSet.Anims.ContainsKey(anim.Name))
{
string errorMessage = "Duplicate names found! Please ensure all animations have unique names.";
string caption = "Save Aborted";
@@ -434,7 +439,7 @@ namespace AnimationEditor
}
else
{
- animSet.Add(anim.Name, anim);
+ animSet.Add(anim);
}
}
@@ -451,19 +456,19 @@ namespace AnimationEditor
{
if (loadAnimationSetDialog.ShowDialog() == DialogResult.OK)
{
- Dictionary loadedAnimSet;
+ AnimationSet loadedAnimSet;
using (XmlReader xmlRead = XmlReader.Create(loadAnimationSetDialog.FileName))
{
- loadedAnimSet = IntermediateSerializer.Deserialize>(xmlRead, null);
+ loadedAnimSet = IntermediateSerializer.Deserialize(xmlRead, null);
}
if (animationBox.Enabled == false)
{
EnableAnimationEditingControls();
}
- InitiateAnimationList();
- foreach(KeyValuePair currentEntry in loadedAnimSet)
+ InitiateAnimationList(newAnimation: false);
+ foreach(KeyValuePair currentEntry in loadedAnimSet.Anims)
{
Animations.Add(currentEntry.Value);
}
diff --git a/AnimationEditor/packages.config b/AnimationEditor/packages.config
index 4b22bf5..8a06f4a 100644
--- a/AnimationEditor/packages.config
+++ b/AnimationEditor/packages.config
@@ -1,4 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/PuzzSwap.sln b/PuzzSwap.sln
index 22d48c2..9807a64 100644
--- a/PuzzSwap.sln
+++ b/PuzzSwap.sln
@@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PuzzSwap", "PuzzSwap\PuzzSw
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QURO.AnimationLibrary", "QURO.AnimationLibrary\QURO.AnimationLibrary.csproj", "{69DADC27-FBEB-4625-9212-6EB5BED5102A}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnimationGenerator", "AnimationGenerator\AnimationGenerator.csproj", "{B1938BD7-A474-427F-91F1-F8A1875B28CE}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QURO", "QURO\QURO.csproj", "{4581E0C8-B14A-454D-9A7B-52D37535E7E9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpriteMapEditor", "SpriteMapEditor\SpriteMapEditor.csproj", "{2AF6999F-93F0-4096-9BC1-863CEE5E7791}"
@@ -29,10 +27,6 @@ Global
{69DADC27-FBEB-4625-9212-6EB5BED5102A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{69DADC27-FBEB-4625-9212-6EB5BED5102A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{69DADC27-FBEB-4625-9212-6EB5BED5102A}.Release|Any CPU.Build.0 = Release|Any CPU
- {B1938BD7-A474-427F-91F1-F8A1875B28CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B1938BD7-A474-427F-91F1-F8A1875B28CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B1938BD7-A474-427F-91F1-F8A1875B28CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B1938BD7-A474-427F-91F1-F8A1875B28CE}.Release|Any CPU.Build.0 = Release|Any CPU
{4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
diff --git a/QURO.AnimationLibrary/Animation.cs b/QURO.AnimationLibrary/Animation.cs
index b8a76a3..d4e35d1 100644
--- a/QURO.AnimationLibrary/Animation.cs
+++ b/QURO.AnimationLibrary/Animation.cs
@@ -11,11 +11,8 @@ namespace QURO.AnimationLibrary
public bool IsStillImage => Frames.Length <= 1;
- public Animation()
+ public Animation() : this("unnamed", new Frame[] { new Frame() }, false)
{
- Name = "unnamed";
- Frames = new Frame[] { new Frame() };
- IsLooping = false;
}
public Animation(string name, Frame[] frames, bool loop)
@@ -24,18 +21,5 @@ namespace QURO.AnimationLibrary
Frames = frames;
IsLooping = loop;
}
-
- public Animation(string name, Rectangle[] sourceRects, float delay, bool loop)
- {
- Name = name;
-
- Frames = new Frame[sourceRects.Length];
- for(int index = 0; index < sourceRects.Length; index++)
- {
- Frames[index] = new Frame(sourceRects[index], delay);
- }
-
- IsLooping = loop;
- }
}
}
diff --git a/QURO.AnimationLibrary/Frame.cs b/QURO.AnimationLibrary/Frame.cs
index b6a99ae..c9576c1 100644
--- a/QURO.AnimationLibrary/Frame.cs
+++ b/QURO.AnimationLibrary/Frame.cs
@@ -3,47 +3,22 @@ using Microsoft.Xna.Framework;
namespace QURO.AnimationLibrary
{
- public class Frame : SpriteMapRegion
+ public class Frame
{
+ public SpriteMapRegion Sprite { get; set; }
public float Delay { get; set; }
- public Frame()
+ public string Name { get { return Sprite.Name; } }
+ public Rectangle Bounds { get { return Sprite.Bounds; } }
+ public Vector2 Origin { get { return Sprite.Origin; } }
+
+ public Frame() : this(new SpriteMapRegion(), 0)
{
- Name = "empty";
- Bounds = Rectangle.Empty;
- Origin = Vector2.Zero;
- Delay = 0;
}
public Frame(SpriteMapRegion sprite, float delay)
{
- Name = sprite.Name;
- Bounds = sprite.Bounds;
- Origin = sprite.Origin;
- Delay = delay;
- }
-
- public Frame(string name, Rectangle bounds, float delay, Vector2 origin)
- {
- Name = name;
- Bounds = bounds;
- Origin = origin;
- Delay = delay;
- }
-
- public Frame(Rectangle bounds, float delay, Vector2 origin)
- {
- Name = "unnamed";
- Bounds = bounds;
- Origin = origin;
- Delay = delay;
- }
-
- public Frame(Rectangle bounds, float delay)
- {
- Name = "unnamed";
- Bounds = bounds;
- Origin = Vector2.Zero;
+ Sprite = sprite;
Delay = delay;
}
}
diff --git a/SpriteMapEditor/Form1.Designer.cs b/SpriteMapEditor/Form1.Designer.cs
index 4df4a5a..fecbacb 100644
--- a/SpriteMapEditor/Form1.Designer.cs
+++ b/SpriteMapEditor/Form1.Designer.cs
@@ -388,13 +388,14 @@
//
// loadMapDialog
//
+ this.loadMapDialog.DefaultExt = "smap";
this.loadMapDialog.FileName = "openFileDialog1";
- this.loadMapDialog.Filter = "Xml files|*.xml";
+ this.loadMapDialog.Filter = "QUROGame SpriteMap|*.smap";
//
// saveMapDialog
//
- this.saveMapDialog.DefaultExt = "xml";
- this.saveMapDialog.Filter = "Xml files|*.xml";
+ this.saveMapDialog.DefaultExt = "smap";
+ this.saveMapDialog.Filter = "QUROGame SpriteMap|*.smap";
//
// fillButton
//