diff --git a/Assets/App.png b/Assets/App.png new file mode 100644 index 0000000..50720a5 Binary files /dev/null and b/Assets/App.png differ diff --git a/BallanceTASEditor.sln b/BallanceTASEditor.sln index a85ad1a..4625436 100644 --- a/BallanceTASEditor.sln +++ b/BallanceTASEditor.sln @@ -1,11 +1,11 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29418.71 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36414.22 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BallanceTASEditor", "BallanceTASEditor\BallanceTASEditor.csproj", "{3127A635-B9E5-4C78-8414-0B9B196EC25E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BallanceTasEditor", "BallanceTasEditor\BallanceTasEditor.csproj", "{DD898514-03ED-4257-AFD1-290EEDF68113}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BallanceTASEditorTests", "BallanceTASEditorTests\BallanceTASEditorTests.csproj", "{EC35111D-6259-4C69-B7E4-F4E727AC0E1A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BallanceTasEditorTest", "BallanceTasEditorTest\BallanceTasEditorTest.csproj", "{1DC1A8CD-E963-4FF8-91D9-059522419961}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -13,19 +13,19 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {3127A635-B9E5-4C78-8414-0B9B196EC25E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3127A635-B9E5-4C78-8414-0B9B196EC25E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3127A635-B9E5-4C78-8414-0B9B196EC25E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3127A635-B9E5-4C78-8414-0B9B196EC25E}.Release|Any CPU.Build.0 = Release|Any CPU - {EC35111D-6259-4C69-B7E4-F4E727AC0E1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EC35111D-6259-4C69-B7E4-F4E727AC0E1A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EC35111D-6259-4C69-B7E4-F4E727AC0E1A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EC35111D-6259-4C69-B7E4-F4E727AC0E1A}.Release|Any CPU.Build.0 = Release|Any CPU + {DD898514-03ED-4257-AFD1-290EEDF68113}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DD898514-03ED-4257-AFD1-290EEDF68113}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DD898514-03ED-4257-AFD1-290EEDF68113}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DD898514-03ED-4257-AFD1-290EEDF68113}.Release|Any CPU.Build.0 = Release|Any CPU + {1DC1A8CD-E963-4FF8-91D9-059522419961}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1DC1A8CD-E963-4FF8-91D9-059522419961}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1DC1A8CD-E963-4FF8-91D9-059522419961}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1DC1A8CD-E963-4FF8-91D9-059522419961}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {ABECA811-4FBB-4394-805E-EEBC799ECC89} + SolutionGuid = {5A4468A2-79ED-47F3-80FE-299A89DE9D0E} EndGlobalSection EndGlobal diff --git a/BallanceTASEditor/icon.ico b/BallanceTASEditor/App.ico similarity index 100% rename from BallanceTASEditor/icon.ico rename to BallanceTASEditor/App.ico diff --git a/BallanceTASEditor/App.xaml b/BallanceTASEditor/App.xaml index 949af02..fb35fae 100644 --- a/BallanceTASEditor/App.xaml +++ b/BallanceTASEditor/App.xaml @@ -1,14 +1,9 @@ - + xmlns:local="clr-namespace:BallanceTasEditor" + StartupUri="Views/MainWindow.xaml"> - - - - - - + diff --git a/BallanceTASEditor/App.xaml.cs b/BallanceTASEditor/App.xaml.cs index 44802ae..1e5aed7 100644 --- a/BallanceTASEditor/App.xaml.cs +++ b/BallanceTASEditor/App.xaml.cs @@ -2,80 +2,14 @@ using System.Collections.Generic; using System.Configuration; using System.Data; -using System.Globalization; -using System.IO; using System.Linq; -using System.Text; +using System.Threading.Tasks; using System.Windows; -namespace BallanceTASEditor { +namespace BallanceTasEditor { /// - /// App.xaml 的交互逻辑 + /// Interaction logic for App.xaml /// public partial class App : Application { - - protected override void OnStartup(StartupEventArgs e) { - base.OnStartup(e); - -#if DEBUG -#else - AppDomain.CurrentDomain.UnhandledException += (sender, ex) => { - if (ex.ExceptionObject is System.Exception) { - var exx = (System.Exception)ex.ExceptionObject; - UncatchedErrorHandle(exx.Message, exx.StackTrace); - } - }; -#endif - - // init configure manager - GlobalVariable.configManager = new Core.ConfigManager("ballance-tas-editor.cfg", new Dictionary() { - {Core.ConfigManager.CfgNode_Language, CultureInfo.CurrentCulture.ThreeLetterWindowsLanguageName}, - {Core.ConfigManager.CfgNode_ItemCount, "15"}, - {Core.ConfigManager.CfgNode_IsHorizonLayout, "True"}, - {Core.ConfigManager.CfgNode_IsOverwrittenPaste, "False"} - }); - - // init i18n - Core.I18NProcessor.ChangeLanguage(GlobalVariable.configManager.Configuration[Core.ConfigManager.CfgNode_Language]); - - } - - protected override void OnExit(ExitEventArgs e) { - base.OnExit(e); - - GlobalVariable.configManager.Save(); - } - - private void UncatchedErrorHandle(string message, string stackTrace) { - try { - if (!Directory.Exists("./logs")) - Directory.CreateDirectory("./logs"); - - int counter = 1; - var filename = ""; - var datetime = DateTime.Now; - while (true) { - filename = $"./logs/crash-{datetime.ToString("yyyyMMddHHmmss")}-{counter.ToString().PadLeft(2, '0')}.log"; - if (!File.Exists(filename)) break; - } - - var fs = new StreamWriter(filename, false, Encoding.UTF8); - fs.WriteLine("[SYS][ERROR] FATAL ERROR !"); - fs.WriteLine(message); - fs.WriteLine(stackTrace); - fs.Close(); - fs.Dispose(); - } catch { - ;//skip - } - - MessageBox.Show("A fatal error occurs. The application should exit. Please send the error log, reproduce step and corresponding TAS file(if possible) to developer to help fixing this problem.", - "Ballance TAS Editor", - MessageBoxButton.OK, MessageBoxImage.Error - ); - App.Current.Shutdown(); - } - - } } diff --git a/BallanceTASEditor/Assets/App.ico b/BallanceTASEditor/Assets/App.ico new file mode 100644 index 0000000..95ad06c Binary files /dev/null and b/BallanceTASEditor/Assets/App.ico differ diff --git a/BallanceTASEditor/BallanceTASEditor.csproj b/BallanceTASEditor/BallanceTASEditor.csproj index d4c1b74..cc6e093 100644 --- a/BallanceTASEditor/BallanceTASEditor.csproj +++ b/BallanceTASEditor/BallanceTASEditor.csproj @@ -1,19 +1,21 @@ - + Debug AnyCPU - {3127A635-B9E5-4C78-8414-0B9B196EC25E} + {DD898514-03ED-4257-AFD1-290EEDF68113} WinExe - BallanceTASEditor - BallanceTASEditor - v4.5 + BallanceTasEditor + BallanceTasEditor + v4.8 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 + true true - + + AnyCPU @@ -24,7 +26,6 @@ DEBUG;TRACE prompt 4 - false AnyCPU @@ -34,26 +35,48 @@ TRACE prompt 4 - false - icon.ico + App.ico + + ..\packages\CommunityToolkit.Mvvm.8.2.1\lib\netstandard2.0\CommunityToolkit.Mvvm.dll + ..\packages\DotNetZip.1.9.1.8\lib\net20\Ionic.Zip.dll - - - ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll + + ..\packages\Microsoft.Bcl.AsyncInterfaces.7.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + ..\packages\System.ComponentModel.Annotations.5.0.0\lib\net461\System.ComponentModel.Annotations.dll + + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + 4.0 @@ -66,32 +89,7 @@ MSBuild:Compile Designer - - - - - - - - - AddItem.xaml - - - - - - - - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - + MSBuild:Compile Designer @@ -99,19 +97,11 @@ App.xaml Code - - - - - - + + MainWindow.xaml Code - - Designer - MSBuild:Compile - @@ -131,7 +121,6 @@ ResXFileCodeGenerator Resources.Designer.cs - SettingsSingleFileGenerator @@ -139,7 +128,24 @@ - + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + \ No newline at end of file diff --git a/BallanceTASEditor/Properties/AssemblyInfo.cs b/BallanceTASEditor/Properties/AssemblyInfo.cs index a036f2f..d6243a2 100644 --- a/BallanceTASEditor/Properties/AssemblyInfo.cs +++ b/BallanceTASEditor/Properties/AssemblyInfo.cs @@ -4,52 +4,49 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Windows; -// 有关程序集的一般信息由以下 -// 控制。更改这些特性值可修改 -// 与程序集关联的信息。 -[assembly: AssemblyTitle("Ballance TAS Editor")] -[assembly: AssemblyDescription("Ballance TAS Editor")] +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("BallanceTasEditor")] +[assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Ballance Community")] -[assembly: AssemblyProduct("Ballance TAS Editor")] -[assembly: AssemblyCopyright("Copyright © Ballance Community 2022")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("BallanceTasEditor")] +[assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] -// 将 ComVisible 设置为 false 会使此程序集中的类型 -//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 -//请将此类型的 ComVisible 特性设置为 true。 +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] -//若要开始生成可本地化的应用程序,请设置 -//.csproj 文件中的 CultureYouAreCodingWith -//例如,如果您在源文件中使用的是美国英语, -//使用的是美国英语,请将 设置为 en-US。 然后取消 -//对以下 NeutralResourceLanguage 特性的注释。 更新 -//以下行中的“en-US”以匹配项目文件中的 UICulture 设置。 +//In order to begin building localizable applications, set +//CultureYouAreCodingWith in your .csproj file +//inside a . For example, if you are using US english +//in your source files, set the to en-US. Then uncomment +//the NeutralResourceLanguage attribute below. Update the "en-US" in +//the line below to match the UICulture setting in the project file. //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] [assembly: ThemeInfo( - ResourceDictionaryLocation.None, //主题特定资源词典所处位置 - //(未在页面中找到资源时使用, - //或应用程序资源字典中找到时使用) - ResourceDictionaryLocation.SourceAssembly //常规资源词典所处位置 - //(未在页面中找到资源时使用, - //、应用程序或任何主题专用资源字典中找到时使用) + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) )] -// 程序集的版本信息由下列四个值组成: +// Version information for an assembly consists of the following four values: // -// 主版本 -// 次版本 -// 生成号 -// 修订号 +// Major Version +// Minor Version +// Build Number +// Revision // -//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 -//通过使用 "*",如下所示: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.1.0.0")] -[assembly: AssemblyFileVersion("1.1.0.0")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/BallanceTASEditor/Properties/Resources.Designer.cs b/BallanceTASEditor/Properties/Resources.Designer.cs index 1803682..a4d2b22 100644 --- a/BallanceTASEditor/Properties/Resources.Designer.cs +++ b/BallanceTASEditor/Properties/Resources.Designer.cs @@ -1,54 +1,53 @@ //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ -namespace BallanceTASEditor.Properties { - using System; - - +namespace BallanceTasEditor.Properties { + + /// - /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// A strongly-typed resource class, for looking up localized strings, etc. /// - // 此类是由 StronglyTypedResourceBuilder - // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 - // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen - // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { - + private static global::System.Resources.ResourceManager resourceMan; - + private static global::System.Globalization.CultureInfo resourceCulture; - + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Resources() { } - + /// - /// 返回此类使用的缓存的 ResourceManager 实例。 + /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BallanceTASEditor.Properties.Resources", typeof(Resources).Assembly); + if ((resourceMan == null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BallanceTasEditor.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } - + /// - /// 重写当前线程的 CurrentUICulture 属性 - /// 重写当前线程的 CurrentUICulture 属性。 + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { diff --git a/BallanceTASEditor/Properties/Settings.Designer.cs b/BallanceTASEditor/Properties/Settings.Designer.cs index 5ad972c..33a702d 100644 --- a/BallanceTASEditor/Properties/Settings.Designer.cs +++ b/BallanceTASEditor/Properties/Settings.Designer.cs @@ -1,22 +1,22 @@ //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ -namespace BallanceTASEditor.Properties { - - +namespace BallanceTasEditor.Properties { + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - + public static Settings Default { get { return defaultInstance; diff --git a/BallanceTASEditor/Utils/TasFrame.cs b/BallanceTASEditor/Utils/TasFrame.cs new file mode 100644 index 0000000..ff56f21 --- /dev/null +++ b/BallanceTASEditor/Utils/TasFrame.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace BallanceTasEditor.Utils { + + /// + /// 描述TAS文件中一帧的结构。 + /// + [StructLayout(LayoutKind.Sequential)] + public struct TasFrame { + /// + /// 该帧的持续时间(以秒为单位)。 + /// + public float TimeDelta; + /// + /// 该帧的按键组合。 + /// + public uint KeyFlags; + + /// + /// 判断按键是否被按下。 + /// + /// 要检查的按键。 + /// true表示被按下,否则为false。 + public bool IsKeyPressed(TasKey key) { + return (KeyFlags & (1u << (int)key)) != 0; + } + + /// + /// 设置按键状态。 + /// + /// 要设置的按键。 + /// true表示设置为按下,否则为松开。 + public void SetKeyPressed(TasKey key, bool pressed = true) { + if (pressed) KeyFlags |= (1u << (int)key); + else KeyFlags &= ~(1u << (int)key); + } + + /// + /// 反转按键状态。 + /// + /// 要反转的按键。 + public void FlipKeyPressed(TasKey key) { + KeyFlags ^= (1u << (int)key); + } + + /// + /// 获取或设置Up键的按下状态。 + /// + public bool KeyUpPressed { get { return IsKeyPressed(TasKey.KeyUp); } set { SetKeyPressed(TasKey.KeyUp, value); } } + /// + /// 获取或设置Down键的按下状态。 + /// + public bool KeyDownPressed { get { return IsKeyPressed(TasKey.KeyDown); } set { SetKeyPressed(TasKey.KeyDown, value); } } + /// + /// 获取或设置Left键的按下状态。 + /// + public bool KeyLeftPressed { get { return IsKeyPressed(TasKey.KeyLeft); } set { SetKeyPressed(TasKey.KeyLeft, value); } } + /// + /// 获取或设置Right键的按下状态。 + /// + public bool KeyRightPressed { get { return IsKeyPressed(TasKey.KeyRight); } set { SetKeyPressed(TasKey.KeyRight, value); } } + /// + /// 获取或设置Shift键的按下状态。 + /// + public bool KeyShiftPressed { get { return IsKeyPressed(TasKey.KeyShift); } set { SetKeyPressed(TasKey.KeyShift, value); } } + /// + /// 获取或设置Space键的按下状态。 + /// + public bool KeySpacePressed { get { return IsKeyPressed(TasKey.KeySpace); } set { SetKeyPressed(TasKey.KeySpace, value); } } + /// + /// 获取或设置Q键的按下状态。 + /// + public bool KeyQPressed { get { return IsKeyPressed(TasKey.KeyQ); } set { SetKeyPressed(TasKey.KeyQ, value); } } + /// + /// 获取或设置Esc键的按下状态。 + /// + public bool KeyEscPressed { get { return IsKeyPressed(TasKey.KeyEsc); } set { SetKeyPressed(TasKey.KeyEsc, value); } } + /// + /// 获取或设置回车键的按下状态。 + /// + public bool KeyEnterPressed { get { return IsKeyPressed(TasKey.KeyEnter); } set { SetKeyPressed(TasKey.KeyEnter, value); } } + + } + + /// + /// 描述TAS文件中的可能的按键。 + /// + public enum TasKey : int { + KeyUp = 0, + KeyDown = 1, + KeyLeft = 2, + KeyRight = 3, + KeyShift = 4, + KeySpace = 5, + KeyQ = 6, + KeyEsc = 7, + KeyEnter = 8, + } + +} diff --git a/BallanceTASEditor/Views/MainWindow.xaml b/BallanceTASEditor/Views/MainWindow.xaml new file mode 100644 index 0000000..a77d267 --- /dev/null +++ b/BallanceTASEditor/Views/MainWindow.xaml @@ -0,0 +1,12 @@ + + + + + diff --git a/BallanceTASEditor/Views/MainWindow.xaml.cs b/BallanceTASEditor/Views/MainWindow.xaml.cs new file mode 100644 index 0000000..d3892bf --- /dev/null +++ b/BallanceTASEditor/Views/MainWindow.xaml.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace BallanceTasEditor.Views { + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : Window { + public MainWindow() { + InitializeComponent(); + } + } +} diff --git a/BallanceTASEditor/app.config b/BallanceTASEditor/app.config index 51278a4..7c4b745 100644 --- a/BallanceTASEditor/app.config +++ b/BallanceTASEditor/app.config @@ -1,3 +1,22 @@ - + - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BallanceTASEditor/packages.config b/BallanceTASEditor/packages.config index 0f8f05a..3cbb11b 100644 --- a/BallanceTASEditor/packages.config +++ b/BallanceTASEditor/packages.config @@ -1,5 +1,12 @@  - - + + + + + + + + + \ No newline at end of file diff --git a/BallanceTasEditorTest/BallanceTasEditorTest.csproj b/BallanceTasEditorTest/BallanceTasEditorTest.csproj new file mode 100644 index 0000000..2f059d8 --- /dev/null +++ b/BallanceTasEditorTest/BallanceTasEditorTest.csproj @@ -0,0 +1,74 @@ + + + + + + Debug + AnyCPU + {1DC1A8CD-E963-4FF8-91D9-059522419961} + Library + Properties + BallanceTasEditorTest + BallanceTasEditorTest + v4.8 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\MSTest.TestFramework.2.2.10\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + + + ..\packages\MSTest.TestFramework.2.2.10\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + + + + + + + + + + + + + + {dd898514-03ed-4257-afd1-290eedf68113} + BallanceTasEditor + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + \ No newline at end of file diff --git a/BallanceTasEditorTest/Properties/AssemblyInfo.cs b/BallanceTasEditorTest/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..4363650 --- /dev/null +++ b/BallanceTasEditorTest/Properties/AssemblyInfo.cs @@ -0,0 +1,20 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("BallanceTasEditorTest")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("BallanceTasEditorTest")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] + +[assembly: Guid("1dc1a8cd-e963-4ff8-91d9-059522419961")] + +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/BallanceTasEditorTest/UnitTest1.cs b/BallanceTasEditorTest/UnitTest1.cs new file mode 100644 index 0000000..59ed8e9 --- /dev/null +++ b/BallanceTasEditorTest/UnitTest1.cs @@ -0,0 +1,11 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; + +namespace BallanceTasEditorTest { + [TestClass] + public class UnitTest1 { + [TestMethod] + public void TestMethod1() { + } + } +} diff --git a/BallanceTasEditorTest/packages.config b/BallanceTasEditorTest/packages.config new file mode 100644 index 0000000..2369fb2 --- /dev/null +++ b/BallanceTasEditorTest/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Legacy/BallanceTASEditor.sln b/Legacy/BallanceTASEditor.sln new file mode 100644 index 0000000..a85ad1a --- /dev/null +++ b/Legacy/BallanceTASEditor.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29418.71 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BallanceTASEditor", "BallanceTASEditor\BallanceTASEditor.csproj", "{3127A635-B9E5-4C78-8414-0B9B196EC25E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BallanceTASEditorTests", "BallanceTASEditorTests\BallanceTASEditorTests.csproj", "{EC35111D-6259-4C69-B7E4-F4E727AC0E1A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3127A635-B9E5-4C78-8414-0B9B196EC25E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3127A635-B9E5-4C78-8414-0B9B196EC25E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3127A635-B9E5-4C78-8414-0B9B196EC25E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3127A635-B9E5-4C78-8414-0B9B196EC25E}.Release|Any CPU.Build.0 = Release|Any CPU + {EC35111D-6259-4C69-B7E4-F4E727AC0E1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EC35111D-6259-4C69-B7E4-F4E727AC0E1A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EC35111D-6259-4C69-B7E4-F4E727AC0E1A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EC35111D-6259-4C69-B7E4-F4E727AC0E1A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {ABECA811-4FBB-4394-805E-EEBC799ECC89} + EndGlobalSection +EndGlobal diff --git a/Legacy/BallanceTASEditor/App.xaml b/Legacy/BallanceTASEditor/App.xaml new file mode 100644 index 0000000..949af02 --- /dev/null +++ b/Legacy/BallanceTASEditor/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/Legacy/BallanceTASEditor/App.xaml.cs b/Legacy/BallanceTASEditor/App.xaml.cs new file mode 100644 index 0000000..44802ae --- /dev/null +++ b/Legacy/BallanceTASEditor/App.xaml.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using System.Windows; + +namespace BallanceTASEditor { + /// + /// App.xaml 的交互逻辑 + /// + public partial class App : Application { + + protected override void OnStartup(StartupEventArgs e) { + base.OnStartup(e); + +#if DEBUG +#else + AppDomain.CurrentDomain.UnhandledException += (sender, ex) => { + if (ex.ExceptionObject is System.Exception) { + var exx = (System.Exception)ex.ExceptionObject; + UncatchedErrorHandle(exx.Message, exx.StackTrace); + } + }; +#endif + + // init configure manager + GlobalVariable.configManager = new Core.ConfigManager("ballance-tas-editor.cfg", new Dictionary() { + {Core.ConfigManager.CfgNode_Language, CultureInfo.CurrentCulture.ThreeLetterWindowsLanguageName}, + {Core.ConfigManager.CfgNode_ItemCount, "15"}, + {Core.ConfigManager.CfgNode_IsHorizonLayout, "True"}, + {Core.ConfigManager.CfgNode_IsOverwrittenPaste, "False"} + }); + + // init i18n + Core.I18NProcessor.ChangeLanguage(GlobalVariable.configManager.Configuration[Core.ConfigManager.CfgNode_Language]); + + } + + protected override void OnExit(ExitEventArgs e) { + base.OnExit(e); + + GlobalVariable.configManager.Save(); + } + + private void UncatchedErrorHandle(string message, string stackTrace) { + try { + if (!Directory.Exists("./logs")) + Directory.CreateDirectory("./logs"); + + int counter = 1; + var filename = ""; + var datetime = DateTime.Now; + while (true) { + filename = $"./logs/crash-{datetime.ToString("yyyyMMddHHmmss")}-{counter.ToString().PadLeft(2, '0')}.log"; + if (!File.Exists(filename)) break; + } + + var fs = new StreamWriter(filename, false, Encoding.UTF8); + fs.WriteLine("[SYS][ERROR] FATAL ERROR !"); + fs.WriteLine(message); + fs.WriteLine(stackTrace); + fs.Close(); + fs.Dispose(); + } catch { + ;//skip + } + + MessageBox.Show("A fatal error occurs. The application should exit. Please send the error log, reproduce step and corresponding TAS file(if possible) to developer to help fixing this problem.", + "Ballance TAS Editor", + MessageBoxButton.OK, MessageBoxImage.Error + ); + App.Current.Shutdown(); + } + + + } +} diff --git a/Legacy/BallanceTASEditor/BallanceTASEditor.csproj b/Legacy/BallanceTASEditor/BallanceTASEditor.csproj new file mode 100644 index 0000000..d4c1b74 --- /dev/null +++ b/Legacy/BallanceTASEditor/BallanceTASEditor.csproj @@ -0,0 +1,145 @@ + + + + + Debug + AnyCPU + {3127A635-B9E5-4C78-8414-0B9B196EC25E} + WinExe + BallanceTASEditor + BallanceTASEditor + v4.5 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + true + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + icon.ico + + + + ..\packages\DotNetZip.1.9.1.8\lib\net20\Ionic.Zip.dll + + + + ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll + + + + + + + + + + 4.0 + + + + + + + + MSBuild:Compile + Designer + + + + + + + + + + AddItem.xaml + + + + + + + + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + App.xaml + Code + + + + + + + + MainWindow.xaml + Code + + + Designer + MSBuild:Compile + + + + + Code + + + True + True + Resources.resx + + + True + Settings.settings + True + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + \ No newline at end of file diff --git a/BallanceTASEditor/Core/ClipboardUtil.cs b/Legacy/BallanceTASEditor/Core/ClipboardUtil.cs similarity index 100% rename from BallanceTASEditor/Core/ClipboardUtil.cs rename to Legacy/BallanceTASEditor/Core/ClipboardUtil.cs diff --git a/BallanceTASEditor/Core/ConfigManager.cs b/Legacy/BallanceTASEditor/Core/ConfigManager.cs similarity index 100% rename from BallanceTASEditor/Core/ConfigManager.cs rename to Legacy/BallanceTASEditor/Core/ConfigManager.cs diff --git a/BallanceTASEditor/Core/FileOperation.cs b/Legacy/BallanceTASEditor/Core/FileOperation.cs similarity index 100% rename from BallanceTASEditor/Core/FileOperation.cs rename to Legacy/BallanceTASEditor/Core/FileOperation.cs diff --git a/BallanceTASEditor/Core/I18NProcessor.cs b/Legacy/BallanceTASEditor/Core/I18NProcessor.cs similarity index 100% rename from BallanceTASEditor/Core/I18NProcessor.cs rename to Legacy/BallanceTASEditor/Core/I18NProcessor.cs diff --git a/BallanceTASEditor/Core/KeyboardState.cs b/Legacy/BallanceTASEditor/Core/KeyboardState.cs similarity index 100% rename from BallanceTASEditor/Core/KeyboardState.cs rename to Legacy/BallanceTASEditor/Core/KeyboardState.cs diff --git a/BallanceTASEditor/Core/LimitedStack.cs b/Legacy/BallanceTASEditor/Core/LimitedStack.cs similarity index 100% rename from BallanceTASEditor/Core/LimitedStack.cs rename to Legacy/BallanceTASEditor/Core/LimitedStack.cs diff --git a/BallanceTASEditor/Core/TASFile.cs b/Legacy/BallanceTASEditor/Core/TASFile.cs similarity index 100% rename from BallanceTASEditor/Core/TASFile.cs rename to Legacy/BallanceTASEditor/Core/TASFile.cs diff --git a/BallanceTASEditor/Core/TASStruct.cs b/Legacy/BallanceTASEditor/Core/TASStruct.cs similarity index 100% rename from BallanceTASEditor/Core/TASStruct.cs rename to Legacy/BallanceTASEditor/Core/TASStruct.cs diff --git a/BallanceTASEditor/Core/Util.cs b/Legacy/BallanceTASEditor/Core/Util.cs similarity index 100% rename from BallanceTASEditor/Core/Util.cs rename to Legacy/BallanceTASEditor/Core/Util.cs diff --git a/BallanceTASEditor/Core/ZlibUtil.cs b/Legacy/BallanceTASEditor/Core/ZlibUtil.cs similarity index 100% rename from BallanceTASEditor/Core/ZlibUtil.cs rename to Legacy/BallanceTASEditor/Core/ZlibUtil.cs diff --git a/BallanceTASEditor/GlobalVariable.cs b/Legacy/BallanceTASEditor/GlobalVariable.cs similarity index 100% rename from BallanceTASEditor/GlobalVariable.cs rename to Legacy/BallanceTASEditor/GlobalVariable.cs diff --git a/BallanceTASEditor/Language/CHS.xaml b/Legacy/BallanceTASEditor/Language/CHS.xaml similarity index 100% rename from BallanceTASEditor/Language/CHS.xaml rename to Legacy/BallanceTASEditor/Language/CHS.xaml diff --git a/BallanceTASEditor/Language/DefaultLanguage.xaml b/Legacy/BallanceTASEditor/Language/DefaultLanguage.xaml similarity index 100% rename from BallanceTASEditor/Language/DefaultLanguage.xaml rename to Legacy/BallanceTASEditor/Language/DefaultLanguage.xaml diff --git a/BallanceTASEditor/MainWindow.xaml b/Legacy/BallanceTASEditor/MainWindow.xaml similarity index 100% rename from BallanceTASEditor/MainWindow.xaml rename to Legacy/BallanceTASEditor/MainWindow.xaml diff --git a/BallanceTASEditor/MainWindow.xaml.cs b/Legacy/BallanceTASEditor/MainWindow.xaml.cs similarity index 100% rename from BallanceTASEditor/MainWindow.xaml.cs rename to Legacy/BallanceTASEditor/MainWindow.xaml.cs diff --git a/Legacy/BallanceTASEditor/Properties/AssemblyInfo.cs b/Legacy/BallanceTASEditor/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..a036f2f --- /dev/null +++ b/Legacy/BallanceTASEditor/Properties/AssemblyInfo.cs @@ -0,0 +1,55 @@ +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Windows; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("Ballance TAS Editor")] +[assembly: AssemblyDescription("Ballance TAS Editor")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Ballance Community")] +[assembly: AssemblyProduct("Ballance TAS Editor")] +[assembly: AssemblyCopyright("Copyright © Ballance Community 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +//若要开始生成可本地化的应用程序,请设置 +//.csproj 文件中的 CultureYouAreCodingWith +//例如,如果您在源文件中使用的是美国英语, +//使用的是美国英语,请将 设置为 en-US。 然后取消 +//对以下 NeutralResourceLanguage 特性的注释。 更新 +//以下行中的“en-US”以匹配项目文件中的 UICulture 设置。 + +//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] + + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //主题特定资源词典所处位置 + //(未在页面中找到资源时使用, + //或应用程序资源字典中找到时使用) + ResourceDictionaryLocation.SourceAssembly //常规资源词典所处位置 + //(未在页面中找到资源时使用, + //、应用程序或任何主题专用资源字典中找到时使用) +)] + + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.1.0.0")] +[assembly: AssemblyFileVersion("1.1.0.0")] diff --git a/Legacy/BallanceTASEditor/Properties/Resources.Designer.cs b/Legacy/BallanceTASEditor/Properties/Resources.Designer.cs new file mode 100644 index 0000000..1803682 --- /dev/null +++ b/Legacy/BallanceTASEditor/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace BallanceTASEditor.Properties { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BallanceTASEditor.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 重写当前线程的 CurrentUICulture 属性 + /// 重写当前线程的 CurrentUICulture 属性。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/Legacy/BallanceTASEditor/Properties/Resources.resx b/Legacy/BallanceTASEditor/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Legacy/BallanceTASEditor/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Legacy/BallanceTASEditor/Properties/Settings.Designer.cs b/Legacy/BallanceTASEditor/Properties/Settings.Designer.cs new file mode 100644 index 0000000..5ad972c --- /dev/null +++ b/Legacy/BallanceTASEditor/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace BallanceTASEditor.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/Legacy/BallanceTASEditor/Properties/Settings.settings b/Legacy/BallanceTASEditor/Properties/Settings.settings new file mode 100644 index 0000000..033d7a5 --- /dev/null +++ b/Legacy/BallanceTASEditor/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/BallanceTASEditor/UI/AddItem.xaml b/Legacy/BallanceTASEditor/UI/AddItem.xaml similarity index 100% rename from BallanceTASEditor/UI/AddItem.xaml rename to Legacy/BallanceTASEditor/UI/AddItem.xaml diff --git a/BallanceTASEditor/UI/AddItem.xaml.cs b/Legacy/BallanceTASEditor/UI/AddItem.xaml.cs similarity index 100% rename from BallanceTASEditor/UI/AddItem.xaml.cs rename to Legacy/BallanceTASEditor/UI/AddItem.xaml.cs diff --git a/BallanceTASEditor/UI/DialogUtil.cs b/Legacy/BallanceTASEditor/UI/DialogUtil.cs similarity index 100% rename from BallanceTASEditor/UI/DialogUtil.cs rename to Legacy/BallanceTASEditor/UI/DialogUtil.cs diff --git a/BallanceTASEditor/UI/OperationEnum.cs b/Legacy/BallanceTASEditor/UI/OperationEnum.cs similarity index 100% rename from BallanceTASEditor/UI/OperationEnum.cs rename to Legacy/BallanceTASEditor/UI/OperationEnum.cs diff --git a/BallanceTASEditor/UI/SelectionHelp.cs b/Legacy/BallanceTASEditor/UI/SelectionHelp.cs similarity index 100% rename from BallanceTASEditor/UI/SelectionHelp.cs rename to Legacy/BallanceTASEditor/UI/SelectionHelp.cs diff --git a/BallanceTASEditor/UI/StyleConverter.cs b/Legacy/BallanceTASEditor/UI/StyleConverter.cs similarity index 100% rename from BallanceTASEditor/UI/StyleConverter.cs rename to Legacy/BallanceTASEditor/UI/StyleConverter.cs diff --git a/BallanceTASEditor/UI/TASFlow.cs b/Legacy/BallanceTASEditor/UI/TASFlow.cs similarity index 100% rename from BallanceTASEditor/UI/TASFlow.cs rename to Legacy/BallanceTASEditor/UI/TASFlow.cs diff --git a/BallanceTASEditor/UI/TASSlider.cs b/Legacy/BallanceTASEditor/UI/TASSlider.cs similarity index 100% rename from BallanceTASEditor/UI/TASSlider.cs rename to Legacy/BallanceTASEditor/UI/TASSlider.cs diff --git a/BallanceTASEditor/UI/TASViewer.cs b/Legacy/BallanceTASEditor/UI/TASViewer.cs similarity index 100% rename from BallanceTASEditor/UI/TASViewer.cs rename to Legacy/BallanceTASEditor/UI/TASViewer.cs diff --git a/BallanceTASEditor/UI/Util.cs b/Legacy/BallanceTASEditor/UI/Util.cs similarity index 100% rename from BallanceTASEditor/UI/Util.cs rename to Legacy/BallanceTASEditor/UI/Util.cs diff --git a/Legacy/BallanceTASEditor/app.config b/Legacy/BallanceTASEditor/app.config new file mode 100644 index 0000000..51278a4 --- /dev/null +++ b/Legacy/BallanceTASEditor/app.config @@ -0,0 +1,3 @@ + + + diff --git a/Legacy/BallanceTASEditor/icon.ico b/Legacy/BallanceTASEditor/icon.ico new file mode 100644 index 0000000..07673cf Binary files /dev/null and b/Legacy/BallanceTASEditor/icon.ico differ diff --git a/Legacy/BallanceTASEditor/packages.config b/Legacy/BallanceTASEditor/packages.config new file mode 100644 index 0000000..0f8f05a --- /dev/null +++ b/Legacy/BallanceTASEditor/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/BallanceTASEditorTests/BallanceTASEditorTests.csproj b/Legacy/BallanceTASEditorTests/BallanceTASEditorTests.csproj similarity index 100% rename from BallanceTASEditorTests/BallanceTASEditorTests.csproj rename to Legacy/BallanceTASEditorTests/BallanceTASEditorTests.csproj diff --git a/BallanceTASEditorTests/Core/TASFileTests.cs b/Legacy/BallanceTASEditorTests/Core/TASFileTests.cs similarity index 100% rename from BallanceTASEditorTests/Core/TASFileTests.cs rename to Legacy/BallanceTASEditorTests/Core/TASFileTests.cs diff --git a/BallanceTASEditorTests/Properties/AssemblyInfo.cs b/Legacy/BallanceTASEditorTests/Properties/AssemblyInfo.cs similarity index 100% rename from BallanceTASEditorTests/Properties/AssemblyInfo.cs rename to Legacy/BallanceTASEditorTests/Properties/AssemblyInfo.cs diff --git a/BallanceTASEditorTests/packages.config b/Legacy/BallanceTASEditorTests/packages.config similarity index 100% rename from BallanceTASEditorTests/packages.config rename to Legacy/BallanceTASEditorTests/packages.config