diff --git a/.vs/SheetPlayer/v15/.suo b/.vs/SheetPlayer/v15/.suo
new file mode 100644
index 0000000..4e193eb
Binary files /dev/null and b/.vs/SheetPlayer/v15/.suo differ
diff --git a/.vs/SheetPlayer/v15/Server/sqlite3/db.lock b/.vs/SheetPlayer/v15/Server/sqlite3/db.lock
new file mode 100644
index 0000000..e69de29
diff --git a/.vs/SheetPlayer/v15/Server/sqlite3/storage.ide b/.vs/SheetPlayer/v15/Server/sqlite3/storage.ide
new file mode 100644
index 0000000..79afd57
Binary files /dev/null and b/.vs/SheetPlayer/v15/Server/sqlite3/storage.ide differ
diff --git a/.vs/SheetPlayer/v15/Server/sqlite3/storage.ide-shm b/.vs/SheetPlayer/v15/Server/sqlite3/storage.ide-shm
new file mode 100644
index 0000000..01bea3e
Binary files /dev/null and b/.vs/SheetPlayer/v15/Server/sqlite3/storage.ide-shm differ
diff --git a/.vs/SheetPlayer/v15/Server/sqlite3/storage.ide-wal b/.vs/SheetPlayer/v15/Server/sqlite3/storage.ide-wal
new file mode 100644
index 0000000..5f87ec9
Binary files /dev/null and b/.vs/SheetPlayer/v15/Server/sqlite3/storage.ide-wal differ
diff --git a/SheetPlayer/SheetPlayer.csproj b/SheetPlayer/SheetPlayer.csproj
index 3f21d70..f662362 100644
--- a/SheetPlayer/SheetPlayer.csproj
+++ b/SheetPlayer/SheetPlayer.csproj
@@ -51,19 +51,19 @@
aoMenu.cs
-
+
Form
-
- Form1.cs
+
+ mainForm.cs
aoMenu.cs
-
- Form1.cs
+
+ mainForm.cs
ResXFileCodeGenerator
diff --git a/SheetPlayer/animationObject.cs b/SheetPlayer/animationObject.cs
index 4149d76..35e2876 100644
--- a/SheetPlayer/animationObject.cs
+++ b/SheetPlayer/animationObject.cs
@@ -21,7 +21,10 @@ namespace SheetPlayer {
public Rectangle currentFrame {
get {
- return animationFrames[mainForm.globalFrameCounter % animationFrames.Count];
+ if (animationFrames.Count != 0)
+ return animationFrames[mainForm.globalFrameCounter % animationFrames.Count];
+ else
+ return new Rectangle(0, 0, 48, 48);
}
}
@@ -49,15 +52,44 @@ namespace SheetPlayer {
catch { }
}
- public void updateMetaData() {
- animationFrames.Add(new Rectangle(0, 0, 48, 48));
- animationFrames.Add(new Rectangle(48, 0, 48, 48));
- animationFrames.Add(new Rectangle(96, 0, 48, 48));
- animationFrames.Add(new Rectangle(96, 0, 48, 48));
- animationFrames.Add(new Rectangle(144, 0, 48, 48));
- foreach (char c in metaData.ToCharArray(0, metaData.Length)) {
-
+ public bool updateMetaData() {
+ try {
+ animationFrames.Clear();
+ string[] headerAndBody = metaData.Split('f');
+ string[] header = headerAndBody[0].Split('x');
+ int width = Convert.ToInt32(header[0]);
+ int height = header.Length > 1 ? Convert.ToInt32(header[1]) : Convert.ToInt32(header[0]);
+ int hFrames = spriteSheet.Width / width;
+ int vFrames = spriteSheet.Height / height;
+ string[] frameList = headerAndBody[1].Split('.');
+ foreach (string frame in frameList) {
+ string[] range = frame.Split(':');
+ if (range.Length == 1) {
+ int frameNumber = Convert.ToInt32(frame);
+ animationFrames.Add(new Rectangle(
+ frameNumber % hFrames * width,
+ frameNumber / hFrames * height,
+ width, height));
+ }
+ else {
+ int rangeBegin = Convert.ToInt32(range[0]);
+ int rangeEnd = Convert.ToInt32(range[1]);
+ for (int frameNumber = rangeBegin;
+ frameNumber <= Math.Max(rangeBegin, rangeEnd) &&
+ frameNumber >= Math.Min(rangeBegin, rangeEnd);
+ frameNumber += rangeEnd > rangeBegin ? 1 : -1) {
+ animationFrames.Add(new Rectangle(
+ frameNumber % hFrames * width,
+ frameNumber / hFrames * height,
+ width, height));
+ }
+ }
+ }
}
+ catch {
+ return false;
+ }
+ return true;
}
}
}
diff --git a/SheetPlayer/aoMenu.cs b/SheetPlayer/aoMenu.cs
index d0e443a..01ceb04 100644
--- a/SheetPlayer/aoMenu.cs
+++ b/SheetPlayer/aoMenu.cs
@@ -1,4 +1,5 @@
using System;
+using System.Drawing;
using System.Windows.Forms;
namespace SheetPlayer {
@@ -14,6 +15,7 @@ namespace SheetPlayer {
private void tbMetaData_TextChanged(object sender, EventArgs e) {
mainForm.aoPool[index].metaData = tbMetaData.Text;
+ tbMetaData.BackColor = mainForm.aoPool[index].updateMetaData() ? Color.White : Color.Tomato;
}
private void tbSize_Scroll(object sender, EventArgs e) {
diff --git a/SheetPlayer/bin/Debug/SheetPlayer.exe b/SheetPlayer/bin/Debug/SheetPlayer.exe
index 9174390..d3abf77 100644
Binary files a/SheetPlayer/bin/Debug/SheetPlayer.exe and b/SheetPlayer/bin/Debug/SheetPlayer.exe differ
diff --git a/SheetPlayer/bin/Debug/SheetPlayer.pdb b/SheetPlayer/bin/Debug/SheetPlayer.pdb
index a326af4..42d736c 100644
Binary files a/SheetPlayer/bin/Debug/SheetPlayer.pdb and b/SheetPlayer/bin/Debug/SheetPlayer.pdb differ
diff --git a/SheetPlayer/Form1.Designer.cs b/SheetPlayer/mainForm.Designer.cs
similarity index 100%
rename from SheetPlayer/Form1.Designer.cs
rename to SheetPlayer/mainForm.Designer.cs
diff --git a/SheetPlayer/Form1.cs b/SheetPlayer/mainForm.cs
similarity index 93%
rename from SheetPlayer/Form1.cs
rename to SheetPlayer/mainForm.cs
index e60106c..eda5a14 100644
--- a/SheetPlayer/Form1.cs
+++ b/SheetPlayer/mainForm.cs
@@ -145,13 +145,16 @@ namespace SheetPlayer {
drawLocations.Add(obj.position);
}
foreach (Point pos in drawLocations) {
- g.SetClip(new Rectangle(pos,
+ g.SetClip(new Rectangle(obj.size == 1 ? pos : new Point((int)(pos.X - obj.size * 0.5),
+ (int)(pos.Y - obj.size * 0.5)),
new Size(obj.currentFrame.Size.Width * obj.size,
obj.currentFrame.Size.Height * obj.size)),
CombineMode.Replace);
- g.DrawImage(obj.spriteSheet, pos.X - obj.currentFrame.X * obj.size,
- pos.Y - obj.currentFrame.Y * obj.size,
- obj.spriteSheet.Size.Width * obj.size, obj.spriteSheet.Size.Height * obj.size);
+ g.DrawImage(obj.spriteSheet,
+ pos.X - obj.currentFrame.X * obj.size,
+ pos.Y - obj.currentFrame.Y * obj.size,
+ obj.spriteSheet.Size.Width * obj.size,
+ obj.spriteSheet.Size.Height * obj.size);
}
}
}
diff --git a/SheetPlayer/Form1.resx b/SheetPlayer/mainForm.resx
similarity index 100%
rename from SheetPlayer/Form1.resx
rename to SheetPlayer/mainForm.resx
diff --git a/SheetPlayer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SheetPlayer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index a0514f1..84c690b 100644
Binary files a/SheetPlayer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/SheetPlayer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/SheetPlayer/obj/Debug/SheetPlayer.csproj.CoreCompileInputs.cache b/SheetPlayer/obj/Debug/SheetPlayer.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..b0436d2
--- /dev/null
+++ b/SheetPlayer/obj/Debug/SheetPlayer.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+d5b1bdcd24e43524c6aef8fe84793665622bd1ba
diff --git a/SheetPlayer/obj/Debug/SheetPlayer.csproj.FileListAbsolute.txt b/SheetPlayer/obj/Debug/SheetPlayer.csproj.FileListAbsolute.txt
index 99de474..ced3ee4 100644
--- a/SheetPlayer/obj/Debug/SheetPlayer.csproj.FileListAbsolute.txt
+++ b/SheetPlayer/obj/Debug/SheetPlayer.csproj.FileListAbsolute.txt
@@ -8,3 +8,14 @@ C:\Users\Dave\Desktop\Projects\SheetPlayer\SheetPlayer\obj\Debug\SheetPlayer.csp
C:\Users\Dave\Desktop\Projects\SheetPlayer\SheetPlayer\obj\Debug\SheetPlayer.exe
C:\Users\Dave\Desktop\Projects\SheetPlayer\SheetPlayer\obj\Debug\SheetPlayer.pdb
C:\Users\Dave\Desktop\Projects\SheetPlayer\SheetPlayer\obj\Debug\SheetPlayer.aoMenu.resources
+C:\Users\Dave\Desktop\Projects\ol'\SheetPlayerProject\SheetPlayer\bin\Debug\SheetPlayer.exe.config
+C:\Users\Dave\Desktop\Projects\ol'\SheetPlayerProject\SheetPlayer\bin\Debug\SheetPlayer.exe
+C:\Users\Dave\Desktop\Projects\ol'\SheetPlayerProject\SheetPlayer\bin\Debug\SheetPlayer.pdb
+C:\Users\Dave\Desktop\Projects\ol'\SheetPlayerProject\SheetPlayer\obj\Debug\SheetPlayer.csprojAssemblyReference.cache
+C:\Users\Dave\Desktop\Projects\ol'\SheetPlayerProject\SheetPlayer\obj\Debug\SheetPlayer.aoMenu.resources
+C:\Users\Dave\Desktop\Projects\ol'\SheetPlayerProject\SheetPlayer\obj\Debug\SheetPlayer.mainForm.resources
+C:\Users\Dave\Desktop\Projects\ol'\SheetPlayerProject\SheetPlayer\obj\Debug\SheetPlayer.Properties.Resources.resources
+C:\Users\Dave\Desktop\Projects\ol'\SheetPlayerProject\SheetPlayer\obj\Debug\SheetPlayer.csproj.GenerateResource.cache
+C:\Users\Dave\Desktop\Projects\ol'\SheetPlayerProject\SheetPlayer\obj\Debug\SheetPlayer.csproj.CoreCompileInputs.cache
+C:\Users\Dave\Desktop\Projects\ol'\SheetPlayerProject\SheetPlayer\obj\Debug\SheetPlayer.exe
+C:\Users\Dave\Desktop\Projects\ol'\SheetPlayerProject\SheetPlayer\obj\Debug\SheetPlayer.pdb
diff --git a/SheetPlayer/obj/Debug/SheetPlayer.csproj.GenerateResource.Cache b/SheetPlayer/obj/Debug/SheetPlayer.csproj.GenerateResource.Cache
index 71a15de..f0e7102 100644
Binary files a/SheetPlayer/obj/Debug/SheetPlayer.csproj.GenerateResource.Cache and b/SheetPlayer/obj/Debug/SheetPlayer.csproj.GenerateResource.Cache differ
diff --git a/SheetPlayer/obj/Debug/SheetPlayer.csprojAssemblyReference.cache b/SheetPlayer/obj/Debug/SheetPlayer.csprojAssemblyReference.cache
new file mode 100644
index 0000000..e9c3069
Binary files /dev/null and b/SheetPlayer/obj/Debug/SheetPlayer.csprojAssemblyReference.cache differ
diff --git a/SheetPlayer/obj/Debug/SheetPlayer.exe b/SheetPlayer/obj/Debug/SheetPlayer.exe
index 9174390..d3abf77 100644
Binary files a/SheetPlayer/obj/Debug/SheetPlayer.exe and b/SheetPlayer/obj/Debug/SheetPlayer.exe differ
diff --git a/SheetPlayer/obj/Debug/SheetPlayer.pdb b/SheetPlayer/obj/Debug/SheetPlayer.pdb
index a326af4..42d736c 100644
Binary files a/SheetPlayer/obj/Debug/SheetPlayer.pdb and b/SheetPlayer/obj/Debug/SheetPlayer.pdb differ