From 77e7cbdbebc36c8ea29611be06d4ce7582821bd9 Mon Sep 17 00:00:00 2001 From: VladiStep Date: Sun, 24 Dec 2023 21:10:33 +0300 Subject: [PATCH] Fix #1582. --- UndertaleModTool/MainWindow.xaml.cs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/UndertaleModTool/MainWindow.xaml.cs b/UndertaleModTool/MainWindow.xaml.cs index 37d803042..df1d9ad3b 100644 --- a/UndertaleModTool/MainWindow.xaml.cs +++ b/UndertaleModTool/MainWindow.xaml.cs @@ -2013,7 +2013,7 @@ private void MenuItem_Delete_Click(object sender, RoutedEventArgs e) private void MenuItem_Add_Click(object sender, RoutedEventArgs e) { - object source = null; + object source; try { source = (MainTree.SelectedItem as TreeViewItem).ItemsSource; @@ -2048,11 +2048,20 @@ private void MenuItem_Add_Click(object sender, RoutedEventArgs e) { notDataNewName = "Texture " + list.Count; } + if (obj is UndertaleShader shader) + { + shader.GLSL_ES_Vertex = Data.Strings.MakeString("", true); + shader.GLSL_ES_Fragment = Data.Strings.MakeString("", true); + shader.GLSL_Vertex = Data.Strings.MakeString("", true); + shader.GLSL_Fragment = Data.Strings.MakeString("", true); + shader.HLSL9_Vertex = Data.Strings.MakeString("", true); + shader.HLSL9_Fragment = Data.Strings.MakeString("", true); + } if (doMakeString) { - string newname = obj.GetType().Name.Replace("Undertale", "").Replace("GameObject", "Object").ToLower() + list.Count; - (obj as UndertaleNamedResource).Name = Data.Strings.MakeString(newname); + string newName = obj.GetType().Name.Replace("Undertale", "").Replace("GameObject", "Object").ToLower() + list.Count; + (obj as UndertaleNamedResource).Name = Data.Strings.MakeString(newName); if (obj is UndertaleRoom) { (obj as UndertaleRoom).Caption = Data.Strings.MakeString(""); @@ -2065,7 +2074,7 @@ private void MenuItem_Add_Click(object sender, RoutedEventArgs e) { UndertaleCode code = new UndertaleCode(); string prefix = Data.IsVersionAtLeast(2, 3) ? "gml_GlobalScript_" : "gml_Script_"; - code.Name = Data.Strings.MakeString(prefix + newname); + code.Name = Data.Strings.MakeString(prefix + newName); Data.Code.Add(code); if (Data?.GeneralInfo.BytecodeVersion > 14) { @@ -2080,7 +2089,7 @@ private void MenuItem_Add_Click(object sender, RoutedEventArgs e) } (obj as UndertaleScript).Code = code; } - if ((obj is UndertaleCode) && (Data?.GeneralInfo.BytecodeVersion > 14)) + if ((obj is UndertaleCode) && (Data.GeneralInfo.BytecodeVersion > 14)) { UndertaleCodeLocals locals = new UndertaleCodeLocals(); locals.Name = (obj as UndertaleCode).Name;