Allow sprites to store custom metadata.

This commit is contained in:
Paul Chote
2018-10-01 10:57:00 +00:00
parent 0b89883012
commit dee6d03626
10 changed files with 56 additions and 16 deletions

View File

@@ -16,6 +16,7 @@ using System.IO;
using System.Linq;
using OpenRA.FileFormats;
using OpenRA.Graphics;
using OpenRA.Primitives;
namespace OpenRA.Mods.Common.SpriteLoaders
{
@@ -30,8 +31,9 @@ namespace OpenRA.Mods.Common.SpriteLoaders
public bool DisableExportPadding { get { return false; } }
}
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames)
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames, out TypeDictionary metadata)
{
metadata = null;
if (!Png.Verify(s))
{
frames = null;

View File

@@ -14,6 +14,7 @@ using System.Drawing;
using System.IO;
using OpenRA.Graphics;
using OpenRA.Mods.Common.FileFormats;
using OpenRA.Primitives;
namespace OpenRA.Mods.Common.SpriteLoaders
{
@@ -152,8 +153,9 @@ namespace OpenRA.Mods.Common.SpriteLoaders
return frames;
}
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames)
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames, out TypeDictionary metadata)
{
metadata = null;
if (!IsShpD2(s))
{
frames = null;

View File

@@ -16,6 +16,7 @@ using System.IO;
using System.Linq;
using OpenRA.Graphics;
using OpenRA.Mods.Common.FileFormats;
using OpenRA.Primitives;
namespace OpenRA.Mods.Common.SpriteLoaders
{
@@ -57,8 +58,9 @@ namespace OpenRA.Mods.Common.SpriteLoaders
return b == 0x20 || b == 0x40 || b == 0x80;
}
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames)
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames, out TypeDictionary metadata)
{
metadata = null;
if (!IsShpTD(s))
{
frames = null;

View File

@@ -13,6 +13,7 @@ using System.Drawing;
using System.IO;
using OpenRA.Graphics;
using OpenRA.Mods.Common.FileFormats;
using OpenRA.Primitives;
namespace OpenRA.Mods.Common.SpriteLoaders
{
@@ -145,8 +146,9 @@ namespace OpenRA.Mods.Common.SpriteLoaders
return frames;
}
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames)
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames, out TypeDictionary metadata)
{
metadata = null;
if (!IsShpTS(s))
{
frames = null;

View File

@@ -12,6 +12,7 @@
using System.Drawing;
using System.IO;
using OpenRA.Graphics;
using OpenRA.Primitives;
namespace OpenRA.Mods.Common.SpriteLoaders
{
@@ -84,8 +85,9 @@ namespace OpenRA.Mods.Common.SpriteLoaders
return tiles;
}
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames)
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames, out TypeDictionary metadata)
{
metadata = null;
if (!IsTmpRA(s))
{
frames = null;

View File

@@ -12,6 +12,7 @@
using System.Drawing;
using System.IO;
using OpenRA.Graphics;
using OpenRA.Primitives;
namespace OpenRA.Mods.Common.SpriteLoaders
{
@@ -81,8 +82,9 @@ namespace OpenRA.Mods.Common.SpriteLoaders
return tiles;
}
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames)
public bool TryParseSprite(Stream s, out ISpriteFrame[] frames, out TypeDictionary metadata)
{
metadata = null;
if (!IsTmpTD(s))
{
frames = null;