this commit message was generated automatically

This commit is contained in:
mono 2019-04-10 01:11:26 +02:00
parent 81ac5e636b
commit e15047829c
20 changed files with 67 additions and 18 deletions

BIN
.vs/SheetPlayer/v15/.suo Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -51,19 +51,19 @@
<Compile Include="aoMenu.Designer.cs"> <Compile Include="aoMenu.Designer.cs">
<DependentUpon>aoMenu.cs</DependentUpon> <DependentUpon>aoMenu.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Form1.cs"> <Compile Include="mainForm.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="Form1.Designer.cs"> <Compile Include="mainForm.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon> <DependentUpon>mainForm.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="aoMenu.resx"> <EmbeddedResource Include="aoMenu.resx">
<DependentUpon>aoMenu.cs</DependentUpon> <DependentUpon>aoMenu.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Form1.resx"> <EmbeddedResource Include="mainForm.resx">
<DependentUpon>Form1.cs</DependentUpon> <DependentUpon>mainForm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx"> <EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>

View File

@ -21,7 +21,10 @@ namespace SheetPlayer {
public Rectangle currentFrame { public Rectangle currentFrame {
get { 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 { } catch { }
} }
public void updateMetaData() { public bool updateMetaData() {
animationFrames.Add(new Rectangle(0, 0, 48, 48)); try {
animationFrames.Add(new Rectangle(48, 0, 48, 48)); animationFrames.Clear();
animationFrames.Add(new Rectangle(96, 0, 48, 48)); string[] headerAndBody = metaData.Split('f');
animationFrames.Add(new Rectangle(96, 0, 48, 48)); string[] header = headerAndBody[0].Split('x');
animationFrames.Add(new Rectangle(144, 0, 48, 48)); int width = Convert.ToInt32(header[0]);
foreach (char c in metaData.ToCharArray(0, metaData.Length)) { 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;
} }
} }
} }

View File

@ -1,4 +1,5 @@
using System; using System;
using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
namespace SheetPlayer { namespace SheetPlayer {
@ -14,6 +15,7 @@ namespace SheetPlayer {
private void tbMetaData_TextChanged(object sender, EventArgs e) { private void tbMetaData_TextChanged(object sender, EventArgs e) {
mainForm.aoPool[index].metaData = tbMetaData.Text; mainForm.aoPool[index].metaData = tbMetaData.Text;
tbMetaData.BackColor = mainForm.aoPool[index].updateMetaData() ? Color.White : Color.Tomato;
} }
private void tbSize_Scroll(object sender, EventArgs e) { private void tbSize_Scroll(object sender, EventArgs e) {

View File

@ -145,13 +145,16 @@ namespace SheetPlayer {
drawLocations.Add(obj.position); drawLocations.Add(obj.position);
} }
foreach (Point pos in drawLocations) { 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, new Size(obj.currentFrame.Size.Width * obj.size,
obj.currentFrame.Size.Height * obj.size)), obj.currentFrame.Size.Height * obj.size)),
CombineMode.Replace); CombineMode.Replace);
g.DrawImage(obj.spriteSheet, pos.X - obj.currentFrame.X * obj.size, g.DrawImage(obj.spriteSheet,
pos.Y - obj.currentFrame.Y * obj.size, pos.X - obj.currentFrame.X * obj.size,
obj.spriteSheet.Size.Width * obj.size, obj.spriteSheet.Size.Height * obj.size); pos.Y - obj.currentFrame.Y * obj.size,
obj.spriteSheet.Size.Width * obj.size,
obj.spriteSheet.Size.Height * obj.size);
} }
} }
} }

View File

@ -0,0 +1 @@
d5b1bdcd24e43524c6aef8fe84793665622bd1ba

View File

@ -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.exe
C:\Users\Dave\Desktop\Projects\SheetPlayer\SheetPlayer\obj\Debug\SheetPlayer.pdb 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\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