diff --git a/src/SerialLoops/Editors/ScriptEditor.cs b/src/SerialLoops/Editors/ScriptEditor.cs index 4907ca0a..8385cdf3 100644 --- a/src/SerialLoops/Editors/ScriptEditor.cs +++ b/src/SerialLoops/Editors/ScriptEditor.cs @@ -1832,6 +1832,7 @@ private void UpdatePreview() } catch (InvalidOperationException) { + _log.LogWarning($"Unable to determine speaking character in DIALOGUE command in {_script.DisplayName}."); using Stream noPreviewStream = Assembly.GetCallingAssembly().GetManifestResourceStream("SerialLoops.Graphics.ScriptPreviewError.png"); canvas.DrawImage(SKImage.FromEncodedData(noPreviewStream), new SKPoint(0, 0)); canvas.Flush(); @@ -1875,6 +1876,10 @@ private void UpdatePreview() break; } } + else if (sprites.ContainsKey(character)) + { + sprites[character] = new() { Sprite = spriteParam.Sprite, Positioning = sprites[character].Positioning, PalEffect = spritePaint }; + } } } else if (command.Verb == CommandVerb.INVEST_START) diff --git a/src/SerialLoops/MainForm.eto.cs b/src/SerialLoops/MainForm.eto.cs index 2ed489b7..bb21d601 100644 --- a/src/SerialLoops/MainForm.eto.cs +++ b/src/SerialLoops/MainForm.eto.cs @@ -519,6 +519,10 @@ public void OpenProjectFromPath(string path) LoopyProgressTracker tracker = new(); _ = new ProgressDialog(() => (OpenProject, result) = Project.OpenProject(path, CurrentConfig, Log, tracker), () => { }, tracker, "Loading Project"); + if (result.State == Project.LoadProjectState.DEVKITARM_OUTOFDATE) + { + OpenProject = null; + } if (OpenProject is not null && result.State == Project.LoadProjectState.LOOSELEAF_FILES) { if (MessageBox.Show("Saved but unbuilt files were detected in the project directory. " +