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