Skip to content

Commit a199ac8

Browse files
Merge pull request #73 from AristurtleDev/release/5.0.0
Release/5.0.0
2 parents 095e348 + cc7b5b8 commit a199ac8

File tree

57 files changed

+2321
-298
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+2321
-298
lines changed

.github/release-notes.txt

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,28 @@
1313
## 4.0.5 Hotfix
1414
- `Slice.Origin` value is not set property in constructor. (Closes #64)
1515

16+
1617
## 4.0.6 Hotfix
17-
- Removed package dependency on DesktopGL (Closes #66)
18+
- Removed package dependency on DesktopGL (Closes #66)
19+
20+
## 5.0.0
21+
- Resolved issue where reversing an `AnimatedSprite` would cause an exception.
22+
- Added `AsepriteFileReader.Read(Stream)` method to support reading Aseprite file with `TitleContainer` stream (Closes #49)
23+
- Added new processors for the mgcb-editor when pre-processing content using the mgcb-editor. These include:
24+
- Sprite Processor
25+
- SpriteSheet Processor
26+
- TextureAtlas Processor
27+
- Tileset Processor
28+
- Tilemap Processor
29+
- AnimatedTileMap Processor
30+
- Support for Aseprite 1.3-rc1
31+
- Support for User Data for Tiles added
32+
- Tile User Data can only be set in Aseprite through the LUA Scripting API at this time.
33+
- Support for new tag "Repeat" field added.
34+
- Support for new `PingPongReverse` loop direction added.
35+
- `Animatedsprite` instances are no longer coupled to the `AnimationTag` used to create them. The `AnimationTag` now is only used to create the `AnimatedSprite` and after creation, properties such as `AnimatedSprite.IsReversed` affect only that instance.
36+
- `AnimatedSprite.Speed` property added to control rate of animation speed
37+
- `AnimatedSprite.Play()` added.
38+
- `AnimatedSprite` will need to be explicitly told to play using the `AnimatedSprite.Play` method.
39+
- Parameter for method provided to override the loop count
40+

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,9 @@ Thumbs.db
1515
# Ignore packages dir for local package installs used by the example projects
1616
[Pp]ackages/
1717

18+
# Visual Studio
19+
.vs/
20+
21+
# Ignore the demo game I create when developing
22+
[Dd]emoGame/
1823

.nuget/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
A Cross Platform C# Library That Adds Support For Aseprite Files in MonoGame Projects.
44

55
[![build-and-test](https://github.com/AristurtleDev/monogame-aseprite/actions/workflows/buildandtest.yml/badge.svg)](https://github.com/AristurtleDev/monogame-aseprite/actions/workflows/buildandtest.yml)
6-
[![Nuget 4.0.6](https://img.shields.io/nuget/v/MonoGame.Aseprite?color=blue&style=flat-square)](https://www.nuget.org/packages/MonoGame.Aseprite/4.0.6)
6+
[![Nuget 5.0.0](https://img.shields.io/nuget/v/MonoGame.Aseprite?color=blue&style=flat-square)](https://www.nuget.org/packages/MonoGame.Aseprite/5.0.0)
77
[![License: MIT](https://img.shields.io/badge/📃%20license-MIT-blue?style=flat)](LICENSE)
88
[![Twitter](https://img.shields.io/badge/%20-Share%20On%20Twitter-555?style=flat&logo=twitter)](https://twitter.com/intent/tweet?text=MonoGame.Aseprite%20by%20%40aristurtledev%0A%0AA%20cross-platform%20C%23%20library%20that%20adds%20support%20for%20Aseprite%20files%20in%20MonoGame%20projects.%20https%3A%2F%2Fgithub.com%2FAristurtleDev%2Fmonogame-aseprite%0A%0A%23monogame%20%23aseprite%20%23dotnet%20%23csharp%20%23oss%0A)
99

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
A Cross Platform C# Library That Adds Support For Aseprite Files in MonoGame Projects.
55

66
[![build-and-test](https://github.com/AristurtleDev/monogame-aseprite/actions/workflows/buildandtest.yml/badge.svg)](https://github.com/AristurtleDev/monogame-aseprite/actions/workflows/buildandtest.yml)
7-
[![Nuget 4.0.6](https://img.shields.io/nuget/v/MonoGame.Aseprite?color=blue&style=flat-square)](https://www.nuget.org/packages/MonoGame.Aseprite/4.0.6)
7+
[![Nuget 5.0.0](https://img.shields.io/nuget/v/MonoGame.Aseprite?color=blue&style=flat-square)](https://www.nuget.org/packages/MonoGame.Aseprite/5.0.0)
88
[![License: MIT](https://img.shields.io/badge/📃%20license-MIT-blue?style=flat)](LICENSE)
99
[![Twitter](https://img.shields.io/badge/%20-Share%20On%20Twitter-555?style=flat&logo=twitter)](https://twitter.com/intent/tweet?text=MonoGame.Aseprite%20by%20%40aristurtledev%0A%0AA%20cross-platform%20C%23%20library%20that%20adds%20support%20for%20Aseprite%20files%20in%20MonoGame%20projects.%20https%3A%2F%2Fgithub.com%2FAristurtleDev%2Fmonogame-aseprite%0A%0A%23monogame%20%23aseprite%20%23dotnet%20%23csharp%20%23oss%0A)
1010

source/MonoGame.Aseprite.Content.Pipeline/ContentImporterResult.cs renamed to source/MonoGame.Aseprite.Content.Pipeline/AsepriteFileImportResult.cs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2222
SOFTWARE.
2323
---------------------------------------------------------------------------- */
2424

25-
/// <summary>
26-
/// Defines the result of the content importer.
27-
/// </summary>
28-
public sealed class ContentImporterResult
29-
{
30-
internal string Path { get; }
31-
internal ContentImporterResult(string path) => Path = path;
32-
}
25+
namespace MonoGame.Aseprite.Content.Pipeline;
26+
27+
internal record AsepriteFileImportResult(byte[] Data, AsepriteFile AsepriteFile);
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/* ----------------------------------------------------------------------------
2+
MIT License
3+
4+
Copyright (c) 2018-2023 Christopher Whitley
5+
6+
Permission is hereby granted, free of charge, to any person obtaining a copy
7+
of this software and associated documentation files (the "Software"), to deal
8+
in the Software without restriction, including without limitation the rights
9+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
copies of the Software, and to permit persons to whom the Software is
11+
furnished to do so, subject to the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included in all
14+
copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
SOFTWARE.
23+
---------------------------------------------------------------------------- */
24+
namespace MonoGame.Aseprite.Content.Pipeline;
25+
26+
internal sealed class ContentImportException : Exception
27+
{
28+
public string? ContentPath { get; set; } = default;
29+
public ContentImportException() { }
30+
public ContentImportException(string message) : base(message) { }
31+
public ContentImportException(string message, string contentPath) : base(message) => ContentPath = contentPath;
32+
public ContentImportException(string message, string contentPath, Exception? innerException) : base(message, innerException) => ContentPath = contentPath;
33+
}

source/MonoGame.Aseprite.Content.Pipeline/ContentProcessorResult.cs renamed to source/MonoGame.Aseprite.Content.Pipeline/ContentTypes/AnimatedTilemapContent.cs

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2222
SOFTWARE.
2323
---------------------------------------------------------------------------- */
2424

25-
namespace MonoGame.Aseprite.Content.Pipeline;
25+
using Microsoft.Xna.Framework.Content.Pipeline.Graphics;
26+
using MonoGame.Aseprite.RawTypes;
2627

27-
/// <summary>
28-
/// Defines the result of a content processor.
29-
/// </summary>
30-
/// <typeparam name="T">
31-
/// The type of the result of the process.
32-
/// </typeparam>
33-
public sealed class ContentProcessorResult<T>
34-
{
35-
internal T Data { get; }
36-
internal ContentProcessorResult(T data) => Data = data;
37-
}
28+
namespace MonoGame.Aseprite.Content.Pipeline.ContentTypes;
29+
30+
internal record AnimatedTilemapContent(RawAnimatedTilemap RawAnimatedTilemap, Texture2DContent[] Texture2DContents);
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/* ----------------------------------------------------------------------------
2+
MIT License
3+
4+
Copyright (c) 2018-2023 Christopher Whitley
5+
6+
Permission is hereby granted, free of charge, to any person obtaining a copy
7+
of this software and associated documentation files (the "Software"), to deal
8+
in the Software without restriction, including without limitation the rights
9+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
copies of the Software, and to permit persons to whom the Software is
11+
furnished to do so, subject to the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included in all
14+
copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
SOFTWARE.
23+
---------------------------------------------------------------------------- */
24+
25+
using Microsoft.Xna.Framework.Content.Pipeline.Graphics;
26+
27+
namespace MonoGame.Aseprite.Content.Pipeline.ContentTypes;
28+
29+
internal record SpriteContent(string Name, Texture2DContent Texture2DContent);
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/* ----------------------------------------------------------------------------
2+
MIT License
3+
4+
Copyright (c) 2018-2023 Christopher Whitley
5+
6+
Permission is hereby granted, free of charge, to any person obtaining a copy
7+
of this software and associated documentation files (the "Software"), to deal
8+
in the Software without restriction, including without limitation the rights
9+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
copies of the Software, and to permit persons to whom the Software is
11+
furnished to do so, subject to the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included in all
14+
copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
SOFTWARE.
23+
---------------------------------------------------------------------------- */
24+
25+
using Microsoft.Xna.Framework.Content.Pipeline.Graphics;
26+
using MonoGame.Aseprite.RawTypes;
27+
28+
namespace MonoGame.Aseprite.Content.Pipeline.ContentTypes;
29+
30+
internal record SpriteSheetContent(RawSpriteSheet RawSpriteSheet, Texture2DContent Texture2DContent);
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/* ----------------------------------------------------------------------------
2+
MIT License
3+
4+
Copyright (c) 2018-2023 Christopher Whitley
5+
6+
Permission is hereby granted, free of charge, to any person obtaining a copy
7+
of this software and associated documentation files (the "Software"), to deal
8+
in the Software without restriction, including without limitation the rights
9+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
copies of the Software, and to permit persons to whom the Software is
11+
furnished to do so, subject to the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included in all
14+
copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
SOFTWARE.
23+
---------------------------------------------------------------------------- */
24+
25+
using Microsoft.Xna.Framework.Content.Pipeline.Graphics;
26+
using MonoGame.Aseprite.RawTypes;
27+
28+
namespace MonoGame.Aseprite.Content.Pipeline.ContentTypes;
29+
30+
internal record TextureAtlasContent(RawTextureAtlas RawTextureAtlas, Texture2DContent Texture2DContent);

0 commit comments

Comments
 (0)