diff --git a/Launcher.Client.Avalonia/GUI/App.axaml b/Launcher.Client.Avalonia/GUI/App.axaml index 5e919fe..0c1146d 100644 --- a/Launcher.Client.Avalonia/GUI/App.axaml +++ b/Launcher.Client.Avalonia/GUI/App.axaml @@ -18,7 +18,13 @@ diff --git a/Launcher.Client.Avalonia/GUI/LauncherWindow.axaml b/Launcher.Client.Avalonia/GUI/LauncherWindow.axaml index 186e16a..9c2613b 100644 --- a/Launcher.Client.Avalonia/GUI/LauncherWindow.axaml +++ b/Launcher.Client.Avalonia/GUI/LauncherWindow.axaml @@ -8,7 +8,7 @@ MinWidth="800" MinHeight="500" Background="{DynamicResource MyBackgroundColor}"> - + typeof(Button); + public static readonly StyledProperty TabGridProp = AvaloniaProperty.Register("TabGrid"); public Grid TabGrid { get => GetValue(TabGridProp); set => SetValue(TabGridProp, value); } + + public TabButton() :base() {} } \ No newline at end of file diff --git a/Launcher.Client.Avalonia/Launcher.Client.Avalonia.csproj b/Launcher.Client.Avalonia/Launcher.Client.Avalonia.csproj index 1ad4f1c..f947b86 100644 --- a/Launcher.Client.Avalonia/Launcher.Client.Avalonia.csproj +++ b/Launcher.Client.Avalonia/Launcher.Client.Avalonia.csproj @@ -16,18 +16,18 @@ - - + + - + - - - - + + + + @@ -46,7 +46,7 @@ - + diff --git a/Launcher.Client.Avalonia/LauncherMain.cs b/Launcher.Client.Avalonia/LauncherMain.cs index 3f2deae..156340e 100644 --- a/Launcher.Client.Avalonia/LauncherMain.cs +++ b/Launcher.Client.Avalonia/LauncherMain.cs @@ -19,6 +19,7 @@ public static class LauncherMain { public static LauncherWindow CurrentLauncherWindow; + //it's being used by Avalonia xml preview public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure() .UsePlatformDetect() @@ -29,7 +30,6 @@ public static class LauncherMain try { LauncherClient.Init(); - var traceHandler = new ConsoleTraceListener(); Trace.AutoFlush = true; Trace.Listeners.Add(traceHandler); diff --git a/Launcher.Client.WPF/Launcher.Client.WPF.csproj b/Launcher.Client.WPF/Launcher.Client.WPF.csproj index 6e169a7..4a429a2 100644 --- a/Launcher.Client.WPF/Launcher.Client.WPF.csproj +++ b/Launcher.Client.WPF/Launcher.Client.WPF.csproj @@ -22,9 +22,9 @@ - - - + + + diff --git a/Launcher.Client/Launcher.Client.csproj b/Launcher.Client/Launcher.Client.csproj index c48f9b3..3f41749 100644 --- a/Launcher.Client/Launcher.Client.csproj +++ b/Launcher.Client/Launcher.Client.csproj @@ -1,5 +1,5 @@ - + net6.0 disable @@ -9,16 +9,19 @@ Debug;Release AnyCPU - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/Launcher.Client/LauncherClient.cs b/Launcher.Client/LauncherClient.cs index 636ae8b..6515387 100644 --- a/Launcher.Client/LauncherClient.cs +++ b/Launcher.Client/LauncherClient.cs @@ -20,6 +20,14 @@ public static class LauncherClient { Logger.Log("launcher starting..."); Config = new LauncherConfig(); +#if DEBUG + const string debug_assets = "debug_assets"; + foreach (string file in Directory.GetFiles(debug_assets)) + File.Copy(file, file.Remove(0, file.LastIndexOf(Путь.Разд) + 1), true); + foreach (string subdir in Directory.GetDirectories(debug_assets)) + Directory.Copy(subdir, subdir.Remove(0, subdir.LastIndexOf(Путь.Разд) + 1), true); + Directory.Delete(debug_assets); +#endif Directory.Create("descriptors"); Directory.Create("icons"); Directory.Create("backgrounds"); diff --git a/Launcher.Client/LauncherLogger.cs b/Launcher.Client/LauncherLogger.cs index 7943a7d..da26876 100644 --- a/Launcher.Client/LauncherLogger.cs +++ b/Launcher.Client/LauncherLogger.cs @@ -2,7 +2,7 @@ namespace Launcher.Client; -public class LauncherLogger : ConsoleLogger +public class LauncherLogger : FileLogger { public const string LogfileDir = "launcher-logs"; public LauncherLogger() : base(LogfileDir,"launcher-client") {} @@ -19,6 +19,7 @@ public class LauncherLogger : ConsoleLogger { base.Log(msg); StringBuilder strb = new(); + strb.Append('[').Append(LastLogMessageTime).Append("]: "); if (msg.Length == 1) strb.Append(msg[0]); else for (int i = 1; i < msg.Length; i += 2) strb.Append(msg[i]); diff --git a/Launcher.Client/Resources/default.descriptor.template b/Launcher.Client/Resources/default.descriptor.template index 876af23..e0b52c9 100644 --- a/Launcher.Client/Resources/default.descriptor.template +++ b/Launcher.Client/Resources/default.descriptor.template @@ -1,6 +1,7 @@ -name: ""; #label, which displays in launcher -directory: ""; #name of program' directory on server and client +#descriptor_version: 3; +name: ""; #label, which displays in launcher description: ""; #desctiption, which displays in launcher +directory: ""; #name of program directory on server and client icon: ""; #name of the icon file background: ""; #name of the background file launchcommand: ""; #command, which starts the program \ No newline at end of file diff --git a/Launcher.Client/debug_assets/backgrounds/conan_exiles_background.png b/Launcher.Client/debug_assets/backgrounds/conan_exiles_background.png new file mode 100644 index 0000000..7265fa4 Binary files /dev/null and b/Launcher.Client/debug_assets/backgrounds/conan_exiles_background.png differ diff --git a/Launcher.Client/debug_assets/backgrounds/divinity2devcut_background.jpg b/Launcher.Client/debug_assets/backgrounds/divinity2devcut_background.jpg new file mode 100644 index 0000000..545c9e9 Binary files /dev/null and b/Launcher.Client/debug_assets/backgrounds/divinity2devcut_background.jpg differ diff --git a/Launcher.Client/debug_assets/descriptors/conan_exiles.desc b/Launcher.Client/debug_assets/descriptors/conan_exiles.desc new file mode 100644 index 0000000..a29d4c4 --- /dev/null +++ b/Launcher.Client/debug_assets/descriptors/conan_exiles.desc @@ -0,0 +1,7 @@ +#descriptor_version: 3; +name: "Conan Exiles"; +description: "Сурвайвл на анриале в сеттинге Конана Варвара."; +directory: "conan_exiles"; +icon: "conan_exiles.png"; +background: "conan_exiles_background.png"; +launchcommand: "cmd /c echo hello && pause"; \ No newline at end of file diff --git a/Launcher.Client/debug_assets/descriptors/divinity2devcut.desc b/Launcher.Client/debug_assets/descriptors/divinity2devcut.desc new file mode 100644 index 0000000..183980f --- /dev/null +++ b/Launcher.Client/debug_assets/descriptors/divinity2devcut.desc @@ -0,0 +1,7 @@ +#descriptor_version: 3; +name: "Divinity 2 Developer's Cut"; +description: "РПГ от Larian. Вид от третьего лица, проработанный мир, интересная боёвка."; +directory: "divinity2_devcut"; +icon: "divinity2devcut.png"; +background: "divinity2devcut_background.jpg"; +launchcommand: ""; diff --git a/Launcher.Client/debug_assets/fonts/fontinst.exe b/Launcher.Client/debug_assets/fonts/fontinst.exe new file mode 100644 index 0000000..11b8fdd Binary files /dev/null and b/Launcher.Client/debug_assets/fonts/fontinst.exe differ diff --git a/Launcher.Client/debug_assets/fonts/fontinst.inf b/Launcher.Client/debug_assets/fonts/fontinst.inf new file mode 100644 index 0000000..1579dbd --- /dev/null +++ b/Launcher.Client/debug_assets/fonts/fontinst.inf @@ -0,0 +1,5 @@ +[fonts] +unispace.ttf +unispace_bd.ttf +unispace_it.ttf +unispace_bd_it.ttf \ No newline at end of file diff --git a/Launcher.Client/debug_assets/fonts/unispace.ttf b/Launcher.Client/debug_assets/fonts/unispace.ttf new file mode 100644 index 0000000..66284c3 Binary files /dev/null and b/Launcher.Client/debug_assets/fonts/unispace.ttf differ diff --git a/Launcher.Client/debug_assets/fonts/unispace_bd.ttf b/Launcher.Client/debug_assets/fonts/unispace_bd.ttf new file mode 100644 index 0000000..89a1aad Binary files /dev/null and b/Launcher.Client/debug_assets/fonts/unispace_bd.ttf differ diff --git a/Launcher.Client/debug_assets/fonts/unispace_bd_it.ttf b/Launcher.Client/debug_assets/fonts/unispace_bd_it.ttf new file mode 100644 index 0000000..b3b0816 Binary files /dev/null and b/Launcher.Client/debug_assets/fonts/unispace_bd_it.ttf differ diff --git a/Launcher.Client/debug_assets/fonts/unispace_it.ttf b/Launcher.Client/debug_assets/fonts/unispace_it.ttf new file mode 100644 index 0000000..1ce4ded Binary files /dev/null and b/Launcher.Client/debug_assets/fonts/unispace_it.ttf differ diff --git a/Launcher.Client/debug_assets/icons/conan_exiles.png b/Launcher.Client/debug_assets/icons/conan_exiles.png new file mode 100644 index 0000000..8b34969 Binary files /dev/null and b/Launcher.Client/debug_assets/icons/conan_exiles.png differ diff --git a/Launcher.Client/debug_assets/icons/divinity2devcut.png b/Launcher.Client/debug_assets/icons/divinity2devcut.png new file mode 100644 index 0000000..7c9bf4d Binary files /dev/null and b/Launcher.Client/debug_assets/icons/divinity2devcut.png differ diff --git a/Launcher.Server/Launcher.Server.csproj b/Launcher.Server/Launcher.Server.csproj index 964f1e2..80c9fea 100644 --- a/Launcher.Server/Launcher.Server.csproj +++ b/Launcher.Server/Launcher.Server.csproj @@ -12,9 +12,9 @@ - - - + + + diff --git a/dtlauncher.sln b/dtlauncher.sln index 6b5e35f..790d434 100644 --- a/dtlauncher.sln +++ b/dtlauncher.sln @@ -17,6 +17,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launcher.Client.Avalonia", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launcher.Client", "Launcher.Client\Launcher.Client.csproj", "{87427137-840D-4D09-A101-9481110682BD}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DTLib", "..\DTLib\DTLib\DTLib.csproj", "{E27F82A6-B58F-4C07-8DAB-F1556F24F5E0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DTLib.Dtsod", "..\DTLib\DTLib.Dtsod\DTLib.Dtsod.csproj", "{507C97A8-47ED-4271-952F-49883E508EA7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DTLib.Network", "..\DTLib\DTLib.Network\DTLib.Network.csproj", "{5F53F49F-FFEA-4C2E-B21D-8E11363EA969}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -39,6 +45,18 @@ Global {87427137-840D-4D09-A101-9481110682BD}.Debug|Any CPU.Build.0 = Debug|Any CPU {87427137-840D-4D09-A101-9481110682BD}.Release|Any CPU.ActiveCfg = Release|Any CPU {87427137-840D-4D09-A101-9481110682BD}.Release|Any CPU.Build.0 = Release|Any CPU + {E27F82A6-B58F-4C07-8DAB-F1556F24F5E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E27F82A6-B58F-4C07-8DAB-F1556F24F5E0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E27F82A6-B58F-4C07-8DAB-F1556F24F5E0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E27F82A6-B58F-4C07-8DAB-F1556F24F5E0}.Release|Any CPU.Build.0 = Release|Any CPU + {507C97A8-47ED-4271-952F-49883E508EA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {507C97A8-47ED-4271-952F-49883E508EA7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {507C97A8-47ED-4271-952F-49883E508EA7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {507C97A8-47ED-4271-952F-49883E508EA7}.Release|Any CPU.Build.0 = Release|Any CPU + {5F53F49F-FFEA-4C2E-B21D-8E11363EA969}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5F53F49F-FFEA-4C2E-B21D-8E11363EA969}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5F53F49F-FFEA-4C2E-B21D-8E11363EA969}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5F53F49F-FFEA-4C2E-B21D-8E11363EA969}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE