summaryrefslogtreecommitdiff
path: root/src/SMAPI.Web
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2022-10-09 16:59:05 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2022-10-09 16:59:05 -0400
commit9a15da5a173e5e218c16e2e4ef0af0c98968e1cb (patch)
tree0601c05b5fce5d648b92237878df8eb2cae1be7f /src/SMAPI.Web
parent42ff20cd92a3a28faca8de0c309396efa147f0e2 (diff)
downloadSMAPI-9a15da5a173e5e218c16e2e4ef0af0c98968e1cb.tar.gz
SMAPI-9a15da5a173e5e218c16e2e4ef0af0c98968e1cb.tar.bz2
SMAPI-9a15da5a173e5e218c16e2e4ef0af0c98968e1cb.zip
add 'strict mode' release with deprecated APIs stripped out
Diffstat (limited to 'src/SMAPI.Web')
-rw-r--r--src/SMAPI.Web/Framework/LogParsing/LogParser.cs9
-rw-r--r--src/SMAPI.Web/Framework/LogParsing/Models/ParsedLog.cs3
-rw-r--r--src/SMAPI.Web/Views/LogParser/Index.cshtml25
-rw-r--r--src/SMAPI.Web/wwwroot/Content/css/log-parser.css5
4 files changed, 37 insertions, 5 deletions
diff --git a/src/SMAPI.Web/Framework/LogParsing/LogParser.cs b/src/SMAPI.Web/Framework/LogParsing/LogParser.cs
index 18ba754c..5e0dedf3 100644
--- a/src/SMAPI.Web/Framework/LogParsing/LogParser.cs
+++ b/src/SMAPI.Web/Framework/LogParsing/LogParser.cs
@@ -199,8 +199,15 @@ namespace StardewModdingAPI.Web.Framework.LogParsing
log.ApiVersion = match.Groups["apiVersion"].Value;
log.GameVersion = match.Groups["gameVersion"].Value;
log.OperatingSystem = match.Groups["os"].Value;
- smapiMod.OverrideVersion(log.ApiVersion);
+ const string strictModeSuffix = " (strict mode)";
+ if (log.ApiVersion.EndsWith(strictModeSuffix))
+ {
+ log.IsStrictMode = true;
+ log.ApiVersion = log.ApiVersion[..^strictModeSuffix.Length];
+ }
+
+ smapiMod.OverrideVersion(log.ApiVersion);
log.ApiVersionParsed = smapiMod.GetParsedVersion();
}
diff --git a/src/SMAPI.Web/Framework/LogParsing/Models/ParsedLog.cs b/src/SMAPI.Web/Framework/LogParsing/Models/ParsedLog.cs
index 3f649199..cda0f653 100644
--- a/src/SMAPI.Web/Framework/LogParsing/Models/ParsedLog.cs
+++ b/src/SMAPI.Web/Framework/LogParsing/Models/ParsedLog.cs
@@ -25,6 +25,9 @@ namespace StardewModdingAPI.Web.Framework.LogParsing.Models
/****
** Log data
****/
+ /// <summary>Whether SMAPI is running in strict mode, which disables all deprecated APIs.</summary>
+ public bool IsStrictMode { get; set; }
+
/// <summary>The SMAPI version.</summary>
public string? ApiVersion { get; set; }
diff --git a/src/SMAPI.Web/Views/LogParser/Index.cshtml b/src/SMAPI.Web/Views/LogParser/Index.cshtml
index b982bc0c..28127903 100644
--- a/src/SMAPI.Web/Views/LogParser/Index.cshtml
+++ b/src/SMAPI.Web/Views/LogParser/Index.cshtml
@@ -40,7 +40,7 @@
<meta name="robots" content="noindex" />
}
<link rel="stylesheet" href="~/Content/css/file-upload.css" />
- <link rel="stylesheet" href="~/Content/css/log-parser.css" />
+ <link rel="stylesheet" href="~/Content/css/log-parser.css?r=20221009" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/tabbyjs@12.0.3/dist/css/tabby-ui-vertical.min.css" />
<script src="https://cdn.jsdelivr.net/npm/tabbyjs@12.0.3" crossorigin="anonymous"></script>
@@ -243,7 +243,7 @@ else if (log?.IsValid == true)
@if (log?.IsValid == true)
{
<div id="output">
- @if (outdatedMods.Any() || errorHandler is null || hasOlderErrorHandler || isPyTkCompatibilityMode)
+ @if (outdatedMods.Any() || errorHandler is null || hasOlderErrorHandler || isPyTkCompatibilityMode || log.IsStrictMode)
{
<h2>Suggested fixes</h2>
<ul id="fix-list">
@@ -257,7 +257,14 @@ else if (log?.IsValid == true)
}
@if (isPyTkCompatibilityMode)
{
- <li>PyTK 1.23.* or earlier isn't compatible with newer SMAPI performance optimizations. This may increase loading times or in-game lag.</li>
+ if (log.IsStrictMode)
+ {
+ <li>PyTK's image scaling isn't compatible with SMAPI strict mode.</li>
+ }
+ else
+ {
+ <li>PyTK 1.23.* or earlier isn't compatible with newer SMAPI performance optimizations. This may increase loading times or in-game lag.</li>
+ }
}
@if (outdatedMods.Any())
{
@@ -307,6 +314,10 @@ else if (log?.IsValid == true)
</table>
</li>
}
+ @if (log.IsStrictMode)
+ {
+ <li class="notice">SMAPI is running in 'strict mode', which removes all deprecated APIs. This can significantly improve performance, but some mods may not work. You can <a href="https://stardewvalleywiki.com/Modding:Player_Guide#Install_SMAPI">reinstall SMAPI</a> to disable it if you run into problems.</li>
+ }
</ul>
}
@@ -329,7 +340,13 @@ else if (log?.IsValid == true)
</tr>
<tr>
<th>SMAPI:</th>
- <td v-pre>@log.ApiVersion</td>
+ <td v-pre>
+ @log.ApiVersion
+ @if (log.IsStrictMode)
+ {
+ <strong>(strict mode)</strong>
+ }
+ </td>
</tr>
<tr>
<th>Folder:</th>
diff --git a/src/SMAPI.Web/wwwroot/Content/css/log-parser.css b/src/SMAPI.Web/wwwroot/Content/css/log-parser.css
index f136a96f..995f5aa9 100644
--- a/src/SMAPI.Web/wwwroot/Content/css/log-parser.css
+++ b/src/SMAPI.Web/wwwroot/Content/css/log-parser.css
@@ -73,6 +73,11 @@ table caption {
margin-bottom: 0.5em;
}
+#fix-list li.notice {
+ background: #EEFFEE;
+ border-color: #080;
+}
+
#fix-list li.important {
background: #FCC;
border-color: #800;