summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/StardewModdingAPI/Framework/ContentHelper.cs25
-rw-r--r--src/StardewModdingAPI/Program.cs1
2 files changed, 10 insertions, 16 deletions
diff --git a/src/StardewModdingAPI/Framework/ContentHelper.cs b/src/StardewModdingAPI/Framework/ContentHelper.cs
index 5a2a8b9b..10240cd1 100644
--- a/src/StardewModdingAPI/Framework/ContentHelper.cs
+++ b/src/StardewModdingAPI/Framework/ContentHelper.cs
@@ -71,38 +71,37 @@ namespace StardewModdingAPI.Framework
// get asset path
string assetPath = this.GetModAssetPath(key, file.FullName);
+ // try cache
+ if (this.ContentManager.IsLoaded(assetPath))
+ return this.ContentManager.Load<T>(assetPath);
+
// load content
switch (file.Extension.ToLower())
{
+ // XNB file
case ".xnb":
return this.ContentManager.Load<T>(assetPath);
+ // unpacked map
case ".tbin":
// validate
if (typeof(T) != typeof(Map))
throw new ContentLoadException($"Can't read file with extension '{file.Extension}' as type '{typeof(T)}'; must be type '{typeof(Map)}'.");
-
- // try cache
- if (this.ContentManager.IsLoaded(assetPath))
- return this.ContentManager.Load<T>(assetPath);
// fetch & cache
FormatManager formatManager = FormatManager.Instance;
Map map = formatManager.LoadMap(file.FullName);
- foreach (TileSheet t in map.TileSheets)
- t.ImageSource = t.ImageSource.Replace(".png", "");
+ foreach (TileSheet tilesheet in map.TileSheets)
+ tilesheet.ImageSource = tilesheet.ImageSource.Replace(".png", "");
this.ContentManager.Inject(assetPath, map);
return (T)(object)map;
-
+
+ // unpacked image
case ".png":
// validate
if (typeof(T) != typeof(Texture2D))
throw new ContentLoadException($"Can't read file with extension '{file.Extension}' as type '{typeof(T)}'; must be type '{typeof(Texture2D)}'.");
- // try cache
- if (this.ContentManager.IsLoaded(assetPath))
- return this.ContentManager.Load<T>(assetPath);
-
// fetch & cache
using (FileStream stream = File.OpenRead(file.FullName))
{
@@ -111,10 +110,6 @@ namespace StardewModdingAPI.Framework
this.ContentManager.Inject(assetPath, texture);
return (T)(object)texture;
}
-
-
-
-
default:
throw new ContentLoadException($"Unknown file extension '{file.Extension}'; must be '.xnb' or '.png'.");
diff --git a/src/StardewModdingAPI/Program.cs b/src/StardewModdingAPI/Program.cs
index b1cfb32d..a22e16a5 100644
--- a/src/StardewModdingAPI/Program.cs
+++ b/src/StardewModdingAPI/Program.cs
@@ -268,7 +268,6 @@ namespace StardewModdingAPI
** Private methods
*********/
/// <summary>Assert that the minimum conditions are present to initialise SMAPI without type load exceptions.</summary>
- /// <returns>Returns whether the minimum conditions are met.</returns>
private static void AssertMinimumCompatibility()
{
void PrintErrorAndExit(string message)